diff options
Diffstat (limited to 'gcc/tree-ssa-sccvn.c')
-rw-r--r-- | gcc/tree-ssa-sccvn.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index bca0e8473ae..cddd2d1df58 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -1022,6 +1022,11 @@ set_ssa_val_to (tree from, tree to) { tree currval; + if (from != to + && TREE_CODE (to) == SSA_NAME + && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (to)) + to = from; + /* The only thing we allow as value numbers are VN_TOP, ssa_names and invariants. So assert that here. */ gcc_assert (to != NULL_TREE |