diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2021-01-03 21:40:04 +0100 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2021-01-03 21:40:04 +0100 |
commit | afae4a55ccaa0de95ea11e5f634084db6ab2f444 (patch) | |
tree | d632cc867d10410ba9fb750523be790b86846ac4 /gcc/tree-complex.c | |
parent | 9d9a82ec8478ff52c7a9d61f58cd2a7b6295b5f9 (diff) | |
parent | d2eb616a0f7bea78164912aa438c29fe1ef5774a (diff) | |
download | gcc-afae4a55ccaa0de95ea11e5f634084db6ab2f444.zip gcc-afae4a55ccaa0de95ea11e5f634084db6ab2f444.tar.gz gcc-afae4a55ccaa0de95ea11e5f634084db6ab2f444.tar.bz2 |
Merge branch 'master' into devel/coarray_native
Diffstat (limited to 'gcc/tree-complex.c')
-rw-r--r-- | gcc/tree-complex.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c index f132e0f..1cfb3e8 100644 --- a/gcc/tree-complex.c +++ b/gcc/tree-complex.c @@ -318,7 +318,7 @@ complex_propagate::visit_stmt (gimple *stmt, edge *taken_edge_p ATTRIBUTE_UNUSED lhs = gimple_get_lhs (stmt); /* Skip anything but GIMPLE_ASSIGN and GIMPLE_CALL with a lhs. */ - if (!lhs) + if (!lhs || SSA_NAME_OCCURS_IN_ABNORMAL_PHI (lhs)) return SSA_PROP_VARYING; /* These conditions should be satisfied due to the initial filter @@ -417,6 +417,9 @@ complex_propagate::visit_phi (gphi *phi) set up in init_dont_simulate_again. */ gcc_assert (TREE_CODE (TREE_TYPE (lhs)) == COMPLEX_TYPE); + if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (lhs)) + return SSA_PROP_VARYING; + /* We've set up the lattice values such that IOR neatly models PHI meet. */ new_l = UNINITIALIZED; for (i = gimple_phi_num_args (phi) - 1; i >= 0; --i) |