summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuozhi Wei <carrot@google.com>2019-03-05 18:54:34 +0000
committerGuozhi Wei <carrot@google.com>2019-03-05 18:54:34 +0000
commitf124e75656dd926d10e805f802e57eb9f7f6d4c5 (patch)
treee735e7886ab7e5d1a2ebbf291e26a8c8b3c61924
parentca26808da95ca9811550f2af51758612a515e5ef (diff)
downloadbcm5719-llvm-f124e75656dd926d10e805f802e57eb9f7f6d4c5.tar.gz
bcm5719-llvm-f124e75656dd926d10e805f802e57eb9f7f6d4c5.zip
[X86] In X86DomainReassignment.cpp add enclosed registers to EnclosedEdges
The variable X86DomainReassignment::EnclosedEdges is used to store registers that have been enclosed in some closure, so those registers will be ignored when create new closures. But there is no registers has ever been put into this set, so a single register can be enclosed in multiple closures, it significantly increase compile time. This patch adds a register into EnclosedEdges when it is enclosed into a closure. Differential Revision: https://reviews.llvm.org/D58646 llvm-svn: 355430
-rw-r--r--llvm/lib/Target/X86/X86DomainReassignment.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86DomainReassignment.cpp b/llvm/lib/Target/X86/X86DomainReassignment.cpp
index 86d9de22775..b4bd63dad8c 100644
--- a/llvm/lib/Target/X86/X86DomainReassignment.cpp
+++ b/llvm/lib/Target/X86/X86DomainReassignment.cpp
@@ -556,6 +556,7 @@ void X86DomainReassignment::buildClosure(Closure &C, unsigned Reg) {
// Register already in this closure.
if (!C.insertEdge(CurReg))
continue;
+ EnclosedEdges.insert(Reg);
MachineInstr *DefMI = MRI->getVRegDef(CurReg);
encloseInstr(C, DefMI);
OpenPOWER on IntegriCloud