OSDN Git Service

[MachineCopyPropagation] Reimplement CopyTracker in terms of register units
authorJustin Bogner <mail@justinbogner.com>
Tue, 25 Sep 2018 05:16:44 +0000 (05:16 +0000)
committerJustin Bogner <mail@justinbogner.com>
Tue, 25 Sep 2018 05:16:44 +0000 (05:16 +0000)
commit742443a030f3c093168c67b550ab5a1a168a05e2
tree87c2ba569420198fec1e03487d15594ecc7e595a
parent7617dcec9072ce82fd384b993d07ce99ab3cdb65
[MachineCopyPropagation] Reimplement CopyTracker in terms of register units

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.

Differential Revision: https://reviews.llvm.org/D52374

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342942 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineCopyPropagation.cpp