diff options
author | Richard Biener <rguenther@suse.de> | 2014-10-15 15:05:20 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-10-15 15:05:20 +0000 |
commit | 42e52a51c4d34c11b2400137f196076ba6eda9b4 (patch) | |
tree | 6128d6f82b001f30b643013e41378fdd691a19aa /gcc | |
parent | 42630ea643e7b83937cd275d9f6dee39fc82f469 (diff) | |
download | gcc-42e52a51c4d34c11b2400137f196076ba6eda9b4.zip gcc-42e52a51c4d34c11b2400137f196076ba6eda9b4.tar.gz gcc-42e52a51c4d34c11b2400137f196076ba6eda9b4.tar.bz2 |
gimple-fold.c (gimple_fold_call): Properly keep virtual SSA form up-to-date when...
2014-10-15 Richard Biener <rguenther@suse.de>
* gimple-fold.c (gimple_fold_call): Properly keep virtual
SSA form up-to-date when devirtualizing a call to
__builtin_unreachable and avoid fixing up EH info here.
From-SVN: r216266
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/gimple-fold.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index efbbe41..89a84a2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-10-15 Richard Biener <rguenther@suse.de> + + * gimple-fold.c (gimple_fold_call): Properly keep virtual + SSA form up-to-date when devirtualizing a call to + __builtin_unreachable and avoid fixing up EH info here. + 2014-10-15 Alexander Ivchenko <alexander.ivchenko@intel.com> Maxim Kuznetsov <maxim.kuznetsov@intel.com> Anna Tikhonova <anna.tikhonova@intel.com> diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index a0ce0db..cc27cb9 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -2629,7 +2629,11 @@ gimple_fold_call (gimple_stmt_iterator *gsi, bool inplace) gsi_insert_before (gsi, new_stmt, GSI_NEW_STMT); } else - gsi_replace (gsi, new_stmt, true); + { + gimple_set_vuse (new_stmt, gimple_vuse (stmt)); + gimple_set_vdef (new_stmt, gimple_vdef (stmt)); + gsi_replace (gsi, new_stmt, false); + } return true; } } |