aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/LiveRangeEdit.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-10-15 00:16:55 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-10-15 00:16:55 +0000
commit2a0180fbff4870995482d96986ad780ab9de8af4 (patch)
treebdc45da8da7bd2b28082cb5d0f1e6b564e417bcd /lib/CodeGen/LiveRangeEdit.h
parenta17768f5822ab62bc18608e5ba473187bf726b84 (diff)
Move stack slot assignments into LiveRangeEdit.
All registers created during splitting or spilling are assigned to the same stack slot as the parent register. When splitting or rematting, we may not spill at all. In that case the stack slot is still assigned, but it will be dead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116546 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveRangeEdit.h')
-rw-r--r--lib/CodeGen/LiveRangeEdit.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/CodeGen/LiveRangeEdit.h b/lib/CodeGen/LiveRangeEdit.h
index 6abeda8a97..d9d9c613e1 100644
--- a/lib/CodeGen/LiveRangeEdit.h
+++ b/lib/CodeGen/LiveRangeEdit.h
@@ -55,7 +55,12 @@ public:
iterator begin() const { return newRegs_.begin()+firstNew_; }
iterator end() const { return newRegs_.end(); }
- /// create - Create a new register with the same class as parentReg_.
+ /// assignStackSlot - Ensure a stack slot is assigned to parent.
+ /// @return the assigned stack slot number.
+ int assignStackSlot(VirtRegMap&);
+
+ /// create - Create a new register with the same class and stack slot as
+ /// parent.
LiveInterval &create(MachineRegisterInfo&, LiveIntervals&, VirtRegMap&);
/// allUsesAvailableAt - Return true if all registers used by OrigMI at