[llvm] [RegAlloc][X86] Rematerialization of instructions with physical register (PR #198853)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 13 05:35:35 PDT 2026
================
@@ -6339,11 +6366,20 @@ static bool expandMOVSHP(MachineInstrBuilder &MIB, MachineInstr &MI,
}
bool X86InstrInfo::expandPostRAPseudo(MachineInstr &MI) const {
+ MachineBasicBlock &MBB = *MI.getParent();
bool HasAVX = Subtarget.hasAVX();
MachineInstrBuilder MIB(*MI.getParent()->getParent(), MI);
switch (MI.getOpcode()) {
- case X86::MOV32r0:
- return Expand2AddrUndef(MIB, get(X86::XOR32rr));
+ case X86::MOV32r0: {
+ if (MBB.computeRegisterLiveness(&TRI, X86::EFLAGS, MI) !=
+ MachineBasicBlock::LQR_Dead) {
+ MIB->setDesc(get(X86::MOV32ri));
+ MIB.addImm(0);
+ return true;
+ } else
----------------
arsenm wrote:
No else after return
https://github.com/llvm/llvm-project/pull/198853
More information about the llvm-commits
mailing list