llvm-project/clang/lib/AST
Bruno Ricci 41d11c0e01 [AST] Widen the bit-fields of Stmt to 8 bytes.
Although some classes are using the tail padding of Stmt, most of
them are not. In particular the expression classes are not using it
since there is Expr in between, and Expr contains a single pointer.

This patch widen the bit-fields to Stmt to 8 bytes and move some
data from NullStmt, CompoundStmt, LabelStmt, AttributedStmt, SwitchStmt,
WhileStmt, DoStmt, ForStmt, GotoStmt, ContinueStmt, BreakStmt
and ReturnStmt to the newly available space.

In itself this patch do not achieve much but I plan to go through each of
the classes in the statement/expression hierarchy and use this newly
available space. A quick estimation gives me that this should shrink the
size of the statement/expression hierarchy by >10% when parsing all of Boost.

Differential Revision: https://reviews.llvm.org/D53604

Reviewed By: rjmccall

llvm-svn: 345459
2018-10-27 18:43:27 +00:00
..
APValue.cpp Fix crash on call to __builtin_memcpy with a null pointer to an 2018-09-13 22:47:33 +00:00
ASTConsumer.cpp
ASTContext.cpp AST: fix a typo in a comment (NFC) 2018-10-27 06:12:52 +00:00
ASTDiagnostic.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
ASTDumper.cpp PR26547: alignof should return ABI alignment, not preferred alignment 2018-10-26 19:26:45 +00:00
ASTImporter.cpp [ASTImporter] Removed uneeded default case label. 2018-10-19 15:16:51 +00:00
ASTStructuralEquivalence.cpp Port getLocStart -> getBeginLoc 2018-08-09 21:08:08 +00:00
ASTTypeTraits.cpp Teach clang-query to dump types. I couldn't find any existing tests for clang-query's dumping functionality. =( 2016-11-02 23:57:18 +00:00
AttrImpl.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CMakeLists.txt [C++2a] Implement operator<=> CodeGen and ExprConstant 2018-05-07 21:07:10 +00:00
CXXABI.h Fix __has_unique_object_representations implementation 2017-11-30 16:37:02 +00:00
CXXInheritance.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
Comment.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
CommentBriefParser.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
CommentCommandTraits.cpp
CommentLexer.cpp Add a newline to SourceLocation dump output 2018-08-15 20:32:06 +00:00
CommentParser.cpp Remove spurious assertion in -Wdocumentation 2018-10-02 22:23:27 +00:00
CommentSema.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
ComparisonCategories.cpp [C++2a] Implement operator<=>: Address bugs and post-commit review comments after r331677. 2018-05-08 00:52:19 +00:00
DataCollection.cpp [analyzer] Make StmtDataCollector customizable 2017-08-23 16:28:26 +00:00
Decl.cpp Implement Function Multiversioning for Non-ELF Systems. 2018-10-25 18:57:19 +00:00
DeclBase.cpp Change getRedeclContext() to support enumerations as another kind of transparent context in C. 2018-10-23 19:44:51 +00:00
DeclCXX.cpp [cxx2a] P0624R2: Lambdas with no capture-default are 2018-09-27 22:47:04 +00:00
DeclFriend.cpp [AST] Fix some Clang-tidy modernize-use-auto warnings; other minor fixes (NFC). 2018-04-03 00:11:50 +00:00
DeclGroup.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-10 00:59:22 +00:00
DeclObjC.cpp [Sema][ObjC] Infer availability of +new from availability of -init. 2018-09-10 22:20:09 +00:00
DeclOpenMP.cpp [OPENMP] Add support for OMP5 requires directive + unified_address clause 2018-09-26 04:28:39 +00:00
DeclPrinter.cpp [OPENMP] Add support for OMP5 requires directive + unified_address clause 2018-09-26 04:28:39 +00:00
DeclTemplate.cpp [Sema] Fix a multiple definition bug with friends and templates 2018-10-10 17:17:51 +00:00
DeclarationName.cpp [AST] Various optimizations + refactoring in DeclarationName(Table) 2018-09-21 12:53:22 +00:00
Expr.cpp PR26547: alignof should return ABI alignment, not preferred alignment 2018-10-26 19:26:45 +00:00
ExprCXX.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
ExprClassification.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
ExprConstant.cpp PR26547: alignof should return ABI alignment, not preferred alignment 2018-10-26 19:26:45 +00:00
ExprObjC.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-30 22:33:48 +00:00
ExternalASTMerger.cpp [ASTImporter] Added error handling for AST import. 2018-10-19 13:32:20 +00:00
ExternalASTSource.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
InheritViz.cpp
ItaniumCXXABI.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
ItaniumMangle.cpp PR26547: alignof should return ABI alignment, not preferred alignment 2018-10-26 19:26:45 +00:00
Linkage.h [AST] Squeeze some bits in LinkageComputer::QueryType 2018-09-25 13:43:25 +00:00
Mangle.cpp NFC: Remove MANGLE_CHECKER from ItaniumMangle.cpp 2018-10-23 19:55:38 +00:00
MicrosoftCXXABI.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
MicrosoftMangle.cpp Revert r345330 "Add MS ABI mangling for operator<=>." 2018-10-26 13:05:45 +00:00
NSAPI.cpp [Sema][ObjC] Infer availability of +new from availability of -init. 2018-09-10 22:20:09 +00:00
NestedNameSpecifier.cpp [NestedNameSpecifier] Add missing stream-specific dump methods 2018-10-04 19:22:00 +00:00
ODRHash.cpp [ODRHash] Fix early exit that skipped code. 2018-09-14 01:15:28 +00:00
OpenMPClause.cpp [OPENMP] Move OMPClausePrinter to OpenMPClause.h/OpenMPClause.cpp - NFC. Differential Revision: https://reviews.llvm.org/D53102 2018-10-18 14:28:23 +00:00
ParentMap.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
QualTypeNames.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
RawCommentList.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
RecordLayout.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
RecordLayoutBuilder.cpp [AST] Do not align virtual bases in `MicrosoftRecordLayoutBuilder` when 2018-10-23 08:23:22 +00:00
SelectorLocationsKind.cpp Port getLocStart -> getBeginLoc 2018-08-09 21:08:08 +00:00
Stmt.cpp [AST] Widen the bit-fields of Stmt to 8 bytes. 2018-10-27 18:43:27 +00:00
StmtCXX.cpp [cxx2a] P0614R1: Support init-statements in range-based for loops. 2018-09-28 18:44:09 +00:00
StmtIterator.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-21 23:26:08 +00:00
StmtObjC.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
StmtOpenMP.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
StmtPrinter.cpp PR26547: alignof should return ABI alignment, not preferred alignment 2018-10-26 19:26:45 +00:00
StmtProfile.cpp Add support for 'dynamic_allocators' clause on 'requires' directive. Differential Revision: https://reviews.llvm.org/D53079 2018-10-11 14:41:10 +00:00
StmtViz.cpp
TemplateBase.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
TemplateName.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
Type.cpp [Fixed Point Arithmetic] FixedPointCast 2018-10-15 16:07:02 +00:00
TypeLoc.cpp Model type attributes as regular Attrs. 2018-08-20 21:47:29 +00:00
TypePrinter.cpp [Sema/Attribute] Make types declared with address_space an AttributedType 2018-08-27 17:57:29 +00:00
VTTBuilder.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
VTableBuilder.cpp Use llvm::{all,any,none}_of instead std::{all,any,none}_of. NFC 2018-10-20 17:53:42 +00:00