@@ -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- }
0 commit comments