Allow null interference cursors to be queried.

They always report 'no interference'.

llvm-svn: 135843
This commit is contained in:
Jakob Stoklund Olesen 2011-07-23 03:10:17 +00:00
parent 40ed4c3e06
commit 4b2cc68d11
2 changed files with 6 additions and 2 deletions

View File

@ -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;

View File

@ -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.