tree-inline.c (expand_call_inline): Release the virtual operand defined by the call...
authorRichard Biener <rguenther@suse.de>
Mon, 17 Feb 2014 15:23:19 +0000 (15:23 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 17 Feb 2014 15:23:19 +0000 (15:23 +0000)
2014-02-17  Richard Biener  <rguenther@suse.de>

* tree-inline.c (expand_call_inline): Release the virtual
operand defined by the call we are about to inline.

From-SVN: r207825

gcc/ChangeLog
gcc/tree-inline.c

index be303a4f967267c63089c745fbfad220773374de..dcd4614734a4db654b80f537c74f73a0b4d2d215 100644 (file)
@@ -1,3 +1,8 @@
+2014-02-17  Richard Biener  <rguenther@suse.de>
+
+       * tree-inline.c (expand_call_inline): Release the virtual
+       operand defined by the call we are about to inline.
+
 2014-02-17  Richard Biener  <rguenther@suse.de>
 
        * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
index 439ef4c2933a793e76fe387379a081515441e458..16c0622cf751fcdf74b9110f59fec759c57144ed 100644 (file)
@@ -4364,6 +4364,9 @@ expand_call_inline (basic_block bb, gimple stmt, copy_body_data *id)
 
   /* Unlink the calls virtual operands before replacing it.  */
   unlink_stmt_vdef (stmt);
+  if (gimple_vdef (stmt)
+      && TREE_CODE (gimple_vdef (stmt)) == SSA_NAME)
+    release_ssa_name (gimple_vdef (stmt));
 
   /* If the inlined function returns a result that we care about,
      substitute the GIMPLE_CALL with an assignment of the return