summaryrefslogtreecommitdiff
path: root/gcc/tree-switch-conversion.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-04 10:45:57 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-04 10:45:57 +0000
commitaf761b0069f0ccc8832e67f0b553f93467686735 (patch)
tree903a28d7a99c5324861ffdddaa9bcefacc331363 /gcc/tree-switch-conversion.c
parent775abe9df5ddfc691e71538752e035f12b39d7dc (diff)
downloadgcc-af761b0069f0ccc8832e67f0b553f93467686735.tar.gz
PR middle-end/37343
* tree-switch-conversion.c (check_final_bb): Accept only IP invariants. * g++.dg/torture/pr37343.C New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139983 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-switch-conversion.c')
-rw-r--r--gcc/tree-switch-conversion.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
index 8bcfcfde5ca..e9757454f21 100644
--- a/gcc/tree-switch-conversion.c
+++ b/gcc/tree-switch-conversion.c
@@ -298,7 +298,7 @@ check_final_bb (void)
if ((bb == info.switch_bb
|| (single_pred_p (bb) && single_pred (bb) == info.switch_bb))
- && !is_gimple_min_invariant (gimple_phi_arg_def (phi, i)))
+ && !is_gimple_ip_invariant (gimple_phi_arg_def (phi, i)))
{
info.reason = " Non-invariant value from a case\n";
return false; /* Non-invariant argument. */