summaryrefslogtreecommitdiffstats
path: root/clang/Basic/IdentifierTable.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fixed bug in the serialization of SelectorTable where we did not register theTed Kremenek2007-12-011-0/+9
| | | | | | | | | | pointer of MultiKeywordSelectors. Added optimization to the serialization of SelectorTable where we only serialize out MultiKeywordSelectors that are ever referenced by an object other than the SelectorTable. llvm-svn: 44483
* Implemented serialization of SelectorTable and Selectors.Ted Kremenek2007-11-301-2/+77
| | | | | | | Modified serialization of IdentifierTable to self-register itself with the Deserializer. llvm-svn: 44471
* Break out bool/true/false support into a LangOptionNate Begeman2007-11-151-4/+15
| | | | llvm-svn: 44164
* Renamed all serialization "Materialize" methods to "Create" to conform withTed Kremenek2007-11-131-1/+1
| | | | | | the new serialization API. llvm-svn: 44035
* Changed the serialization of IdentifierTable to only serialize out entriesTed Kremenek2007-11-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | that are referenced in the ASTs. This assumes that we serialize out the decls/stmts first, and use the pointer-tracking logic in the Serializer to determine if an IdentifierInfo (or its string key) is ever referenced. This is a significant space optimization for serialized ASTs. Consider the following program: void foo(int x,int y) { return x > y ? x : y+1; } Here are the sizes of the files for the serialized ASTs: Full IdentifierTable: 23676 bytes Only-referenced Identifiers: 304 bytes. For this simple program, this is a 77% reduction in the file size of the serialized ASTs. llvm-svn: 43975
* Changed method call to reflect updated serialization API.Ted Kremenek2007-11-091-1/+1
| | | | llvm-svn: 43917
* Rewrote serialization of IdentifierInfo and IdentifierTable to use methods EmitTed Kremenek2007-11-081-45/+63
| | | | | | | | | and Materialize/Read instead of using specializations of SerializeTrait<>. The resulting code is much cleaner. We are also setting the stage so that only the parts of the IdentifierTable that are ever referenced within the ASTs are serialized, and not the whole table. llvm-svn: 43904
* Added registration to deserialization engine of IdentifierInfo* asTed Kremenek2007-11-051-0/+2
| | | | | | IdentifierInfos are deserialized. llvm-svn: 43741
* Modified current clients of Bitcode-Object serialization to use theTed Kremenek2007-10-241-28/+31
| | | | | | | | | | new split-header file configuration (Serialize.h and Deserialize.h) now in place in the core LLVM repository. Removed unneeded SerializeTrait specializations for enums in TokenKinds.h llvm-svn: 43306
* Implemented serialization for IdentifierInfo and IdentifierTable.Ted Kremenek2007-10-231-1/+65
| | | | | | | Updated serialization test code in the driver to test serialization of these types. llvm-svn: 43266
* avoid accessing off the end of identifiers.Chris Lattner2007-10-101-0/+1
| | | | llvm-svn: 42841
* move IdentifierTable.h from liblex to libbasic.Chris Lattner2007-10-071-0/+374
llvm-svn: 42730
OpenPOWER on IntegriCloud