diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2012-03-09 04:12:54 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2012-03-09 04:12:54 +0000 |
| commit | c647587aa367499d7f32d01580eb85f251c9162f (patch) | |
| tree | b451f264683d4e309e25befc42a598e269d3f973 /llvm/lib/Object/MachOObjectFile.cpp | |
| parent | 564d8bc255ac3b47be4a3f595d767dc205026736 (diff) | |
| download | bcm5719-llvm-c647587aa367499d7f32d01580eb85f251c9162f.tar.gz bcm5719-llvm-c647587aa367499d7f32d01580eb85f251c9162f.zip | |
[AST] Memoize ASTContext::getTypeInfo().
- On -emit-llvm-only of 403.gcc/combine.c, for example, we make 160k calls to
getTypeInfo but only ever deal with 680 some distinct types.
I saw these speedups (user time):
403.gcc/combine.c -- 3.1%
OmniGroupFrameworks/NSBezierPath-OAExtensions.m -- 3.6%
JavaScriptCore/Interpreter.cpp -- 1.4%
which seems pretty sweet.
I ran some histograms on those compiles and we end up doing a ton of
getTypeInfo() on 'char' and 'int'. I tried splitting out a fast path for builtin
types, but this wasn't a win. Still kinda seems like we could be doing better
here.
llvm-svn: 152377
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions

