Skip to content

Commit f124e75

Browse files
committed
[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
1 parent ca26808 commit f124e75

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

llvm/lib/Target/X86/X86DomainReassignment.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -556,6 +556,7 @@ void X86DomainReassignment::buildClosure(Closure &C, unsigned Reg) {
556556
// Register already in this closure.
557557
if (!C.insertEdge(CurReg))
558558
continue;
559+
EnclosedEdges.insert(Reg);
559560

560561
MachineInstr *DefMI = MRI->getVRegDef(CurReg);
561562
encloseInstr(C, DefMI);

0 commit comments

Comments
 (0)