diff options
author | Geoffrey Keating <geoffk@apple.com> | 2004-01-17 09:31:30 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2004-01-17 09:31:30 +0000 |
commit | f103e34d1dbc090a6bdb744bc1d7a568695ba491 (patch) | |
tree | b625381801a0df010d5793b058692ce3e8e4c49b /gcc/alias.c | |
parent | 19833df131fca53366980de52e90e0923920aa31 (diff) | |
download | gcc-f103e34d1dbc090a6bdb744bc1d7a568695ba491.zip gcc-f103e34d1dbc090a6bdb744bc1d7a568695ba491.tar.gz gcc-f103e34d1dbc090a6bdb744bc1d7a568695ba491.tar.bz2 |
re PR pch/13689 (GGC PCH breaks aliasing)
PR pch/13689
* alias.c (new_alias_set): Mark last_alias_set for PCH.
(get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
for PCH.
(get_frame_alias_set): Likewise, except rename it to 'frame_set'.
* config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
(get_TOC_alias_set): Mark 'set' for PCH.
From-SVN: r76031
Diffstat (limited to 'gcc/alias.c')
-rw-r--r-- | gcc/alias.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/gcc/alias.c b/gcc/alias.c index a56feae..02554a9 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -592,11 +592,11 @@ get_alias_set (tree t) /* Return a brand-new alias set. */ +static GTY(()) HOST_WIDE_INT last_alias_set; + HOST_WIDE_INT new_alias_set (void) { - static HOST_WIDE_INT last_alias_set; - if (flag_strict_aliasing) { if (!alias_sets) @@ -724,29 +724,29 @@ record_component_aliases (tree type) /* Allocate an alias set for use in storing and reading from the varargs spill area. */ +static GTY(()) HOST_WIDE_INT varargs_set = -1; + HOST_WIDE_INT get_varargs_alias_set (void) { - static HOST_WIDE_INT set = -1; - - if (set == -1) - set = new_alias_set (); + if (varargs_set == -1) + varargs_set = new_alias_set (); - return set; + return varargs_set; } /* Likewise, but used for the fixed portions of the frame, e.g., register save areas. */ +static GTY(()) HOST_WIDE_INT frame_set = -1; + HOST_WIDE_INT get_frame_alias_set (void) { - static HOST_WIDE_INT set = -1; + if (frame_set == -1) + frame_set = new_alias_set (); - if (set == -1) - set = new_alias_set (); - - return set; + return frame_set; } /* Inside SRC, the source of a SET, find a base address. */ |