Remove gimplify_buildN API use from phiopt
authorRichard Biener <rguenther@suse.de>
Thu, 15 Apr 2021 09:06:09 +0000 (11:06 +0200)
committerRichard Biener <rguenther@suse.de>
Mon, 26 Apr 2021 09:04:00 +0000 (11:04 +0200)
This removes use of the legacy gimplify_buildN API from phiopt.

2021-04-15  Richard Biener  <rguenther@suse.de>

* tree-ssa-phiopt.c (two_value_replacement): Remove use
of legacy gimplify_buildN API.

gcc/tree-ssa-phiopt.c

index 13e5c49..35ce51e 100644 (file)
@@ -752,16 +752,16 @@ two_value_replacement (basic_block cond_bb, basic_block middle_bb,
     }
 
   tree arg = wide_int_to_tree (type, a);
-  gimple_stmt_iterator gsi = gsi_for_stmt (stmt);
-  if (!useless_type_conversion_p (type, TREE_TYPE (lhs)))
-    lhs = gimplify_build1 (&gsi, NOP_EXPR, type, lhs);
+  gimple_seq stmts = NULL;
+  lhs = gimple_convert (&stmts, type, lhs);
   tree new_rhs;
   if (code == PLUS_EXPR)
-    new_rhs = gimplify_build2 (&gsi, PLUS_EXPR, type, lhs, arg);
+    new_rhs = gimple_build (&stmts, PLUS_EXPR, type, lhs, arg);
   else
-    new_rhs = gimplify_build2 (&gsi, MINUS_EXPR, type, arg, lhs);
-  if (!useless_type_conversion_p (TREE_TYPE (arg0), type))
-    new_rhs = gimplify_build1 (&gsi, NOP_EXPR, TREE_TYPE (arg0), new_rhs);
+    new_rhs = gimple_build (&stmts, MINUS_EXPR, type, arg, lhs);
+  new_rhs = gimple_convert (&stmts, TREE_TYPE (arg0), new_rhs);
+  gimple_stmt_iterator gsi = gsi_for_stmt (stmt);
+  gsi_insert_seq_before (&gsi, stmts, GSI_SAME_STMT);
 
   replace_phi_edge_with_variable (cond_bb, e1, phi, new_rhs);