From 7eb0def89e57086611a044febf906ffd3e515c3a Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Wed, 12 Nov 2014 21:04:50 +0100 Subject: [PATCH] sdbout.c (sdbout_symbol): Eliminate register only if decl isn't a global variable. 2014-11-12 Kai Tietz * sdbout.c (sdbout_symbol): Eliminate register only if decl isn't a global variable. From-SVN: r217443 --- gcc/ChangeLog | 5 +++++ gcc/sdbout.c | 11 +++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2eb6f3515d88..8b98649f2264 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-11-12 Kai Tietz + + * sdbout.c (sdbout_symbol): Eliminate register only + if decl isn't a global variable. + 2014-11-12 Alan Lawrence * config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Display indices. diff --git a/gcc/sdbout.c b/gcc/sdbout.c index 7b6f4573e05b..4cea780c6ebd 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. -- 2.43.5