diff options
author | Mark Mitchell <mmitchel@gcc.gnu.org> | 1998-08-25 12:01:52 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1998-08-25 12:01:52 +0000 |
commit | 264fac3496eefa6bcd2d82e9dd55b53ad5df545e (patch) | |
tree | 1afacc08bec0bbc4d5371075aef5806f7084cf0e /gcc/alias.c | |
parent | 9a855d84862cd3f752498e1bc9f599efe65c7f24 (diff) | |
download | gcc-264fac3496eefa6bcd2d82e9dd55b53ad5df545e.zip gcc-264fac3496eefa6bcd2d82e9dd55b53ad5df545e.tar.gz gcc-264fac3496eefa6bcd2d82e9dd55b53ad5df545e.tar.bz2 |
alias.c: Include output.h.
* alias.c: Include output.h.
(DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
different if we're in a varargs function.
* Makefile.in (alias.o): Depend on output.h
From-SVN: r21967
Diffstat (limited to 'gcc/alias.c')
-rw-r--r-- | gcc/alias.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/alias.c b/gcc/alias.c index 8e0d21b..7c6c75f 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -26,6 +26,7 @@ Boston, MA 02111-1307, USA. */ #include "regs.h" #include "hard-reg-set.h" #include "flags.h" +#include "output.h" #include "toplev.h" static rtx canon_rtx PROTO((rtx)); @@ -58,11 +59,14 @@ static rtx find_base_value PROTO((rtx)); #endif /* Returns nonzero if MEM1 and MEM2 do not alias because they are in - different alias sets. */ -#define DIFFERENT_ALIAS_SETS_P(MEM1, MEM2) \ - (CHECK_ALIAS_SETS_FOR_CONSISTENCY(MEM1, MEM2), \ - MEM_ALIAS_SET (MEM1) && MEM_ALIAS_SET (MEM2) \ - && MEM_ALIAS_SET (MEM1) != MEM_ALIAS_SET (MEM2)) + different alias sets. We ignore alias sets in functions making use + of variable arguments because the va_arg macros on some systems are + not legal ANSI C. */ +#define DIFFERENT_ALIAS_SETS_P(MEM1, MEM2) \ + (CHECK_ALIAS_SETS_FOR_CONSISTENCY(MEM1, MEM2), \ + MEM_ALIAS_SET (MEM1) && MEM_ALIAS_SET (MEM2) \ + && MEM_ALIAS_SET (MEM1) != MEM_ALIAS_SET (MEM2) \ + && !current_function_stdarg && !current_function_varargs) /* Cap the number of passes we make over the insns propagating alias information through set chains. |