diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2001-04-15 16:50:51 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2001-04-15 16:50:51 +0000 |
commit | f54104df4e03a710acc8b1789d5719bbcf981ff0 (patch) | |
tree | f8545d4df4157528aef0a0f1c4fbe72951d462c9 | |
parent | aa570f545ad4d643c09eaa8c3b06127e6895c0e6 (diff) | |
download | gcc-f54104df4e03a710acc8b1789d5719bbcf981ff0.zip gcc-f54104df4e03a710acc8b1789d5719bbcf981ff0.tar.gz gcc-f54104df4e03a710acc8b1789d5719bbcf981ff0.tar.bz2 |
gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
* gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
(find_moveable_store): Likewise.
From-SVN: r41363
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/gcse.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1057c8b..7fd7937 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-04-15 Alexandre Oliva <aoliva@redhat.com> + + * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable. + (find_moveable_store): Likewise. + 2001-04-15 Jim Wilson <wilson@redhat.com> * function.c (expand_function_end): Handle PARALLEL real_decl_rtl. @@ -6264,7 +6264,8 @@ compute_ld_motion_mems () { ptr = ldst_entry (dest); - if (GET_CODE (src) != MEM) + if (GET_CODE (src) != MEM + && GET_CODE (src) != ASM_OPERANDS) ptr->stores = alloc_INSN_LIST (insn, ptr->stores); else ptr->invalid = 1; @@ -6521,7 +6522,8 @@ find_moveable_store (insn) struct ls_expr * ptr; rtx dest = PATTERN (insn); - if (GET_CODE (dest) != SET) + if (GET_CODE (dest) != SET + || GET_CODE (SET_SRC (dest)) == ASM_OPERANDS) return; dest = SET_DEST (dest); |