[PATCH] Slightly optimize LTO streamed bytecode
Richard Biener
rguenther@suse.de
Fri Jan 12 08:33:00 GMT 2018
This optimizes streaming of DECL_DEBUG_EXPR to only when necessary.
LTO bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard.
2018-01-12 Richard Biener <rguenther@suse.de>
* lto-streamer-out.c (DFS::DFS_write_tree_body): Process
DECL_DEBUG_EXPR conditional on DECL_HAS_DEBUG_EXPR_P.
* tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
Likewise.
* tree-streamer-out.c (write_ts_decl_common_tree_pointers): Likewise.
Index: gcc/lto-streamer-out.c
===================================================================
--- gcc/lto-streamer-out.c (revision 256535)
+++ gcc/lto-streamer-out.c (working copy)
@@ -802,7 +802,8 @@ DFS::DFS_write_tree_body (struct output_
|| TREE_CODE (expr) == PARM_DECL)
&& DECL_HAS_VALUE_EXPR_P (expr))
DFS_follow_tree_edge (DECL_VALUE_EXPR (expr));
- if (VAR_P (expr))
+ if (VAR_P (expr)
+ && DECL_HAS_DEBUG_EXPR_P (expr))
DFS_follow_tree_edge (DECL_DEBUG_EXPR (expr));
}
Index: gcc/tree-streamer-in.c
===================================================================
--- gcc/tree-streamer-in.c (revision 256535)
+++ gcc/tree-streamer-in.c (working copy)
@@ -714,7 +714,8 @@ lto_input_ts_decl_common_tree_pointers (
&& DECL_HAS_VALUE_EXPR_P (expr))
SET_DECL_VALUE_EXPR (expr, stream_read_tree (ib, data_in));
- if (VAR_P (expr))
+ if (VAR_P (expr)
+ && DECL_HAS_DEBUG_EXPR_P (expr))
{
tree dexpr = stream_read_tree (ib, data_in);
if (dexpr)
Index: gcc/tree-streamer-out.c
===================================================================
--- gcc/tree-streamer-out.c (revision 256535)
+++ gcc/tree-streamer-out.c (working copy)
@@ -609,7 +609,8 @@ write_ts_decl_common_tree_pointers (stru
&& DECL_HAS_VALUE_EXPR_P (expr))
stream_write_tree (ob, DECL_VALUE_EXPR (expr), ref_p);
- if (VAR_P (expr))
+ if (VAR_P (expr)
+ && DECL_HAS_DEBUG_EXPR_P (expr))
stream_write_tree (ob, DECL_DEBUG_EXPR (expr), ref_p);
}
More information about the Gcc-patches
mailing list