Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add a frontend option -chained-pch and don't pass an active PCH reader to ↵ | Sebastian Redl | 2010-07-09 | 2 | -1/+6 | |
| | | | | | | the PCH writer if it is not set, preventing creation of chained PCH files. Since the reader is so far unused, effectively no functionality change. llvm-svn: 107936 | |||||
* | Some preparatory work for chained PCH. No functionality change. | Sebastian Redl | 2010-07-08 | 4 | -6/+15 | |
| | | | | llvm-svn: 107915 | |||||
* | Introduce PCHReader::GetTranslationUnitDecl() and use it instead of ↵ | Argyrios Kyrtzidis | 2010-07-08 | 1 | -1/+8 | |
| | | | | | | | | | ReadDeclRecord when initializing. ReadDeclRecord would hit assertion if the translation unit declaration was already loaded during IdentifierInfo initialization. llvm-svn: 107885 | |||||
* | Support TemplateTemplateParmDecl for PCH. | Argyrios Kyrtzidis | 2010-07-08 | 2 | -4/+19 | |
| | | | | llvm-svn: 107884 | |||||
* | For TagType and TemplateSpecializationType, isDependent calculation may be ↵ | Argyrios Kyrtzidis | 2010-07-08 | 2 | -10/+24 | |
| | | | | | | | | | invalid because some decls that the calculation is using may still be initializing. Thus, store the isDependent flag to PCH and restore directly to Type. llvm-svn: 107873 | |||||
* | Read/write the C++ parts of DeclRefExpr and MemberExpr for PCH. | Argyrios Kyrtzidis | 2010-07-08 | 2 | -16/+98 | |
| | | | | llvm-svn: 107872 | |||||
* | Fix reading of UsingDecl from PCH. | Argyrios Kyrtzidis | 2010-07-08 | 1 | -1/+3 | |
| | | | | llvm-svn: 107871 | |||||
* | Reinstate the fix for PR7556. A silly use of isTrivial() was | Douglas Gregor | 2010-07-08 | 2 | -7/+7 | |
| | | | | | | suppressing copies of objects with trivial copy constructors. llvm-svn: 107857 | |||||
* | Revert r107828 and r107827, the fix for PR7556, which seems to be | Douglas Gregor | 2010-07-07 | 2 | -7/+7 | |
| | | | | | | breaking bootstrap on Linux. llvm-svn: 107837 | |||||
* | Rename CXXZeroInitValueExpr to CXXScalarValueInitExpr, to reflect its | Douglas Gregor | 2010-07-07 | 2 | -7/+7 | |
| | | | | | | newly-narrowed scope. No functionality change. llvm-svn: 107828 | |||||
* | add driver support for minix, patch by Kees van Reeuwijk | Chris Lattner | 2010-07-07 | 1 | -0/+4 | |
| | | | | | | from PR7583 llvm-svn: 107788 | |||||
* | Fix broken reading of NestedNameSpecifiers from PCH. | Argyrios Kyrtzidis | 2010-07-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 107784 | |||||
* | Delay passing InterestingDecls to the Consumer until when we know we are not ↵ | Argyrios Kyrtzidis | 2010-07-07 | 2 | -16/+22 | |
| | | | | | | | | in recursive loading and the declarations are fully initialized. llvm-svn: 107783 | |||||
* | Simplify code. FunctionDecl and ObjCMethodDecl have some common interfaces. | Argyrios Kyrtzidis | 2010-07-07 | 1 | -15/+4 | |
| | | | | llvm-svn: 107769 | |||||
* | Added a path-sensitive idempotent operation checker ↵ | Tom Care | 2010-07-06 | 1 | -0/+4 | |
| | | | | | | | | | | | | | | | | | | | (-analyzer-idempotent-operation). Finds idempotent and/or tautological operations in a path sensitive context, flagging operations that have no effect or a predictable effect. Example: { int a = 1; int b = 5; int c = b / a; // a is 1 on all paths } - New IdempotentOperationChecker class - Moved recursive Stmt functions in r107675 to IdempotentOperationChecker - Minor refactoring of SVal to allow checking for any integer - Added command line option for check - Added basic test cases llvm-svn: 107706 | |||||
* | Pacify versions of gcc that think these variables may be used | Duncan Sands | 2010-07-06 | 1 | -3/+3 | |
| | | | | | | | uninitialized (which doesn't seem to be the case), by giving them arbitrary initial values. llvm-svn: 107679 | |||||
* | Read/write function template specializations for PCH, properly this time. | Argyrios Kyrtzidis | 2010-07-06 | 2 | -6/+12 | |
| | | | | llvm-svn: 107665 | |||||
* | Add to PCH missing Sema information about VTable uses and dynamic classes. | Argyrios Kyrtzidis | 2010-07-06 | 2 | -0/+58 | |
| | | | | llvm-svn: 107664 | |||||
* | Allow a CXXRecordDecl to get a DefinitionData pointer even when its owner is ↵ | Argyrios Kyrtzidis | 2010-07-06 | 2 | -87/+118 | |
| | | | | | | still initializing. llvm-svn: 107663 | |||||
* | Read/write instantiated-from-member of EnumDecl for PCH. | Argyrios Kyrtzidis | 2010-07-06 | 2 | -2/+3 | |
| | | | | llvm-svn: 107662 | |||||
* | Read/write the identifier namespace in PCH for decls that may modify it. | Argyrios Kyrtzidis | 2010-07-05 | 2 | -6/+13 | |
| | | | | | | We can now use a PCH'ed <map>. llvm-svn: 107617 | |||||
* | Read/write some source location for PCH. | Argyrios Kyrtzidis | 2010-07-05 | 2 | -1/+9 | |
| | | | | llvm-svn: 107616 | |||||
* | Fix a regression of a previous commit of mine (rdar://8158953). | Argyrios Kyrtzidis | 2010-07-04 | 1 | -2/+2 | |
| | | | | | | | Some of the invariant checks for creating Record/Enum types don't hold true during PCH reading. Introduce more suitable ASTContext::getRecordType() and getEnumType(). llvm-svn: 107598 | |||||
* | Read/write more information of ASTContext for PCH. Overriden methods and ↵ | Argyrios Kyrtzidis | 2010-07-04 | 2 | -0/+28 | |
| | | | | | | instantiated-from information. llvm-svn: 107597 | |||||
* | Don't try to install the __[u]int128_t identifier if it is already installed ↵ | Argyrios Kyrtzidis | 2010-07-04 | 2 | -0/+4 | |
| | | | | | | | | | | by PCHReader. Currently, adding it to visible decls of a PCH'ed translation unit has no effect because adding visible decls before deserialization has no effect (the decls won't be visible). This will be fixed in a future commit; then it will force deserialization of visible decls, so avoid pointlessly installing it. llvm-svn: 107595 | |||||
* | Write/read ParmVarDecl's UninstantiatedDefaultArg for PCH. | Argyrios Kyrtzidis | 2010-07-04 | 2 | -1/+8 | |
| | | | | llvm-svn: 107594 | |||||
* | Read/write specialization info of static data members for PCH. | Argyrios Kyrtzidis | 2010-07-04 | 2 | -0/+20 | |
| | | | | llvm-svn: 107593 | |||||
* | When setting the anonymous namespace at PCH reading, it may still be ↵ | Argyrios Kyrtzidis | 2010-07-03 | 1 | -6/+2 | |
| | | | | | | | | initializing so avoid the invariant checks at NamespaceDecl::setAnonymousNamespace(). llvm-svn: 107566 | |||||
* | Lazily declare default constructors. We now delay the construction of | Douglas Gregor | 2010-07-03 | 2 | -0/+2 | |
| | | | | | | | | | | | | | | | | | | declarations for implicit default constructors, copy constructors, copy assignment operators, and destructors. On a "simple" translation unit that includes a bunch of C++ standard library headers, we generate relatively few of these implicit declarations now: 4/159 implicit default constructors created 18/236 implicit copy constructors created 70/241 implicit copy assignment operators created 0/173 implicit destructors created And, on this translation unit, this optimization doesn't really provide any benefit. I'll do some more performance measurements soon, but this completes the implementation work for <rdar://problem/8151045>. llvm-svn: 107551 | |||||
* | Lazily declare implicit copy constructors. | Douglas Gregor | 2010-07-02 | 2 | -0/+2 | |
| | | | | llvm-svn: 107543 | |||||
* | Read/write CastExpr's CXXBaseSpecifierArray for PCH. | Argyrios Kyrtzidis | 2010-07-02 | 6 | -25/+36 | |
| | | | | llvm-svn: 107542 | |||||
* | Fix broken PCH support for CXXDefaultArgExpr. | Argyrios Kyrtzidis | 2010-07-02 | 2 | -12/+20 | |
| | | | | llvm-svn: 107541 | |||||
* | Lazily declare copy-assignment operators. | Douglas Gregor | 2010-07-02 | 2 | -0/+2 | |
| | | | | llvm-svn: 107521 | |||||
* | Lazily declare the implicitly-declared destructor in a C++ class. | Douglas Gregor | 2010-07-02 | 2 | -0/+2 | |
| | | | | llvm-svn: 107510 | |||||
* | Handle CXXConstructorDecl, CXXDestructorDecl, and CXXConversionDecl for PCH. | Argyrios Kyrtzidis | 2010-07-02 | 2 | -17/+126 | |
| | | | | | | <vector> header can be used correctly through PCH now. llvm-svn: 107483 | |||||
* | Fix reading FunctionDecls from PCH. | Argyrios Kyrtzidis | 2010-07-02 | 2 | -45/+47 | |
| | | | | llvm-svn: 107477 | |||||
* | Fix reading ClassTemplateDecl's ClassTemplateSpecializationDecls and ↵ | Argyrios Kyrtzidis | 2010-07-02 | 2 | -11/+23 | |
| | | | | | | | | ClassTemplatePartialSpecializationDecls. Store/read also their template arguments because they may be initializing and not be able to provide them. llvm-svn: 107476 | |||||
* | Fully read/write CXXRecordDecl for PCH. | Argyrios Kyrtzidis | 2010-07-02 | 4 | -43/+109 | |
| | | | | llvm-svn: 107475 | |||||
* | Fix reading of DependentNameType. | Argyrios Kyrtzidis | 2010-07-02 | 2 | -1/+5 | |
| | | | | llvm-svn: 107474 | |||||
* | Allow reading of InjectedClassNameType from PCH even when its decl is ↵ | Argyrios Kyrtzidis | 2010-07-02 | 1 | -1/+4 | |
| | | | | | | currently initializing. llvm-svn: 107473 | |||||
* | Fix broken reading of member pointer from PCH. | Argyrios Kyrtzidis | 2010-07-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 107472 | |||||
* | - Allow a typedef type to be read from PCH even if its decl is currently ↵ | Argyrios Kyrtzidis | 2010-07-02 | 2 | -7/+17 | |
| | | | | | | | | initializing. - Fix creation of TemplateSpecializationType. llvm-svn: 107471 | |||||
* | Fix broken reading of "#lines" from PCH. | Argyrios Kyrtzidis | 2010-07-02 | 1 | -2/+3 | |
| | | | | llvm-svn: 107470 | |||||
* | Generally types expect an initialized TypeDecl; its safer and less ↵ | Argyrios Kyrtzidis | 2010-07-02 | 2 | -16/+16 | |
| | | | | | | complicated to delay PCH reading the type of a TypeDecl. llvm-svn: 107469 | |||||
* | Add some side-effect free Create methods for TypeDecl subclasses and use ↵ | Argyrios Kyrtzidis | 2010-07-02 | 1 | -8/+7 | |
| | | | | | | them for PCH reading. llvm-svn: 107468 | |||||
* | Driver/IRgen: Add support for -momit-leaf-frame-pointer. | Daniel Dunbar | 2010-07-01 | 1 | -0/+3 | |
| | | | | llvm-svn: 107367 | |||||
* | Fix PCH support for UnresolvedUsingTypenameDecl and UnresolvedUsingValueDecl. | Argyrios Kyrtzidis | 2010-06-30 | 2 | -8/+8 | |
| | | | | llvm-svn: 107268 | |||||
* | Support DependentSizedArrayType for PCH. | Argyrios Kyrtzidis | 2010-06-30 | 2 | -2/+21 | |
| | | | | llvm-svn: 107267 | |||||
* | Support ParenListExpr for PCH. | Argyrios Kyrtzidis | 2010-06-30 | 2 | -2/+29 | |
| | | | | llvm-svn: 107266 | |||||
* | Headers: Define __INT64_TYPE__ in terms of getInt64Type(), which isn't always | Daniel Dunbar | 2010-06-30 | 1 | -0/+6 | |
| | | | | | | | | 'long'. The practical upshot is so that the uint64_t we define in our stdint.h ends up being compatible with that defined by gcc (at least on Darwin), which otherwise could lead to type incompatibilities with other system headers. llvm-svn: 107255 |