[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