aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2010-07-12 18:53:49 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2010-07-12 18:53:49 +0000
commit7bf84454ff6670c4e44561dc3f1de0b2eaa011fa (patch)
treed92691c0fcef6b3e71c4a66daaaba2d54208366a
parent360d045b059b4ca15f440fa0db81a0dac9d744ba (diff)
downloadgcc-7bf84454ff6670c4e44561dc3f1de0b2eaa011fa.zip
gcc-7bf84454ff6670c4e44561dc3f1de0b2eaa011fa.tar.gz
gcc-7bf84454ff6670c4e44561dc3f1de0b2eaa011fa.tar.bz2
rtl.h (target_rtl): Add x_static_reg_base_value.
gcc/ * rtl.h (target_rtl): Add x_static_reg_base_value. * alias.c (static_reg_base_value): Redefine as a macro. From-SVN: r162092
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/alias.c5
-rw-r--r--gcc/rtl.h4
3 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ff43917..5765ed6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+ * rtl.h (target_rtl): Add x_static_reg_base_value.
+ * alias.c (static_reg_base_value): Redefine as a macro.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
* Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h.
(GTFILES): Remove reginfo.c.
* rtl.h (target_rtl): Add x_top_of_stack.
diff --git a/gcc/alias.c b/gcc/alias.c
index 034c469..e46c8e9 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -212,9 +212,8 @@ static rtx *new_reg_base_value;
array. */
static GTY((deletable)) VEC(rtx,gc) *old_reg_base_value;
-/* Static hunks of RTL used by the aliasing code; these are initialized
- once per function to avoid unnecessary RTL allocations. */
-static GTY (()) rtx static_reg_base_value[FIRST_PSEUDO_REGISTER];
+#define static_reg_base_value \
+ (this_target_rtl->x_static_reg_base_value)
#define REG_BASE_VALUE(X) \
(REGNO (X) < VEC_length (rtx, reg_base_value) \
diff --git a/gcc/rtl.h b/gcc/rtl.h
index aef8da5..4fb96e4 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -2041,6 +2041,10 @@ struct GTY(()) target_rtl {
/* A sample (mem:M stack_pointer_rtx) rtx for each mode M. */
rtx x_top_of_stack[MAX_MACHINE_MODE];
+
+ /* Static hunks of RTL used by the aliasing code; these are treated
+ as persistent to avoid unnecessary RTL allocations. */
+ rtx x_static_reg_base_value[FIRST_PSEUDO_REGISTER];
};
extern GTY(()) struct target_rtl default_target_rtl;