llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-backend-systemz Author: Matt Arsenault (arsenm) <details> <summary>Changes</summary> Instead of checking if the recoloring candidate is a virtual register, avoid adding it to the candidates in the first place. --- Full diff: https://github.com/llvm/llvm-project/pull/160484.diff 1 Files Affected: - (modified) llvm/lib/CodeGen/RegAllocGreedy.cpp (+2-5) ``````````diff diff --git a/llvm/lib/CodeGen/RegAllocGreedy.cpp b/llvm/lib/CodeGen/RegAllocGreedy.cpp index 6e0585b2e9e55..dc23ab3ce9d2b 100644 --- a/llvm/lib/CodeGen/RegAllocGreedy.cpp +++ b/llvm/lib/CodeGen/RegAllocGreedy.cpp @@ -2502,10 +2502,6 @@ void RAGreedy::tryHintRecoloring(const LiveInterval &VirtReg) { do { Reg = RecoloringCandidates.pop_back_val(); - // We cannot recolor physical register. - if (Reg.isPhysical()) - continue; - // This may be a skipped register. if (!VRM->hasPhys(Reg)) { assert(!shouldAllocateRegister(Reg) && @@ -2553,7 +2549,8 @@ void RAGreedy::tryHintRecoloring(const LiveInterval &VirtReg) { // Push all copy-related live-ranges to keep reconciling the broken // hints. for (const HintInfo &HI : Info) { - if (Visited.insert(HI.Reg).second) + // We cannot recolor physical register. + if (HI.Reg.isVirtual() && Visited.insert(HI.Reg).second) RecoloringCandidates.push_back(HI.Reg); } } while (!RecoloringCandidates.empty()); `````````` </details> https://github.com/llvm/llvm-project/pull/160484 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits