- 论坛徽章:
- 9
|
回复 3# tc1989tc
http://www.delorie.com/gnu/docs/gcc/gccint_82.html
9.8 Standard Pattern Names For Generation
Here is a table of the instruction names that are meaningful in the RTL generation pass of the compiler. Giving one of these names to an instruction pattern tells the RTL generation pass that it can use the pattern to accomplish a certain task.
<省略>
`eh_return'
This pattern, if defined, affects the way __builtin_eh_return, and thence the call frame exception handling library routines, are built. It is intended to handle non-trivial actions needed along the abnormal return path.
The pattern takes two arguments. The first is an offset to be applied to the stack pointer. It will have been copied to some appropriate location (typically EH_RETURN_STACKADJ_RTX) which will survive until after reload to when the normal epilogue is generated. The second argument is the address of the exception handler to which the function should return. This will normally need to copied by the pattern to some special register or memory location.
This pattern only needs to be defined if call frame exception handling is to be used, and simple moves involving EH_RETURN_STACKADJ_RTX and EH_RETURN_HANDLER_RTX are not sufficient
这已经是GCC RTL处理的细节了,如果你还想问下去,就只能把你的贴转到编译器的版块那边了。 |
|