diff options
author | Justin Bogner <mail@justinbogner.com> | 2018-10-22 19:51:31 +0000 |
---|---|---|
committer | Justin Bogner <mail@justinbogner.com> | 2018-10-22 19:51:31 +0000 |
commit | 912adfba7ed39fbf1fe2342cb8938f817e9b0915 (patch) | |
tree | 2464e4780435c41a97d70a98be140c4baca727a8 /clang/lib/StaticAnalyzer/Core/SymbolManager.cpp | |
parent | 11dadac247e677de124328077d080fe086f14d47 (diff) | |
download | bcm5719-llvm-912adfba7ed39fbf1fe2342cb8938f817e9b0915.tar.gz bcm5719-llvm-912adfba7ed39fbf1fe2342cb8938f817e9b0915.zip |
Reapply "[MachineCopyPropagation] Reimplement CopyTracker in terms of register units"
Recommits r342942, which was reverted in r343189, with a fix for an
issue where we would propagate unsafely if we defined only the upper
part of a register.
Original message:
Change the copy tracker to keep a single map of register units
instead of 3 maps of registers. This gives a very significant
compile time performance improvement to the pass. I measured a
30-40% decrease in time spent in MCP on x86 and AArch64 and much
more significant improvements on out of tree targets with more
registers.
llvm-svn: 344942
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/SymbolManager.cpp')
0 files changed, 0 insertions, 0 deletions