alias.c: Include output.h.
authorMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 25 Aug 1998 12:01:52 +0000 (12:01 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 25 Aug 1998 12:01:52 +0000 (12:01 +0000)
* 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

gcc/ChangeLog
gcc/Makefile.in
gcc/alias.c

index ae0884eae1421621fd4876cc1fbdca65fe74a607..c7197ec2eee65151e96a211bc86eda8281c2eb45 100644 (file)
@@ -1,3 +1,10 @@
+Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * 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
+       
 Tue Aug 25 19:20:12 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * sh.h (GIV_SORT_CRITERION): Delete.
@@ -49,6 +56,7 @@ Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>
        (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
        'o' to 'm' for GPR variant constraints.
 
+>>>>>>> 1.1938
 Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
 
         * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
index 07152934d2d590537c4cb070a542e68f6e103d41..8eca4bedf959465b9012eed2ebaca3e96a9754b2 100644 (file)
@@ -1480,7 +1480,7 @@ reorg.o : reorg.c $(CONFIG_H) system.h $(RTL_H) conditions.h hard-reg-set.h \
    $(BASIC_BLOCK_H) $(REGS_H) insn-config.h insn-attr.h \
    insn-flags.h $(RECOG_H) flags.h output.h $(EXPR_H)
 alias.o : alias.c $(CONFIG_H) system.h $(RTL_H) flags.h hard-reg-set.h \
-   $(REGS_H) toplev.h $(EXPR_H)
+   $(REGS_H) toplev.h output.h $(EXPR_H) 
 regmove.o : regmove.c $(CONFIG_H) system.h $(RTL_H) insn-config.h \
    $(RECOG_H) output.h reload.h $(REGS_H) hard-reg-set.h flags.h \
    $(EXPR_H) insn-flags.h $(BASIC_BLOCK_H) toplev.h
index 8e0d21bef64ce88b3b275412d45710da9e57ddfd..7c6c75f1975b4fa45101021e35dd25a04d3ca9ca 100644 (file)
@@ -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.