[llvm-dev] Exception handling support for a target
陳韋任 via llvm-dev
llvm-dev at lists.llvm.org
Wed Jan 24 03:46:46 PST 2018
2018-01-24 0:23 GMT+08:00 Ben Craig <ben.craig at ni.com>:
> The high level of what happens is that __builtin_eh_return forces a spill
> of all the non-volatile registers. The unwinder then has a starting point
> for populating and adjusting those non-volatile registers.
> This approach usually requires that the function calling
> __builtin_eh_return be built without optimizations, because the optimizer
> will then remove the spills.
Ben, thanks for your input. However, I don't quite understand what you
The prototype of __builtin_eh_return (offset, handler) , I can't see
why it forces spilling all non-volatile registers (I assume non-volatile ==
Take libgcc as an example, __built_eh_return is called in
uw_install_context , which is called in the end of
_Unwind_RaiseException . Do you mean we should compile libgcc without
Wei-Ren Chen (陳韋任)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev