From 30eff8736e5ac48629886b334a4821fddd13e1d6 Mon Sep 17 00:00:00 2001 From: rguenth Date: Wed, 12 Jan 2011 15:01:09 +0000 Subject: [PATCH] 2011-01-12 Richard Guenther PR lto/47259 * lto-streamer-out.c (output_gimple_stmt): Do not wrap register variables in a MEM_REF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168713 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/lto-streamer-out.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7181f961241..4724df2f7b7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-01-12 Richard Guenther + + PR lto/47259 + * lto-streamer-out.c (output_gimple_stmt): Do not wrap + register variables in a MEM_REF. + 2011-01-12 Joseph Myers * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*, diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 7c0029334fd..e471d70bbcd 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -1769,7 +1769,8 @@ output_gimple_stmt (struct output_block *ob, gimple stmt) while (handled_component_p (*basep)) basep = &TREE_OPERAND (*basep, 0); if (TREE_CODE (*basep) == VAR_DECL - && !auto_var_in_fn_p (*basep, current_function_decl)) + && !auto_var_in_fn_p (*basep, current_function_decl) + && !DECL_REGISTER (*basep)) { bool volatilep = TREE_THIS_VOLATILE (*basep); *basep = build2 (MEM_REF, TREE_TYPE (*basep), -- 2.11.4.GIT