summaryrefslogtreecommitdiff
path: root/gcc/alias.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2015-06-30 20:55:13 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2015-06-30 20:55:13 +0000
commitcf3a33c871e183d9bf07efb3015bf5583ef9f482 (patch)
tree2193da8de1f51038b6a2aaffb584896891556546 /gcc/alias.c
parenta24ef8d231d1015c5a4ee68050ed78f5582342fe (diff)
downloadgcc-cf3a33c871e183d9bf07efb3015bf5583ef9f482.tar.gz
gcc/
* defaults.h (HAVE_epilogue, gen_epilogue): Delete. * target-insns.def (epilogue, prologue, sibcall_prologue): New targetm instruction patterns. * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_* interface. * calls.c (expand_call): Likewise. * cfgrtl.c (cfg_layout_finalize): Likewise. * df-scan.c (df_get_entry_block_def_set): Likewise. (df_get_exit_block_use_set): Likewise. * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise. * final.c (final_start_function): Likewise. * function.c (thread_prologue_and_epilogue_insns): Likewise. (reposition_prologue_and_epilogue_notes): Likewise. * reorg.c (find_end_label): Likewise. * toplev.c (process_options): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225208 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/alias.c')
-rw-r--r--gcc/alias.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/gcc/alias.c b/gcc/alias.c
index ca2082e7e65..3e75b91b63d 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -3038,6 +3038,14 @@ init_alias_analysis (void)
rpo = XNEWVEC (int, n_basic_blocks_for_fn (cfun));
rpo_cnt = pre_and_rev_post_order_compute (NULL, rpo, false);
+ /* The prologue/epilogue insns are not threaded onto the
+ insn chain until after reload has completed. Thus,
+ there is no sense wasting time checking if INSN is in
+ the prologue/epilogue until after reload has completed. */
+ bool could_be_prologue_epilogue = ((targetm.have_prologue ()
+ || targetm.have_epilogue ())
+ && reload_completed);
+
pass = 0;
do
{
@@ -3076,17 +3084,7 @@ init_alias_analysis (void)
{
rtx note, set;
-#if defined (HAVE_prologue)
- static const bool prologue = true;
-#else
- static const bool prologue = false;
-#endif
-
- /* The prologue/epilogue insns are not threaded onto the
- insn chain until after reload has completed. Thus,
- there is no sense wasting time checking if INSN is in
- the prologue/epilogue until after reload has completed. */
- if ((prologue || HAVE_epilogue) && reload_completed
+ if (could_be_prologue_epilogue
&& prologue_epilogue_contains (insn))
continue;