diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-07-19 21:35:12 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-07-19 21:35:12 +0000 |
commit | 3aeff048d0f101047606497392d6974a369ec1d0 (patch) | |
tree | 690fb10d1738f67c49fec46cc3c844fa7255f80b /gcc/tree-ssa-forwprop.c | |
parent | cbcfd5e3d8d2b8c6ca1c8a67d9554c188ebf9ce1 (diff) | |
download | gcc-3aeff048d0f101047606497392d6974a369ec1d0.tar.gz |
* tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
defining statement is a SSA name that occurs in abnormal PHIs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189687 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-forwprop.c')
-rw-r--r-- | gcc/tree-ssa-forwprop.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c index 2ab4b2375fa..c265f71bc93 100644 --- a/gcc/tree-ssa-forwprop.c +++ b/gcc/tree-ssa-forwprop.c @@ -2584,6 +2584,11 @@ combine_conversions (gimple_stmt_iterator *gsi) unsigned int final_prec = TYPE_PRECISION (type); int final_unsignedp = TYPE_UNSIGNED (type); + /* Don't propagate ssa names that occur in abnormal phis. */ + if (TREE_CODE (defop0) == SSA_NAME + && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (defop0)) + return 0; + /* In addition to the cases of two conversions in a row handled below, if we are converting something to its own type via an object of identical or wider precision, neither |