From 7f1b049e9445c78882b7a80506fb7e011f80efc4 Mon Sep 17 00:00:00 2001 From: rguenth Date: Wed, 15 Oct 2014 15:05:20 +0000 Subject: [PATCH] 2014-10-15 Richard Biener * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216266 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/gimple-fold.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index efbbe411fd75..89a84a218125 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-10-15 Richard Biener + + * 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 Maxim Kuznetsov Anna Tikhonova diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index a0ce0db9766f..cc27cb95c5fa 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; } } -- 2.47.2