diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/combine.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 29ba53e..279b780 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-09-18 Geoff Keating <geoffk@cygnus.com> + + * combine.c (can_combine_p): Don't substitute an ASM_OPERANDS + into anything. + 2000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * Makefile.in (c-common.o): Depend on diagnostic.h. diff --git a/gcc/combine.c b/gcc/combine.c index a498b58..9f59837 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -1058,6 +1058,8 @@ can_combine_p (insn, i3, pred, succ, pdest, psrc) /* Don't combine with an insn that sets a register to itself if it has a REG_EQUAL note. This may be part of a REG_NO_CONFLICT sequence. */ || (rtx_equal_p (src, dest) && find_reg_note (insn, REG_EQUAL, NULL_RTX)) + /* Can't merge an ASM_OPERANDS. */ + || GET_CODE (src) == ASM_OPERANDS /* Can't merge a function call. */ || GET_CODE (src) == CALL /* Don't eliminate a function call argument. */ |
