Skip to content

Commit a415b4d

Browse files
authored
1 parent 7c1d9b1 commit a415b4d

File tree

3 files changed

+0
-243
lines changed

3 files changed

+0
-243
lines changed

llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -640,51 +640,6 @@ bool SystemZInstrInfo::foldImmediate(MachineInstr &UseMI, MachineInstr &DefMI,
640640
Register Reg,
641641
MachineRegisterInfo *MRI) const {
642642
unsigned DefOpc = DefMI.getOpcode();
643-
644-
if (DefOpc == SystemZ::VGBM) {
645-
int64_t ImmVal = DefMI.getOperand(1).getImm();
646-
if (ImmVal != 0) // TODO: Handle other values
647-
return false;
648-
649-
// Fold gr128 = COPY (vr128 VGBM imm)
650-
//
651-
// %tmp:gr64 = LGHI 0
652-
// to gr128 = REG_SEQUENCE %tmp, %tmp
653-
assert(DefMI.getOperand(0).getReg() == Reg);
654-
655-
if (!UseMI.isCopy())
656-
return false;
657-
658-
Register CopyDstReg = UseMI.getOperand(0).getReg();
659-
if (CopyDstReg.isVirtual() &&
660-
MRI->getRegClass(CopyDstReg) == &SystemZ::GR128BitRegClass &&
661-
MRI->hasOneNonDBGUse(Reg)) {
662-
// TODO: Handle physical registers
663-
// TODO: Handle gr64 uses with subregister indexes
664-
// TODO: Should this multi-use cases?
665-
Register TmpReg = MRI->createVirtualRegister(&SystemZ::GR64BitRegClass);
666-
MachineBasicBlock &MBB = *UseMI.getParent();
667-
668-
// FIXME: probably should be DefMI's DebugLoc but this matches
669-
// loadImmediate's guessing
670-
const DebugLoc &DL = UseMI.getDebugLoc();
671-
672-
loadImmediate(MBB, UseMI.getIterator(), TmpReg, ImmVal);
673-
674-
BuildMI(MBB, UseMI.getIterator(), DL, get(SystemZ::REG_SEQUENCE),
675-
CopyDstReg)
676-
.addReg(TmpReg)
677-
.addImm(SystemZ::subreg_h64)
678-
.addReg(TmpReg)
679-
.addImm(SystemZ::subreg_l64);
680-
681-
UseMI.eraseFromParent();
682-
return true;
683-
}
684-
685-
return false;
686-
}
687-
688643
if (DefOpc != SystemZ::LHIMux && DefOpc != SystemZ::LHI &&
689644
DefOpc != SystemZ::LGHI)
690645
return false;
@@ -2282,16 +2237,3 @@ areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
22822237

22832238
return false;
22842239
}
2285-
2286-
bool SystemZInstrInfo::getConstValDefinedInReg(const MachineInstr &MI,
2287-
const Register Reg,
2288-
int64_t &ImmVal) const {
2289-
2290-
if (MI.getOpcode() == SystemZ::VGBM && Reg == MI.getOperand(0).getReg()) {
2291-
ImmVal = MI.getOperand(1).getImm();
2292-
// TODO: Handle non-0 values
2293-
return ImmVal == 0;
2294-
}
2295-
2296-
return false;
2297-
}

llvm/lib/Target/SystemZ/SystemZInstrInfo.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -383,9 +383,6 @@ class SystemZInstrInfo : public SystemZGenInstrInfo {
383383
bool
384384
areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
385385
const MachineInstr &MIb) const override;
386-
387-
bool getConstValDefinedInReg(const MachineInstr &MI, const Register Reg,
388-
int64_t &ImmVal) const override;
389386
};
390387

391388
} // end namespace llvm

llvm/test/CodeGen/SystemZ/fold-copy-vector-immediate.mir

Lines changed: 0 additions & 182 deletions
This file was deleted.

0 commit comments

Comments
 (0)