diff options
author | Richard Guenther <rguenther@suse.de> | 2011-01-12 15:01:09 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-01-12 15:01:09 +0000 |
commit | 4b18b3c25be70a76f65629d11d80a64d396a1a7a (patch) | |
tree | ad5c376095525a5ec7e80f68d14a2edf3f97b33a | |
parent | 8e38461c76dc3c71f494d41b3b78cf42160f41fd (diff) | |
download | gcc-4b18b3c25be70a76f65629d11d80a64d396a1a7a.zip gcc-4b18b3c25be70a76f65629d11d80a64d396a1a7a.tar.gz gcc-4b18b3c25be70a76f65629d11d80a64d396a1a7a.tar.bz2 |
re PR lto/47259 (LTO and global register variable)
2011-01-12 Richard Guenther <rguenther@suse.de>
PR lto/47259
* lto-streamer-out.c (output_gimple_stmt): Do not wrap
register variables in a MEM_REF.
From-SVN: r168713
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/lto-streamer-out.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7181f96..4724df2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-01-12 Richard Guenther <rguenther@suse.de> + + PR lto/47259 + * lto-streamer-out.c (output_gimple_stmt): Do not wrap + register variables in a MEM_REF. + 2011-01-12 Joseph Myers <joseph@codesourcery.com> * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*, diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 7c00293..e471d70 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), |