]> gcc.gnu.org Git - gcc.git/commitdiff
tree-inline decl_map: skip mapping result's NULL default def
authorAlexandre Oliva <oliva@adacore.com>
Thu, 29 Dec 2022 17:32:54 +0000 (14:32 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Thu, 29 Dec 2022 17:39:46 +0000 (14:39 -0300)
If a result doesn't have a default def, don't attempt to remap it.

for  gcc/ChangeLog

* tree-inline.cc (declare_return_variable): Don't remap NULL
default def of result.

gcc/tree-inline.cc

index bfea1cc11822e5dc301946699190aa9b1375154f..4556256dc32b13ad6d06013250158350641325b8 100644 (file)
@@ -3851,10 +3851,11 @@ declare_return_variable (copy_body_data *id, tree return_slot, tree modify_dest,
         it's default_def SSA_NAME.  */
       if (gimple_in_ssa_p (id->src_cfun)
          && is_gimple_reg (result))
-       {
-         temp = make_ssa_name (temp);
-         insert_decl_map (id, ssa_default_def (id->src_cfun, result), temp);
-       }
+       if (tree default_def = ssa_default_def (id->src_cfun, result))
+         {
+           temp = make_ssa_name (temp);
+           insert_decl_map (id, default_def, temp);
+         }
       insert_init_stmt (id, entry_bb, gimple_build_assign (temp, var));
     }
   else
This page took 0.064969 seconds and 5 git commands to generate.