diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-09-30 15:44:16 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-09-30 15:44:16 +0000 |
commit | dc37786595beedd0a68d8e2cbd91ae53ad58d133 (patch) | |
tree | 910098540a161ad8e6526a52179cc5c73ff17292 /include/llvm/CodeGen | |
parent | f3b23188d5254829374587fdc5ca6f16fae945a9 (diff) | |
download | external_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/llvm/CodeGen')
-rw-r--r-- | include/llvm/CodeGen/LiveIntervalAnalysis.h | 9 |
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 |