git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178667
91177308-0d34-0410-b5e6-
96231b3b80d8
!SubstituteKCacheBank(I, KCacheBanks))
break;
AluInstCount += OccupiedDwords(I);
- if (AluInstCount > 124)
+ if (AluInstCount > TII->getMaxAlusPerClause())
break;
}
unsigned Opcode = PushBeforeModifier ?
return &AMDGPU::IndirectRegRegClass;
}
+unsigned R600InstrInfo::getMaxAlusPerClause() const {
+ return 115;
+}
MachineInstrBuilder R600InstrInfo::buildDefaultInstruction(MachineBasicBlock &MBB,
MachineBasicBlock::iterator I,
virtual const TargetRegisterClass *getSuperIndirectRegClass() const;
+ unsigned getMaxAlusPerClause() const;
///buildDefaultInstruction - This function returns a MachineInstr with
/// all the instruction modifiers initialized to their default values.
CurInstKind = IDOther;
CurEmitted = 0;
OccupedSlotsMask = 15;
- InstKindLimit[IDAlu] = 120; // 120 minus 8 for security
+ InstKindLimit[IDAlu] = TII->getMaxAlusPerClause();
const AMDGPUSubtarget &ST = DAG->TM.getSubtarget<AMDGPUSubtarget>();