mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
mi-sched: Don't call MBB.size() in initSUnits. The driver already has instr count.
This fixes a pathological compile time problem with very large blocks and lots of scheduling boundaries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189116 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -293,8 +293,7 @@ public:
|
||||
void enterRegion(MachineBasicBlock *bb,
|
||||
MachineBasicBlock::iterator begin,
|
||||
MachineBasicBlock::iterator end,
|
||||
unsigned endcount);
|
||||
|
||||
unsigned regioninstrs) LLVM_OVERRIDE;
|
||||
|
||||
/// Implement ScheduleDAGInstrs interface for scheduling a sequence of
|
||||
/// reorderable instructions.
|
||||
|
||||
@@ -104,12 +104,8 @@ namespace llvm {
|
||||
/// The end of the range to be scheduled.
|
||||
MachineBasicBlock::iterator RegionEnd;
|
||||
|
||||
/// The index in BB of RegionEnd.
|
||||
///
|
||||
/// This is the instruction number from the top of the current block, not
|
||||
/// the SlotIndex. It is only used by the AntiDepBreaker and should be
|
||||
/// removed once that client is obsolete.
|
||||
unsigned EndIndex;
|
||||
/// Instructions in this region (distance(RegionBegin, RegionEnd)).
|
||||
unsigned NumRegionInstrs;
|
||||
|
||||
/// After calling BuildSchedGraph, each machine instruction in the current
|
||||
/// scheduling region is mapped to an SUnit.
|
||||
@@ -185,7 +181,7 @@ namespace llvm {
|
||||
virtual void enterRegion(MachineBasicBlock *bb,
|
||||
MachineBasicBlock::iterator begin,
|
||||
MachineBasicBlock::iterator end,
|
||||
unsigned endcount);
|
||||
unsigned regioninstrs);
|
||||
|
||||
/// Notify that the scheduler has finished scheduling the current region.
|
||||
virtual void exitRegion();
|
||||
|
||||
Reference in New Issue
Block a user