[llvm] r355430 - [X86] In X86DomainReassignment.cpp add enclosed registers to EnclosedEdges

Guozhi Wei via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 5 10:54:35 PST 2019


Author: carrot
Date: Tue Mar  5 10:54:34 2019
New Revision: 355430

URL: http://llvm.org/viewvc/llvm-project?rev=355430&view=rev
Log:
[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


Modified:
    llvm/trunk/lib/Target/X86/X86DomainReassignment.cpp

Modified: llvm/trunk/lib/Target/X86/X86DomainReassignment.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86DomainReassignment.cpp?rev=355430&r1=355429&r2=355430&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86DomainReassignment.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86DomainReassignment.cpp Tue Mar  5 10:54:34 2019
@@ -556,6 +556,7 @@ void X86DomainReassignment::buildClosure
     // Register already in this closure.
     if (!C.insertEdge(CurReg))
       continue;
+    EnclosedEdges.insert(Reg);
 
     MachineInstr *DefMI = MRI->getVRegDef(CurReg);
     encloseInstr(C, DefMI);




More information about the llvm-commits mailing list