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

Bill Wendling via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 27 11:17:58 PDT 2023


================
@@ -9066,21 +9066,23 @@ bool AArch64InstrInfo::shouldOutlineFromFunctionByDefault(
 
 void AArch64InstrInfo::buildClearRegister(Register Reg, MachineBasicBlock &MBB,
                                           MachineBasicBlock::iterator Iter,
-                                          DebugLoc &DL) const {
+                                          DebugLoc &DL,
+                                          bool AllowSideEffects) 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);
   } else if (STI.hasSVE()) {
     BuildMI(MBB, Iter, DL, get(AArch64::DUP_ZI_D), Reg)
-      .addImm(0)
-      .addImm(0);
+        .addImm(0)
+        .addImm(0);
   } else {
     BuildMI(MBB, Iter, DL, get(AArch64::MOVIv2d_ns), Reg)
-      .addImm(0);
+        .addImm(0);
----------------
bwendling wrote:

Done.

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


More information about the cfe-commits mailing list