]> granicus.if.org Git - clang/commit
Change the RewriteRope::Chunks data structure from an std::list into
authorChris Lattner <sabre@nondot.org>
Mon, 14 Apr 2008 07:17:29 +0000 (07:17 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 14 Apr 2008 07:17:29 +0000 (07:17 +0000)
commitfebe719596ee68605944da5f2e03258e18e6df8c
treee4af1298833be9c8e02df7b50094feb54d251892
parente7722103abc4583366c914374d6aa8560e145fa1
Change the RewriteRope::Chunks data structure from an std::list into
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49635 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Rewrite/RewriteRope.h
lib/Rewrite/DeltaTree.cpp
lib/Rewrite/Rewriter.cpp