[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