diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-08-09 22:49:46 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-08-09 22:49:46 +0000 |
commit | df01e00710f1eec6e22a4194b46ee8af5d0a7f29 (patch) | |
tree | 72f3253bbecfd1d6ef6feb001c6d8d6e600710ae /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 7d7051ca3ca050eb2d9df850fa7f7db1605a559c (diff) | |
download | bcm5719-llvm-df01e00710f1eec6e22a4194b46ee8af5d0a7f29.tar.gz bcm5719-llvm-df01e00710f1eec6e22a4194b46ee8af5d0a7f29.zip |
Partition use lists so defs always come before uses.
This makes it possible to speed up def_iterator by stopping at the first
use. This makes def_empty() and getUniqueVRegDef() much faster when
there are many uses.
In a +Asserts build, LiveVariables is 100x faster in one case because
getVRegDef() has an assertion that would scan to the end of a
def_iterator chain.
Spill weight calculation is significantly faster (300x in one case)
because isTriviallyReMaterializable() calls MRI->isConstantPhysReg(%RIP)
which calls def_empty(%RIP).
llvm-svn: 161634
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions