summaryrefslogtreecommitdiffstats
path: root/clang/lib/Rewrite/Rewriter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Change the RewriteRope::Chunks data structure from an std::list intoChris Lattner2008-04-141-3/+18
| | | | | | | | | | | | a nice shiny B+ Tree variant. This fixes the last of the known algorithmic issues with the rewriter, allowing a significant speedup. For example, -emit-html on Ted's 500K .i file speeds up from 26.8s -> 0.64s in a debug build (41x!) and 5.475s -> 0.132s (41x!) in an optimized build. This code is functional but needs to be cleaned up, ifdefs removed, better commented, and moved to a .cpp file. I plan to do this tomorrow. llvm-svn: 49635
* remove ifdefsChris Lattner2008-04-121-77/+0
| | | | llvm-svn: 49587
* Do an initial hack at replacing one of the incredibly inefficient Chris Lattner2008-04-121-2/+13
| | | | | | | | | | | | | | | (but simple!) datastructures in the rewriter with a more complex but more efficient one. This replaces the Deltas vector with a specialized BTree that makes delta lookups much more efficient. This speeds up -emit-html on a 500K .i file from 157.154 to 27.127 seconds on my machine (5.8x). While this code is functional, it isn't very pretty, I have much refactoring planned for it, and will remove the USE_VECTOR ifdef. Stay tuned. llvm-svn: 49586
* Added variant of "InsertText" in the Rewriter to support inserting text bothTed Kremenek2008-03-181-5/+7
| | | | | | *before* and after a specific location. llvm-svn: 48504
* Bug fix in RewriteBuffer::getMappedOffset: potentially multiple deltas Ted Kremenek2008-03-181-4/+6
| | | | | | | need to be skipped over when AfterInserts == true, as multiple deltas may share the same FileLoc. llvm-svn: 48503
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+258
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
OpenPOWER on IntegriCloud