diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/CodeGen/InterferenceCache.cpp | 5 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/InterferenceCache.h | 3 | 
2 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/InterferenceCache.cpp b/llvm/lib/CodeGen/InterferenceCache.cpp index a09bb39f833..29b47bd67ec 100644 --- a/llvm/lib/CodeGen/InterferenceCache.cpp +++ b/llvm/lib/CodeGen/InterferenceCache.cpp @@ -18,10 +18,13 @@  using namespace llvm; +// Static member used for null interference cursors. +InterferenceCache::BlockInterference InterferenceCache::Cursor::NoInterference; +  void InterferenceCache::init(MachineFunction *mf,                               LiveIntervalUnion *liuarray,                               SlotIndexes *indexes, -                            const TargetRegisterInfo *tri) { +                             const TargetRegisterInfo *tri) {    MF = mf;    LIUArray = liuarray;    TRI = tri; diff --git a/llvm/lib/CodeGen/InterferenceCache.h b/llvm/lib/CodeGen/InterferenceCache.h index 7f0a27a41ba..4df0a9e5c39 100644 --- a/llvm/lib/CodeGen/InterferenceCache.h +++ b/llvm/lib/CodeGen/InterferenceCache.h @@ -138,6 +138,7 @@ public:    class Cursor {      Entry *CacheEntry;      BlockInterference *Current; +    static BlockInterference NoInterference;      void setEntry(Entry *E) {        Current = 0; @@ -175,7 +176,7 @@ public:      /// moveTo - Move cursor to basic block MBBNum.      void moveToBlock(unsigned MBBNum) { -      Current = CacheEntry->get(MBBNum); +      Current = CacheEntry ? CacheEntry->get(MBBNum) : &NoInterference;      }      /// hasInterference - Return true if the current block has any interference.  | 

