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
This commit is contained in:
Geoffrey Keating 2004-01-17 09:31:30 +00:00 committed by Geoffrey Keating
parent 19833df131
commit f103e34d1d
3 changed files with 27 additions and 17 deletions

View File

@ -1,3 +1,12 @@
2004-01-17 Geoffrey Keating <geoffk@apple.com>
* 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.
2004-01-16 Geoffrey Keating <geoffk@apple.com>
* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps

View File

@ -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 (varargs_set == -1)
varargs_set = new_alias_set ();
if (set == -1)
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. */

View File

@ -230,7 +230,7 @@ int toc_initialized;
char toc_label_name[10];
/* Alias set for saves and restores from the rs6000 stack. */
static int rs6000_sr_alias_set;
static GTY(()) int rs6000_sr_alias_set;
/* Call distance, overridden by -mlongcall and #pragma longcall(1).
The only place that looks at this is rs6000_set_default_type_attributes;
@ -11106,13 +11106,14 @@ rs6000_emit_eh_reg_restore (rtx source, rtx scratch)
emit_move_insn (gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM), operands[0]);
}
static GTY(()) int set = -1;
int
get_TOC_alias_set (void)
{
static int set = -1;
if (set == -1)
set = new_alias_set ();
return set;
if (set == -1)
set = new_alias_set ();
return set;
}
/* This returns nonzero if the current function uses the TOC. This is