aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2001-04-15 16:50:51 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2001-04-15 16:50:51 +0000
commitf54104df4e03a710acc8b1789d5719bbcf981ff0 (patch)
treef8545d4df4157528aef0a0f1c4fbe72951d462c9 /gcc/gcse.c
parentaa570f545ad4d643c09eaa8c3b06127e6895c0e6 (diff)
downloadgcc-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
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 402e85e..56117f9 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -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);