diff options
Diffstat (limited to 'include/llvm/CodeGen/LiveStackAnalysis.h')
| -rw-r--r-- | include/llvm/CodeGen/LiveStackAnalysis.h | 18 | 
1 files changed, 4 insertions, 14 deletions
diff --git a/include/llvm/CodeGen/LiveStackAnalysis.h b/include/llvm/CodeGen/LiveStackAnalysis.h index ad984db1899e..8a8dcaf5728f 100644 --- a/include/llvm/CodeGen/LiveStackAnalysis.h +++ b/include/llvm/CodeGen/LiveStackAnalysis.h @@ -39,7 +39,9 @@ namespace llvm {    public:      static char ID; // Pass identification, replacement for typeid -    LiveStacks() : MachineFunctionPass(ID) {} +    LiveStacks() : MachineFunctionPass(ID) { +      initializeLiveStacksPass(*PassRegistry::getPassRegistry()); +    }      typedef SS2IntervalMap::iterator iterator;      typedef SS2IntervalMap::const_iterator const_iterator; @@ -50,19 +52,7 @@ namespace llvm {      unsigned getNumIntervals() const { return (unsigned)S2IMap.size(); } -    LiveInterval &getOrCreateInterval(int Slot, const TargetRegisterClass *RC) { -      assert(Slot >= 0 && "Spill slot indice must be >= 0"); -      SS2IntervalMap::iterator I = S2IMap.find(Slot); -      if (I == S2IMap.end()) { -        I = S2IMap.insert(I,std::make_pair(Slot, LiveInterval(Slot,0.0F,true))); -        S2RCMap.insert(std::make_pair(Slot, RC)); -      } else { -        // Use the largest common subclass register class. -        const TargetRegisterClass *OldRC = S2RCMap[Slot]; -        S2RCMap[Slot] = getCommonSubClass(OldRC, RC); -      } -      return I->second; -    } +    LiveInterval &getOrCreateInterval(int Slot, const TargetRegisterClass *RC);      LiveInterval &getInterval(int Slot) {        assert(Slot >= 0 && "Spill slot indice must be >= 0");  | 
