aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBin Cheng <bin.cheng@linux.alibaba.com>2021-07-28 17:44:35 +0800
committerBin Cheng <bin.cheng@linux.alibaba.com>2021-07-28 17:44:35 +0800
commit0f95c6b2f7dae35ec8c9f211d63edc42baa1d2b7 (patch)
tree01deeb06d1bbe1e98098d3ea25231be6e5cd8990
parent88d0f70a326eeb42b479aa537f8a81bf5a199346 (diff)
downloadgcc-0f95c6b2f7dae35ec8c9f211d63edc42baa1d2b7.zip
gcc-0f95c6b2f7dae35ec8c9f211d63edc42baa1d2b7.tar.gz
gcc-0f95c6b2f7dae35ec8c9f211d63edc42baa1d2b7.tar.bz2
Don't skip prologue/epilogue when initializing alias.
Register might be modified in prologue/epilogue, which shouldn't be skipped in alias info analysis. 2021-07-28 Bin Cheng <bin.cheng@linux.alibaba.com> gcc/ * alias.c (init_alias_analysis): Don't skip prologue/epilogue.
-rw-r--r--gcc/alias.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/gcc/alias.c b/gcc/alias.c
index 69e1eb8..099acab 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -3406,14 +3406,6 @@ 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
{
@@ -3459,10 +3451,6 @@ init_alias_analysis (void)
{
rtx note, set;
- if (could_be_prologue_epilogue
- && prologue_epilogue_contains (insn))
- continue;
-
/* If this insn has a noalias note, process it, Otherwise,
scan for sets. A simple set will have no side effects
which could change the base value of any other register. */