diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-01-09 21:17:37 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-01-09 21:17:37 +0000 |
commit | be97e906e03dd9b22e14f6749157c9d5f9701dd5 (patch) | |
tree | 406cc2412d1b65c21943b0b90db00d24160f8c26 /lib/CodeGen/InlineSpiller.cpp | |
parent | 96b1b6c1356a70f99e133331c470ba7caf48de21 (diff) |
Teach TargetRegisterInfo how to cram stack slot indexes in with the virtual and
physical register numbers.
This makes the hack used in LiveInterval official, and lets LiveInterval be
oblivious of stack slots.
The isPhysicalRegister() and isVirtualRegister() predicates don't know about
this, so when a variable may contain a stack slot, isStackSlot() should always
be tested first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123128 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/InlineSpiller.cpp')
-rw-r--r-- | lib/CodeGen/InlineSpiller.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/CodeGen/InlineSpiller.cpp b/lib/CodeGen/InlineSpiller.cpp index f5a27b2417..3e4f6c8303 100644 --- a/lib/CodeGen/InlineSpiller.cpp +++ b/lib/CodeGen/InlineSpiller.cpp @@ -334,7 +334,8 @@ void InlineSpiller::spill(LiveInterval *li, void InlineSpiller::spill(LiveRangeEdit &edit) { edit_ = &edit; - assert(!edit.getParent().isStackSlot() && "Trying to spill a stack slot."); + assert(!TargetRegisterInfo::isStackSlot(edit.getReg()) + && "Trying to spill a stack slot."); DEBUG(dbgs() << "Inline spilling " << mri_.getRegClass(edit.getReg())->getName() << ':' << edit.getParent() << "\n"); |