From 00296d7f68fe3f6ce378fed88eab9999af3a2449 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 27 Jun 2017 09:22:14 +0200 Subject: re PR middle-end/81207 (tree check fail in simplify_builtin_call) PR middle-end/81207 * gimple-fold.c (replace_call_with_call_and_fold): Handle gimple_vuse copying separately from gimple_vdef copying. * gcc.c-torture/compile/pr81207.c: New test. From-SVN: r249677 --- gcc/gimple-fold.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gcc/gimple-fold.c') diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index a00c2c8..8e315fe 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -607,9 +607,10 @@ replace_call_with_call_and_fold (gimple_stmt_iterator *gsi, gimple *repl) && TREE_CODE (gimple_vdef (stmt)) == SSA_NAME) { gimple_set_vdef (repl, gimple_vdef (stmt)); - gimple_set_vuse (repl, gimple_vuse (stmt)); SSA_NAME_DEF_STMT (gimple_vdef (repl)) = repl; } + if (gimple_vuse (stmt)) + gimple_set_vuse (repl, gimple_vuse (stmt)); gsi_replace (gsi, repl, false); fold_stmt (gsi); } -- cgit v1.1