cfgcleanup.c (BB_SET_FLAG, [...]): Add cast to avoid warning.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Fri, 26 Oct 2001 11:16:09 +0000 (11:16 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 26 Oct 2001 11:16:09 +0000 (07:16 -0400)
* cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.

* local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
ASM_OPERANDS.

From-SVN: r46538

gcc/ChangeLog
gcc/cfgcleanup.c
gcc/local-alloc.c

index 2441efd579621fc00a003267da22cb693dc1ad37..5ebad17369b5b0ec2baf24260d96edd4e1e439bb 100644 (file)
@@ -1,3 +1,10 @@
+Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
+
+       * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
+       ASM_OPERANDS.
+
 2001-10-26  Andreas Jaeger  <aj@suse.de>
 
        * flow.c (clear_log_links): Remove unused variable.
index cdf2b8a8fef483f9471dc7cb59c4e290c1afd89f..a1c13f5cb6ce9481c57f331e6ea0ce75b78c9818 100644 (file)
@@ -56,9 +56,9 @@ enum bb_flags {
 
 #define BB_FLAGS(bb) (enum bb_flags)(bb)->aux
 #define BB_SET_FLAG(bb,flag) \
-  (bb)->aux = (void *)((enum bb_flags)(bb)->aux | (flag))
+  (bb)->aux = (void *) (long) ((enum bb_flags)(bb)->aux | (flag))
 #define BB_CLEAR_FLAG(bb,flag) \
-  (bb)->aux = (void *)((enum bb_flags)(bb)->aux & ~(flag))
+  (bb)->aux = (void *) (long) ((enum bb_flags)(bb)->aux & ~(flag))
 
 #define FORWARDER_BLOCK_P(bb) (BB_FLAGS(bb) & BB_FORWARDER_BLOCK)
 
index b1856a5e90bbe22a39f147954a6295ce042dda4f..780523b5ea3edfe55457eb09c4f160ed272b0f48 100644 (file)
@@ -927,8 +927,11 @@ update_equiv_regs ()
 
          /* cse sometimes generates function invariants, but doesn't put a
             REG_EQUAL note on the insn.  Since this note would be redundant,
-            there's no point creating it earlier than here.  */
-         if (! note && ! rtx_varies_p (src, 0))
+            there's no point creating it earlier than here.  Don't do this
+            for ASM_OPERANDS since eliminate_regs doesn't support it and
+            it serves no useful purpose.  */
+         if (! note && ! rtx_varies_p (src, 0)
+             && GET_CODE (src) != ASM_OPERANDS)
            REG_NOTES (insn)
              = note = gen_rtx_EXPR_LIST (REG_EQUAL, src, REG_NOTES (insn));