summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-04-22 19:09:20 +0000
committerDouglas Gregor <dgregor@apple.com>2009-04-22 19:09:20 +0000
commitb985eebcdfaed7ba4ee07b411259b4a5a7549cba (patch)
tree7b2c0f88c8ca3885e4f58dd71dcb4cb7591a469f /clang/lib/CodeGen/CodeGenModule.cpp
parent63660175f8474b215f5619e29cda7df9e7c5f68d (diff)
downloadbcm5719-llvm-b985eebcdfaed7ba4ee07b411259b4a5a7549cba.tar.gz
bcm5719-llvm-b985eebcdfaed7ba4ee07b411259b4a5a7549cba.zip
Minimize the number and kind of "external definitions" that the PCH
file needs to store. CodeGen needs to see these definitions (via HandleTopLevelDecl), otherwise it won't be able to generate code for them. This patch notifies the consumer (e.g., CodeGen) about function definitions and variable definitions when the corresponding declarations are deserialized. Hence, we don't eagerly deserialize the declarations for every variable or function that has a definition in the PCH file. This gives another 5% speedup for the Carbon-prefixed "Hello, World!", and brings our PCH statistics down to something far more reasonable: *** PCH Statistics: 13/20693 types read (0.062823%) 17/59230 declarations read (0.028702%) 54/44914 identifiers read (0.120230%) 0/32954 statements read (0.000000%) 5/6187 macros read (0.080815%) llvm-svn: 69820
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud