summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization
Commit message (Collapse)AuthorAgeFilesLines
* Support for IRGen of synthesize bitfield ivars inFariborz Jahanian2010-08-232-0/+4
| | | | | | objc-nonfragile-abi2 (radar 7824380). llvm-svn: 111823
* DeclPtrTy -> Decl *John McCall2010-08-211-2/+2
| | | | llvm-svn: 111733
* Fix an issue with writing to PCH another included PCH, introduced by the ↵Argyrios Kyrtzidis2010-08-202-1/+71
| | | | | | | | | | | "using an AST on-disk hash table for name lookup" commit. When including a PCH and later re-emitting to another PCH, the name lookup tables of DeclContexts may be incomplete, since we now lazily deserialize the visible decls of a particular name. Fix the issue by iterating over the un-deserialized visible decls and completing the lookup tables of DeclContexts before writing them out. llvm-svn: 111698
* objective-c ivar refactoring patch. IterationsFariborz Jahanian2010-08-201-0/+4
| | | | | | | | over ivars for a varienty of puposes is now consolidated into two small routines; DeepCollectObjCIvars and ShallowCollectObjCIvars. llvm-svn: 111679
* Use the AST on-disk hash table for name lookup inside a DeclContext.Argyrios Kyrtzidis2010-08-204-120/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *Huge* improvement over the amount of deserializing that we do for C++ lookup. e.g, if he have the Carbon header precompiled and include it on a file containing this: int x; these are the before/after stats: BEFORE: *** AST File Statistics: 578 stat cache hits 4 stat cache misses 548/30654 source location entries read (1.787695%) 15907/16501 types read (96.400223%) 53525/59955 declarations read (89.275291%) 33993/43525 identifiers read (78.099945%) 41516/51891 statements read (80.006165%) 77/5317 macros read (1.448185%) 0/6335 lexical declcontexts read (0.000000%) 1/5424 visible declcontexts read (0.018437%) AFTER using the on-disk table: *** AST File Statistics: 578 stat cache hits 4 stat cache misses 548/30654 source location entries read (1.787695%) 10/16501 types read (0.060602%) 9/59955 declarations read (0.015011%) 161/43525 identifiers read (0.369902%) 20/51891 statements read (0.038542%) 6/5317 macros read (0.112846%) 0/6335 lexical declcontexts read (0.000000%) 2/5424 visible declcontexts read (0.036873%) There's only one issue affecting mostly the precompiled preambles which I will address soon. llvm-svn: 111636
* Introduce the mechanism for building an AST on-disk hash table for name ↵Argyrios Kyrtzidis2010-08-202-6/+294
| | | | | | lookup inside a DeclContext but don't use it yet. llvm-svn: 111635
* Refactoring; move the functionality of ASTWriter::GetOrCreateTypeID to the ↵Argyrios Kyrtzidis2010-08-203-51/+69
| | | | | | | | | | more generic MakeTypeID template function which accepts a type and a function object that returns a TypeIdx. MakeTypeID is in PCHCommon.h so that it can be used by ASTReader too. llvm-svn: 111634
* Introduce ASTWriter::GetOrCreateTypeID and move most of the functionality of ↵Argyrios Kyrtzidis2010-08-201-17/+10
| | | | | | | | AddTypeRef there. No functionality change. llvm-svn: 111633
* A bit of refactoring; Introduce ASTWriter::GetOrCreateTypeIdx and move the ↵Argyrios Kyrtzidis2010-08-201-10/+21
| | | | | | | | emission of types there. No functionality change. llvm-svn: 111632
* Rename TypeIDs -> TypeIdxs. No functionality change.Argyrios Kyrtzidis2010-08-201-4/+4
| | | | llvm-svn: 111631
* serialization::TypeID is used with or without qualifiers, both as index and ↵Argyrios Kyrtzidis2010-08-202-16/+16
| | | | | | | | as index + qualifiers. Disambiguate and provide some type safety by using a new class TypeIdx for the "TypeID as index" semantics. llvm-svn: 111630
* Share the common code of ComputeHash(Selector Sel) instead of keeping 2 ↵Argyrios Kyrtzidis2010-08-205-16/+62
| | | | | | | | copies in PCHReader and PCHWriter. No functionality change. llvm-svn: 111629
* Regularize the API for accessing explicit template arguments.John McCall2010-08-192-7/+6
| | | | llvm-svn: 111584
* Make sure to deallocate the identifier lookup tables and selector tablesDouglas Gregor2010-08-191-9/+15
| | | | | | when destroying an ASTReader. Plugs a leak that shows up in libclang. llvm-svn: 111488
* Rename pch namespace to serialization.Sebastian Redl2010-08-186-674/+677
| | | | llvm-svn: 111478
* Rename stuff in PCHBitCodes.hSebastian Redl2010-08-182-8/+8
| | | | llvm-svn: 111475
* Rename the ASTReader header files.Sebastian Redl2010-08-184-5/+5
| | | | llvm-svn: 111474
* Rename the ASTReader implementation files.Sebastian Redl2010-08-184-6/+6
| | | | llvm-svn: 111473
* More PCH -> AST renaming.Sebastian Redl2010-08-185-145/+127
| | | | llvm-svn: 111472
* Rename various classes from PCH to AST.Sebastian Redl2010-08-182-9/+9
| | | | llvm-svn: 111471
* Rename PCHStmtReader -> ASTStmtReader.Sebastian Redl2010-08-181-129/+129
| | | | llvm-svn: 111470
* Rename PCHDeclReader -> ASTDeclReader.Sebastian Redl2010-08-182-74/+74
| | | | llvm-svn: 111469
* Rename PCHReader to ASTReader.Sebastian Redl2010-08-185-113/+113
| | | | llvm-svn: 111467
* Rename PCHWriter.h to ASTWriter.hSebastian Redl2010-08-184-4/+4
| | | | llvm-svn: 111466
* Rename the ASTWriter implementation filesSebastian Redl2010-08-184-6/+6
| | | | llvm-svn: 111465
* Do the PCH->AST rename for ASTWriter's implementation parts.Sebastian Redl2010-08-183-256/+256
| | | | llvm-svn: 111464
* Rename PCHWriter to ASTWriterSebastian Redl2010-08-184-92/+92
| | | | llvm-svn: 111463
* Generate Attr subclasses with TableGen.Alexis Hunt2010-08-183-327/+21
| | | | | | | | | | | | | | | | | | | | | | | | Now all classes derived from Attr are generated from TableGen. Additionally, Attr* is no longer its own linked list; SmallVectors or Attr* are used. The accompanying LLVM commit contains the updates to TableGen necessary for this. Some other notes about newly-generated attribute classes: - The constructor arguments are a SourceLocation and a Context&, followed by the attributes arguments in the order that they were defined in Attr.td - Every argument in Attr.td has an appropriate accessor named getFoo, and there are sometimes a few extra ones (such as to get the length of a variadic argument). Additionally, specific_attr_iterator has been introduced, which will iterate over an AttrVec, but only over attributes of a certain type. It can be accessed through either Decl::specific_attr_begin/end or the global functions of the same name. llvm-svn: 111455
* Fix CMake buildSebastian Redl2010-08-171-0/+1
| | | | llvm-svn: 111284
* Reintroduce the serialization library, with fixed dependencies.Sebastian Redl2010-08-179-0/+12971
| | | | llvm-svn: 111279
* Revert Sebastian's build-breaking patch.Douglas Gregor2010-08-179-12972/+0
| | | | llvm-svn: 111265
* Create a new Serialization module that contains all the PCH code, and will ↵Sebastian Redl2010-08-179-0/+12972
contain all the module code in the future. Update the Makefiles, CMake projects and the Xcode project. I hope I did everything right for Xcode. No functionality change. llvm-svn: 111258
OpenPOWER on IntegriCloud