sh.md (*return_i): Move trap_exit attribute check to ...
* config/sh/sh.md (*return_i): Move trap_exit attribute check to ... * config/sh/sh.c (sh_cfun_trap_exit_p): ... this new function. * config/sh/sh-protos.h: Declare it. From-SVN: r189362
This commit is contained in:
parent
e6d46b5a8f
commit
d16202bae3
4 changed files with 17 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-07-08 Oleg Endo <olegendo@gcc.gnu.org>
|
||||
|
||||
* config/sh/sh.md (*return_i): Move trap_exit attribute check to ...
|
||||
* config/sh/sh.c (sh_cfun_trap_exit_p): ... this new function.
|
||||
* config/sh/sh-protos.h: Declare it.
|
||||
|
||||
2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
|
||||
|
||||
* mcf.c: Do not include tm.h, tree.h, and langhooks.h.
|
||||
|
|
|
@ -106,6 +106,7 @@ extern void sh_expand_binop_v2sf (enum rtx_code, rtx, rtx, rtx);
|
|||
extern bool sh_expand_t_scc (rtx *);
|
||||
extern rtx sh_gen_truncate (enum machine_mode, rtx, int);
|
||||
extern bool sh_vector_mode_supported_p (enum machine_mode);
|
||||
extern bool sh_cfun_trap_exit_p (void);
|
||||
#endif /* RTX_CODE */
|
||||
|
||||
extern const char *output_jump_label_table (void);
|
||||
|
|
|
@ -9309,6 +9309,15 @@ sh_cfun_resbank_handler_p (void)
|
|||
!= NULL_TREE) && TARGET_SH2A);
|
||||
}
|
||||
|
||||
/* Returns true if the current function has a "trap_exit" attribute set. */
|
||||
|
||||
bool
|
||||
sh_cfun_trap_exit_p (void)
|
||||
{
|
||||
return lookup_attribute ("trap_exit", DECL_ATTRIBUTES (current_function_decl))
|
||||
!= NULL_TREE;
|
||||
}
|
||||
|
||||
/* Implement TARGET_CHECK_PCH_TARGET_FLAGS. */
|
||||
|
||||
static const char *
|
||||
|
|
|
@ -9442,8 +9442,7 @@ label:
|
|||
&& (crtl->args.info.call_cookie
|
||||
& CALL_COOKIE_RET_TRAMP (1)))
|
||||
&& reload_completed
|
||||
&& lookup_attribute (\"trap_exit\",
|
||||
DECL_ATTRIBUTES (current_function_decl)) == NULL_TREE"
|
||||
&& ! sh_cfun_trap_exit_p ()"
|
||||
{
|
||||
if (TARGET_SH2A && (dbr_sequence_length () == 0)
|
||||
&& !current_function_interrupt)
|
||||
|
|
Loading…
Add table
Reference in a new issue