summaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2002-04-10 03:50:39 +0000
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2002-04-10 03:50:39 +0000
commitef15379a9f713ff182ad985f5b8dd173c6e3a7fb (patch)
tree8f57737d03a2fc651bab26e059ff589511d75dfa /gcc/loop.c
parenta87d8cb5071e60e984ed60e995fd0f025ca996a5 (diff)
downloadgcc-ef15379a9f713ff182ad985f5b8dd173c6e3a7fb.tar.gz
PR optimization/6233
* rtlanal.c (pure_call_p): New function. * rtl.h (pure_call_p): Declare. * loop.c (prescan_loop): Use it to set has_nonconst_call. * gcse.c (store_killed_in_insn): Use pure_call_p here too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52110 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index 53b9caa3aa0..468dc20951d 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -2494,6 +2494,8 @@ prescan_loop (loop)
loop_info->unknown_address_altered = 1;
loop_info->has_nonconst_call = 1;
}
+ else if (pure_call_p (insn))
+ loop_info->has_nonconst_call = 1;
loop_info->has_call = 1;
if (can_throw_internal (insn))
loop_info->has_multiple_exit_targets = 1;