[llvm] [ARM] Add a method to clear registers (PR #69659)

Nick Desaulniers via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 20 15:22:54 PDT 2023


================
@@ -6735,6 +6735,15 @@ MachineBasicBlock::iterator ARMBaseInstrInfo::insertOutlinedCall(
   return CallPt;
 }
 
+void ARMBaseInstrInfo::buildClearRegister(Register DstReg,
+                                          MachineBasicBlock &MBB,
+                                          MachineBasicBlock::iterator Iter,
+                                          DebugLoc &DL,
+                                          bool AllowSideEffects) const {
+  unsigned Opc = Subtarget.isThumb2() ? ARM::t2MOVi32imm : ARM::MOVi32imm;
----------------
nickdesaulniers wrote:

> (I want to avoid side effects even if AllowSideEffects is true).

huh? Why?

I suspect you'll need to check:
if arm:
  ...
elif thumb2:
  ...
else: # is thumb1
  ...

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


More information about the llvm-commits mailing list