// API call is made to prune the dependence.
class VLIWPacketizerList {
protected:
- const TargetMachine &TM;
const MachineFunction &MF;
const TargetInstrInfo *TII;
// VLIWPacketizerList Ctor
VLIWPacketizerList::VLIWPacketizerList(MachineFunction &MF,
MachineLoopInfo &MLI, bool IsPostRA)
- : TM(MF.getTarget()), MF(MF) {
- TII = TM.getSubtargetImpl()->getInstrInfo();
+ : MF(MF) {
+ TII = MF.getSubtarget().getInstrInfo();
ResourceTracker = TII->CreateTargetScheduleState(MF.getSubtarget());
VLIWScheduler = new DefaultVLIWScheduler(MF, MLI, IsPostRA);
}
const HexagonInstrInfo *QII = (const HexagonInstrInfo *) TII;
const HexagonRegisterInfo *QRI =
- (const HexagonRegisterInfo *)TM.getSubtargetImpl()->getRegisterInfo();
+ (const HexagonRegisterInfo *)MF.getSubtarget().getRegisterInfo();
// Check for lr dependence
if (DepReg == QRI->getRARegister()) {
return false;
const HexagonRegisterInfo *QRI =
- (const HexagonRegisterInfo *)TM.getSubtargetImpl()->getRegisterInfo();
+ (const HexagonRegisterInfo *)MF.getSubtarget().getRegisterInfo();
const MCInstrDesc& MCID = PacketMI->getDesc();
// first operand is always the result
const HexagonInstrInfo *QII = (const HexagonInstrInfo *) TII;
const HexagonRegisterInfo *QRI =
- (const HexagonRegisterInfo *)TM.getSubtargetImpl()->getRegisterInfo();
+ (const HexagonRegisterInfo *)MF.getSubtarget().getRegisterInfo();
if (!QRI->Subtarget.hasV4TOps() ||
!QII->mayBeNewStore(MI))
return false;
const unsigned FrameSize = MF.getFrameInfo()->getStackSize();
const HexagonRegisterInfo *QRI =
- (const HexagonRegisterInfo *)TM.getSubtargetImpl()->getRegisterInfo();
+ (const HexagonRegisterInfo *)MF.getSubtarget().getRegisterInfo();
const HexagonInstrInfo *QII = (const HexagonInstrInfo *) TII;
// Inline asm cannot go in the packet.