summaryrefslogtreecommitdiffstats
path: root/clang/Basic/IdentifierTable.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-551/+0
| | | | | | | | | | lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
* Remove the first layer of support for "portability" warnings. This is Chris Lattner2008-03-051-8/+0
| | | | | | | | | | | | | | | theoretically useful, but not useful in practice. It adds a bunch of complexity, and not much value. It's best to nuke it. One big advantage is that it means the target interfaces will soon lose their SLoc arguments and target queries can never emit diagnostics anymore (yay). Removing this also simplifies some of the core preprocessor which should make it slightly faster. Ted, I didn't simplify TripleProcessor, which can now have at most one triple, and can probably just be removed. Please poke at it when you have time. llvm-svn: 47930
* fix the second half of PR2041: __restrict is ok in c90 mode, even ifChris Lattner2008-02-191-2/+4
| | | | | | restrict isn't. llvm-svn: 47316
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-291-2/+2
| | | | | | discussion of this change. llvm-svn: 45410
* 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