summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-09-30 15:44:16 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-09-30 15:44:16 +0000
commitdc37786595beedd0a68d8e2cbd91ae53ad58d133 (patch)
tree910098540a161ad8e6526a52179cc5c73ff17292 /include
parentf3b23188d5254829374587fdc5ca6f16fae945a9 (diff)
downloadexternal_llvm-dc37786595beedd0a68d8e2cbd91ae53ad58d133.zip
external_llvm-dc37786595beedd0a68d8e2cbd91ae53ad58d133.tar.gz
external_llvm-dc37786595beedd0a68d8e2cbd91ae53ad58d133.tar.bz2
Re-apply 56835 along with header file changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56848 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/LiveIntervalAnalysis.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/LiveIntervalAnalysis.h b/include/llvm/CodeGen/LiveIntervalAnalysis.h
index 1910649..4cde906 100644
--- a/include/llvm/CodeGen/LiveIntervalAnalysis.h
+++ b/include/llvm/CodeGen/LiveIntervalAnalysis.h
@@ -308,6 +308,7 @@ namespace llvm {
/// (if any is created) by reference. This is temporary.
std::vector<LiveInterval*>
addIntervalsForSpills(const LiveInterval& i,
+ SmallVectorImpl<LiveInterval*> &SpillIs,
const MachineLoopInfo *loopInfo, VirtRegMap& vrm,
float &SSWeight);
@@ -326,7 +327,9 @@ namespace llvm {
/// isReMaterializable - Returns true if every definition of MI of every
/// val# of the specified interval is re-materializable. Also returns true
/// by reference if all of the defs are load instructions.
- bool isReMaterializable(const LiveInterval &li, bool &isLoad);
+ bool isReMaterializable(const LiveInterval &li,
+ SmallVectorImpl<LiveInterval*> &SpillIs,
+ bool &isLoad);
/// getRepresentativeReg - Find the largest super register of the specified
/// physical register.
@@ -387,7 +390,9 @@ namespace llvm {
/// val# of the specified interval is re-materializable. Also returns true
/// by reference if the def is a load.
bool isReMaterializable(const LiveInterval &li, const VNInfo *ValNo,
- MachineInstr *MI, bool &isLoad);
+ MachineInstr *MI,
+ SmallVectorImpl<LiveInterval*> &SpillIs,
+ bool &isLoad);
/// tryFoldMemoryOperand - Attempts to fold either a spill / restore from
/// slot / to reg or any rematerialized load into ith operand of specified