aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/cfgcleanup.c4
-rw-r--r--gcc/local-alloc.c7
3 files changed, 14 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2441efd..5ebad17 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index cdf2b8a..a1c13f5 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -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)
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c
index b1856a5..780523b 100644
--- a/gcc/local-alloc.c
+++ b/gcc/local-alloc.c
@@ -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));