aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/LiveIntervalUnion.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/LiveIntervalUnion.h')
-rw-r--r--lib/CodeGen/LiveIntervalUnion.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/CodeGen/LiveIntervalUnion.h b/lib/CodeGen/LiveIntervalUnion.h
index d8dcbda8d3..ff23cf61a3 100644
--- a/lib/CodeGen/LiveIntervalUnion.h
+++ b/lib/CodeGen/LiveIntervalUnion.h
@@ -24,6 +24,7 @@
namespace llvm {
+class MachineLoopRange;
class TargetRegisterInfo;
#ifndef NDEBUG
@@ -76,6 +77,10 @@ public:
bool empty() const { return Segments.empty(); }
SlotIndex startIndex() const { return Segments.start(); }
+ // Provide public access to the underlying map to allow overlap iteration.
+ typedef LiveSegments Map;
+ const Map &getMap() { return Segments; }
+
// Add a live virtual register to this union and merge its segments.
void unify(LiveInterval &VirtReg);
@@ -223,6 +228,10 @@ public:
return InterferingVRegs;
}
+ /// checkLoopInterference - Return true if there is interference overlapping
+ /// Loop.
+ bool checkLoopInterference(MachineLoopRange*);
+
void print(raw_ostream &OS, const TargetRegisterInfo *TRI);
private:
Query(const Query&); // DO NOT IMPLEMENT