[PATCH] Fix spilling of 64-bit paired registers (PR15676)

Tim Northover t.p.northover at gmail.com
Sat Apr 20 06:43:36 PDT 2013


Hi,

This patch should fix PR15676, which turned out to be due to an
incorrect LDMIA instruction being produced when spilling a 64-bit
paired register (like you get from some inline assembly).

It looked like:

LDMIA <fi#4>, pred:0, pred:14, %noreg, ...

Where that first "pred:0" was added as some kind of offset for the
frame, but the LDMIA instruction has no such offset.

This could obviously have caused a problem anywhere, it happened to
strike first (in a Debug build) when examining the predicate (ARM code
expected the second "pred" to be a register).

OK to commit?

Tim.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: paired-spill.diff
Type: application/octet-stream
Size: 2715 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130420/3e4a244f/attachment.obj>


More information about the llvm-commits mailing list