[PATCH 1/3][GCC] Add new target hook asm_post_cfi_startproc
2018-12-14 Sam Tebbs <sam.tebbs@arm.com> * doc/tm.texi (TARGET_ASM_POST_CFI_STARTPROC): Define. * doc/tm.texi.in (TARGET_ASM_POST_CFI_STARTPROC): Define. * dwarf2out.c (dwarf2out_do_cfi_startproc): Trigger the hook. * hooks.c (hook_void_FILEptr_tree): Define. * hooks.h (hook_void_FILEptr_tree): Define. * target.def (post_cfi_startproc): Define. From-SVN: r267135
This commit is contained in:
parent
b0aba46ca6
commit
dddb7af4e7
|
@ -1,3 +1,12 @@
|
|||
2018-12-14 Sam Tebbs <sam.tebbs@arm.com>
|
||||
|
||||
* doc/tm.texi (TARGET_ASM_POST_CFI_STARTPROC): Define.
|
||||
* doc/tm.texi.in (TARGET_ASM_POST_CFI_STARTPROC): Define.
|
||||
* dwarf2out.c (dwarf2out_do_cfi_startproc): Trigger the hook.
|
||||
* hooks.c (hook_void_FILEptr_tree): Define.
|
||||
* hooks.h (hook_void_FILEptr_tree): Define.
|
||||
* target.def (post_cfi_startproc): Define.
|
||||
|
||||
2018-12-14 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* lto-cgraph.c (verify_node_partition): New function.
|
||||
|
|
|
@ -9422,6 +9422,15 @@ If this macro is not defined, nothing special is output at the end of
|
|||
the jump-table.
|
||||
@end defmac
|
||||
|
||||
@deftypefn {Target Hook} void TARGET_ASM_POST_CFI_STARTPROC (FILE *@var{}, @var{tree})
|
||||
This target hook is used to emit assembly strings required by the target
|
||||
after the .cfi_startproc directive. The first argument is the file stream to
|
||||
write the strings to and the second argument is the function's declaration. The
|
||||
expected use is to add more .cfi_* directives.
|
||||
|
||||
The default is to not output any assembly strings.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Target Hook} void TARGET_ASM_EMIT_UNWIND_LABEL (FILE *@var{stream}, tree @var{decl}, int @var{for_eh}, int @var{empty})
|
||||
This target hook emits a label at the beginning of each FDE@. It
|
||||
should be defined on targets where FDEs need special labels, and it
|
||||
|
|
|
@ -6429,6 +6429,8 @@ If this macro is not defined, nothing special is output at the end of
|
|||
the jump-table.
|
||||
@end defmac
|
||||
|
||||
@hook TARGET_ASM_POST_CFI_STARTPROC
|
||||
|
||||
@hook TARGET_ASM_EMIT_UNWIND_LABEL
|
||||
|
||||
@hook TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL
|
||||
|
|
|
@ -969,6 +969,8 @@ dwarf2out_do_cfi_startproc (bool second)
|
|||
|
||||
fprintf (asm_out_file, "\t.cfi_startproc\n");
|
||||
|
||||
targetm.asm_out.post_cfi_startproc (asm_out_file, current_function_decl);
|
||||
|
||||
/* .cfi_personality and .cfi_lsda are only relevant to DWARF2
|
||||
eh unwinders. */
|
||||
if (targetm_common.except_unwind_info (&global_options) != UI_DWARF2)
|
||||
|
|
|
@ -276,6 +276,11 @@ hook_void_tree (tree)
|
|||
{
|
||||
}
|
||||
|
||||
void
|
||||
hook_void_FILEptr_tree (FILE *, tree)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
hook_void_rtx_tree (rtx, tree)
|
||||
{
|
||||
|
|
|
@ -82,6 +82,7 @@ extern void hook_void_FILEptr_constcharptr_const_tree (FILE *, const char *,
|
|||
const_tree);
|
||||
extern bool hook_bool_FILEptr_rtx_false (FILE *, rtx);
|
||||
extern void hook_void_rtx_tree (rtx, tree);
|
||||
extern void hook_void_FILEptr_tree (FILE *, tree);
|
||||
extern void hook_void_tree (tree);
|
||||
extern void hook_void_tree_treeptr (tree, tree *);
|
||||
extern void hook_void_int_int (int, int);
|
||||
|
|
|
@ -93,6 +93,17 @@ when the relevant string is @code{NULL}.",
|
|||
bool, (rtx x, unsigned int size, int aligned_p),
|
||||
default_assemble_integer)
|
||||
|
||||
/* Assembly strings required after the .cfi_startproc label. */
|
||||
DEFHOOK
|
||||
(post_cfi_startproc,
|
||||
"This target hook is used to emit assembly strings required by the target\n\
|
||||
after the .cfi_startproc directive. The first argument is the file stream to\n\
|
||||
write the strings to and the second argument is the function\'s declaration.\n\
|
||||
\n\
|
||||
The default is to not output any assembly strings.",
|
||||
void, (FILE *, tree),
|
||||
hook_void_FILEptr_tree)
|
||||
|
||||
/* Notify the backend that we have completed emitting the data for a
|
||||
decl. */
|
||||
DEFHOOK
|
||||
|
|
Loading…
Reference in New Issue