diff options
author | Bob Wilson <bob.wilson@apple.com> | 2010-07-24 06:01:53 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2010-07-24 06:01:53 +0000 |
commit | 56c006561cc241e98b73a21d3539ca5d1c8e0489 (patch) | |
tree | aa3b2bdc3ece242241fde6ee8058f3a6a10ca773 /llvm/lib/CodeGen | |
parent | f921790e6ee28c1b71b247d500ae9f1c000b29d2 (diff) | |
download | bcm5719-llvm-56c006561cc241e98b73a21d3539ca5d1c8e0489.tar.gz bcm5719-llvm-56c006561cc241e98b73a21d3539ca5d1c8e0489.zip |
Change ScheduleDAGInstrs::Defs and ::Uses to be variable-size vectors
instead of fixed size arrays, so that increasing FirstVirtualRegister to 16K
won't cause a compile time performance regression.
llvm-svn: 109330
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/ScheduleDAGInstrs.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/CodeGen/ScheduleDAGInstrs.h | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp b/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp index 40670da56e1..ea93dd5c666 100644 --- a/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp +++ b/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp @@ -32,7 +32,8 @@ using namespace llvm; ScheduleDAGInstrs::ScheduleDAGInstrs(MachineFunction &mf, const MachineLoopInfo &mli, const MachineDominatorTree &mdt) - : ScheduleDAG(mf), MLI(mli), MDT(mdt), LoopRegs(MLI, MDT) { + : ScheduleDAG(mf), MLI(mli), MDT(mdt), Defs(TRI->getNumRegs()), + Uses(TRI->getNumRegs()), LoopRegs(MLI, MDT) { MFI = mf.getFrameInfo(); DbgValueVec.clear(); } diff --git a/llvm/lib/CodeGen/ScheduleDAGInstrs.h b/llvm/lib/CodeGen/ScheduleDAGInstrs.h index d90659bb163..c8f543f7146 100644 --- a/llvm/lib/CodeGen/ScheduleDAGInstrs.h +++ b/llvm/lib/CodeGen/ScheduleDAGInstrs.h @@ -106,8 +106,8 @@ namespace llvm { /// are as we iterate upward through the instructions. This is allocated /// here instead of inside BuildSchedGraph to avoid the need for it to be /// initialized and destructed for each block. - std::vector<SUnit *> Defs[TargetRegisterInfo::FirstVirtualRegister]; - std::vector<SUnit *> Uses[TargetRegisterInfo::FirstVirtualRegister]; + std::vector<std::vector<SUnit *> > Defs; + std::vector<std::vector<SUnit *> > Uses; /// DbgValueVec - Remember DBG_VALUEs that refer to a particular /// register. |