diff options
author | Kai Tietz <ktietz@redhat.com> | 2014-11-12 21:04:50 +0100 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2014-11-12 21:04:50 +0100 |
commit | 7eb0def89e57086611a044febf906ffd3e515c3a (patch) | |
tree | 4f4d316cdf8f1b58caaa2fcd713ff9b7795ec4d8 /gcc | |
parent | d8af84e67b08377cf813eb4d4bbf8ae2e8226fa1 (diff) | |
download | gcc-7eb0def89e57086611a044febf906ffd3e515c3a.zip gcc-7eb0def89e57086611a044febf906ffd3e515c3a.tar.gz gcc-7eb0def89e57086611a044febf906ffd3e515c3a.tar.bz2 |
sdbout.c (sdbout_symbol): Eliminate register only if decl isn't a global variable.
2014-11-12 Kai Tietz <ktietz@redhat.com>
* sdbout.c (sdbout_symbol): Eliminate register only
if decl isn't a global variable.
From-SVN: r217443
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/sdbout.c | 11 |
2 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2eb6f35..8b98649 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-11-12 Kai Tietz <ktietz@redhat.com> + + * sdbout.c (sdbout_symbol): Eliminate register only + if decl isn't a global variable. + 2014-11-12 Alan Lawrence <alan.lawrence@arm.com> * config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Display indices. diff --git a/gcc/sdbout.c b/gcc/sdbout.c index 7b6f457..4cea780 100644 --- a/gcc/sdbout.c +++ b/gcc/sdbout.c @@ -739,13 +739,16 @@ sdbout_symbol (tree decl, int local) if (!DECL_RTL_SET_P (decl)) return; - SET_DECL_RTL (decl, - eliminate_regs (DECL_RTL (decl), VOIDmode, NULL_RTX)); + value = DECL_RTL (decl); + + if (!is_global_var (decl)) + value = eliminate_regs (value, VOIDmode, NULL_RTX); + + SET_DECL_RTL (decl, value); #ifdef LEAF_REG_REMAP if (crtl->uses_only_leaf_regs) - leaf_renumber_regs_insn (DECL_RTL (decl)); + leaf_renumber_regs_insn (value); #endif - value = DECL_RTL (decl); /* Don't mention a variable at all if it was completely optimized into nothingness. |