Allow null interference cursors to be queried.

They always report 'no interference'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135843 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jakob Stoklund Olesen 2011-07-23 03:10:17 +00:00
parent 59a4f9af0a
commit c7931fd725
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.