XCore target: Fix llvm.eh.return and EH info register handling
Richard Osborne
richard at xmos.com
Mon Feb 17 03:16:30 PST 2014
Looks good to me.
+/// Restore clobbered registers with their spill slot value.
+/// The SP will be adjust at the same time, thus the SpillList must be
ordered
+/// with the largest (negative) offsets first.
+static void
+RestoreSpillList(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
adjust -> adjusted
On 06/01/14 15:11, Robert Lytton wrote:
> Hi,
>
> Here is a patch for handling the exception unwind on the XCore target.
>
> XCore target: Fix llvm.eh.return and EH info register handling
>
> For functions which call callsUnwindInit() and callsEHReturn()
> spill slots for R0 & R1 (exception info regs) are added without
> spilling R0 & R1.
> The EH unwinder will write the exception info to these spill slots.
> The exception info registers are only restored during an
> llv.eh.return() to a landing pad.
> Under normal return, R0 holds the function's return code and must
> not be overwritten.
>
> Robert
>
--
Richard Osborne | XMOS
http://www.xmos.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140217/2ea313c4/attachment.html>
More information about the llvm-commits
mailing list