Mercurial > hg > CbC > CbC_gcc
diff gcc/gimple-streamer-out.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line diff
--- a/gcc/gimple-streamer-out.c Thu Oct 25 07:37:49 2018 +0900 +++ b/gcc/gimple-streamer-out.c Thu Feb 13 11:34:05 2020 +0900 @@ -1,6 +1,6 @@ /* Routines for emitting GIMPLE to a file stream. - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. Contributed by Diego Novillo <dnovillo@google.com> This file is part of GCC. @@ -57,7 +57,7 @@ /* Emit statement STMT on the main stream of output block OB. */ static void -output_gimple_stmt (struct output_block *ob, gimple *stmt) +output_gimple_stmt (struct output_block *ob, struct function *fn, gimple *stmt) { unsigned i; enum gimple_code code; @@ -80,7 +80,7 @@ as_a <gassign *> (stmt)), 1); bp_pack_value (&bp, gimple_has_volatile_ops (stmt), 1); - hist = gimple_histogram_value (cfun, stmt); + hist = gimple_histogram_value (fn, stmt); bp_pack_value (&bp, hist != NULL, 1); bp_pack_var_len_unsigned (&bp, stmt->subcode); @@ -139,7 +139,7 @@ so that we do not have to deal with type mismatches on merged symbols during IL read in. The first operand of GIMPLE_DEBUG must be a decl, not MEM_REF, though. */ - if (op && (i || !is_gimple_debug (stmt))) + if (!flag_wpa && op && (i || !is_gimple_debug (stmt))) { basep = &op; if (TREE_CODE (*basep) == ADDR_EXPR) @@ -147,7 +147,7 @@ while (handled_component_p (*basep)) basep = &TREE_OPERAND (*basep, 0); if (VAR_P (*basep) - && !auto_var_in_fn_p (*basep, current_function_decl) + && !auto_var_in_fn_p (*basep, fn->decl) && !DECL_REGISTER (*basep)) { bool volatilep = TREE_THIS_VOLATILE (*basep); @@ -228,7 +228,7 @@ print_gimple_stmt (streamer_dump_file, stmt, 0, TDF_SLIM); } - output_gimple_stmt (ob, stmt); + output_gimple_stmt (ob, fn, stmt); /* Emit the EH region holding STMT. */ region = lookup_stmt_eh_lp_fn (fn, stmt);