aboutsummaryrefslogtreecommitdiff
path: root/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-01-26 04:33:10 +0000
committerChris Lattner <sabre@nondot.org>2009-01-26 04:33:10 +0000
commit7c35122df2998d9f615c3ebd4b71a91a2c6287d6 (patch)
tree3a4f52a91d0963e3254d34c80fdce573ee741bf1 /lib/Basic/SourceManager.cpp
parent9bd0d59026d4995148443512ab5ddf009117bfd8 (diff)
eagerly resolve the spelling locations of macro argument preexpansions.
This reduces fsyntax-only time on c99-intconst-1.c from 2.43s down to 2.01s (20%), reducing the number of fileid lookups from 2529040 linear and 64771121 binary to 5625902 linear and 4151182 binary. This knocks getFileID down to only 4.6% of compile time on this testcase. At this point, malloc/free is over 35% of compile time, primarily allocating MacroArgs objects and their argument preexpansion vectors. I don't feel like malloc avoiding right now, so I'm just going to call this good. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62994 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions