diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/LiveIntervalAnalysis.h | 2 | ||||
-rw-r--r-- | include/llvm/CodeGen/MachineRegisterInfo.h | 8 | ||||
-rw-r--r-- | include/llvm/CodeGen/PseudoSourceValue.h | 6 |
3 files changed, 16 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/LiveIntervalAnalysis.h b/include/llvm/CodeGen/LiveIntervalAnalysis.h index ebbcf63b70..c88c1ec696 100644 --- a/include/llvm/CodeGen/LiveIntervalAnalysis.h +++ b/include/llvm/CodeGen/LiveIntervalAnalysis.h @@ -32,6 +32,7 @@ namespace llvm { + class AliasAnalysis; class LiveVariables; class MachineLoopInfo; class TargetRegisterInfo; @@ -61,6 +62,7 @@ namespace llvm { const TargetMachine* tm_; const TargetRegisterInfo* tri_; const TargetInstrInfo* tii_; + AliasAnalysis *aa_; LiveVariables* lv_; /// Special pool allocator for VNInfo's (LiveInterval val#). diff --git a/include/llvm/CodeGen/MachineRegisterInfo.h b/include/llvm/CodeGen/MachineRegisterInfo.h index bfa6d1ccd0..b851fdf66d 100644 --- a/include/llvm/CodeGen/MachineRegisterInfo.h +++ b/include/llvm/CodeGen/MachineRegisterInfo.h @@ -206,6 +206,14 @@ public: liveout_iterator liveout_begin() const { return LiveOuts.begin(); } liveout_iterator liveout_end() const { return LiveOuts.end(); } bool liveout_empty() const { return LiveOuts.empty(); } + + bool isLiveIn(unsigned Reg) const { + for (livein_iterator I = livein_begin(), E = livein_end(); I != E; ++I) + if (I->first == Reg || I->second == Reg) + return true; + return false; + } + private: void HandleVRegListReallocation(); diff --git a/include/llvm/CodeGen/PseudoSourceValue.h b/include/llvm/CodeGen/PseudoSourceValue.h index 95ae1d43ab..115e565b6b 100644 --- a/include/llvm/CodeGen/PseudoSourceValue.h +++ b/include/llvm/CodeGen/PseudoSourceValue.h @@ -17,6 +17,8 @@ #include "llvm/Value.h" namespace llvm { + class MachineFrameInfo; + /// PseudoSourceValue - Special value supplied for machine level alias /// analysis. It indicates that the a memory access references the functions /// stack frame (e.g., a spill slot), below the stack frame (e.g., argument @@ -27,6 +29,10 @@ namespace llvm { virtual void print(std::ostream &OS) const; + /// isConstant - Test whether this PseudoSourceValue has a constant value. + /// + virtual bool isConstant(const MachineFrameInfo *) const; + /// classof - Methods for support type inquiry through isa, cast, and /// dyn_cast: /// |