diff options
Diffstat (limited to 'gcc/tree-parloops.c')
-rw-r--r-- | gcc/tree-parloops.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index 968368f..9de154e 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -2794,8 +2794,16 @@ try_create_reduction_list (loop_p loop, gimple *reduc_phi; tree val = PHI_ARG_DEF_FROM_EDGE (phi, exit); - if (TREE_CODE (val) == SSA_NAME && !virtual_operand_p (val)) + if (!virtual_operand_p (val)) { + if (TREE_CODE (val) != SSA_NAME) + { + if (dump_file && (dump_flags & TDF_DETAILS)) + fprintf (dump_file, + " FAILED: exit PHI argument invariant.\n"); + return false; + } + if (dump_file && (dump_flags & TDF_DETAILS)) { fprintf (dump_file, "phi is "); |