[PATCH] [mips] Reserve $at and use it for frame pointer elimination.
Vladimir Stefanovic
vladimir.stefanovic at imgtec.com
Wed Dec 3 11:21:52 PST 2014
Hi dsanders, petarj,
When spilling a register, RegScavenger calls MipsSERegisterInfo::eliminateFI(),
which needs a free register to handle offsets over 16 bits, resulting in
"Cannot scavenge register without an emergency spill slot!" assert.
This patch puts $at on the reserved registers list, and uses it in eliminateFI()
instead of requesting a register from RegScavenger.
http://reviews.llvm.org/D6509
Files:
lib/Target/Mips/MipsRegisterInfo.cpp
lib/Target/Mips/MipsSERegisterInfo.cpp
test/CodeGen/Mips/vector-multiply.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6509.16872.patch
Type: text/x-patch
Size: 4900 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141203/3b7fa4bb/attachment.bin>
More information about the llvm-commits
mailing list