[llvm] [CodeGen] Avoid potential sideeffects from XOR (PR #67193)

Bill Wendling via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 26 11:50:02 PDT 2023


================
@@ -9066,21 +9066,18 @@ bool AArch64InstrInfo::shouldOutlineFromFunctionByDefault(
 
 void AArch64InstrInfo::buildClearRegister(Register Reg, MachineBasicBlock &MBB,
                                           MachineBasicBlock::iterator Iter,
-                                          DebugLoc &DL) const {
+                                          DebugLoc &DL,
+                                          bool NoSideEffects) const {
   const MachineFunction &MF = *MBB.getParent();
   const AArch64Subtarget &STI = MF.getSubtarget<AArch64Subtarget>();
   const AArch64RegisterInfo &TRI = *STI.getRegisterInfo();
 
   if (TRI.isGeneralPurposeRegister(MF, Reg)) {
-    BuildMI(MBB, Iter, DL, get(AArch64::MOVi64imm), Reg)
-      .addImm(0);
+    BuildMI(MBB, Iter, DL, get(AArch64::MOVZXi), Reg).addImm(0).addImm(0);
----------------
bwendling wrote:

Yes. This is how it's done for other uses of `MOVZXi`. I'll verify that it's required though.

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


More information about the llvm-commits mailing list