[llvm] [NFC][CodeGen] Create method to clear registers (PR #66958)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 21 02:30:56 PDT 2023


================
@@ -562,48 +562,17 @@ void X86FrameLowering::emitZeroCallUsedRegs(BitVector RegsToZero,
       RegsToZero.reset(Reg);
     }
 
+  // Zero out the GPRs first.
   for (MCRegister Reg : GPRsToZero.set_bits())
-    BuildMI(MBB, MBBI, DL, TII.get(X86::XOR32rr), Reg)
-        .addReg(Reg, RegState::Undef)
-        .addReg(Reg, RegState::Undef);
+    TII.buildClearRegister(Reg, MBB, MBBI, DL);
 
-  // Zero out registers.
+  // Zero out the remaining registers.
   for (MCRegister Reg : RegsToZero.set_bits()) {
     if (ST.hasMMX() && X86::VR64RegClass.contains(Reg))
       // FIXME: Ignore MMX registers?
       continue;
----------------
RKSimon wrote:

You might as well move the (lack of) MMX handling into buildClearRegister as well

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


More information about the llvm-commits mailing list