[clang-tools-extra] [CodeGen] Avoid potential sideeffects from XOR (PR #67193)

Bill Wendling via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 17 11:54:49 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:

It does appear to be related to the "shift" argument of `MOVZXi`.

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


More information about the cfe-commits mailing list