[llvm] [X86][BreakFalseDeps] Using reverse order for undef register selection (PR #137569)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Sat May 3 06:41:01 PDT 2025


================
@@ -142,7 +144,12 @@ void RegisterClassInfo::compute(const TargetRegisterClass *RC) const {
 
   // FIXME: Once targets reserve registers instead of removing them from the
   // allocation order, we can simply use begin/end here.
-  ArrayRef<MCPhysReg> RawOrder = RC->getRawAllocationOrder(*MF);
+  ArrayRef<MCPhysReg> RawOrder = RC->getRawAllocationOrder(*MF, Reverse);
+  std::vector<MCPhysReg> ReverseOrder;
+  if (Reverse) {
+    llvm::append_range(ReverseOrder, reverse(RawOrder));
+    RawOrder = ArrayRef<MCPhysReg>(ReverseOrder);
+  }
----------------
phoebewang wrote:

I don't see how feature help here. This is not some feature works for all passes. We just want BreakFalseDeps uses reverse order.

https://github.com/llvm/llvm-project/pull/137569


More information about the llvm-commits mailing list