diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2004-01-15 17:29:10 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2004-01-15 17:29:10 +0000 |
commit | e5396f908ad826fcb3e114c548b72646f5956c9d (patch) | |
tree | 53dfbcb6fa0d0c2e9a7dbff8c8bc88e972bc708a | |
parent | acd47d2a69f7aa1c63562f260e4c5ec3438546a9 (diff) | |
download | gcc-e5396f908ad826fcb3e114c548b72646f5956c9d.zip gcc-e5396f908ad826fcb3e114c548b72646f5956c9d.tar.gz gcc-e5396f908ad826fcb3e114c548b72646f5956c9d.tar.bz2 |
re PR rtl-optimization/13375 (ICE in gcse.c)
PR optimization/13375
* gcse.c (handle_avail_expr): Just return if the source is not a
single set.
From-SVN: r75932
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/gcse.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cdc724b..184b44d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,10 @@ 2004-01-15 Richard Earnshaw <rearnsha@arm.com> + + PR optimization/13375 + * gcse.c (handle_avail_expr): Just return if the source is not a + single set. + +2004-01-15 Richard Earnshaw <rearnsha@arm.com> Daniel Jacobowitz <drow@mvista.com> * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case. @@ -3381,8 +3381,11 @@ handle_avail_expr (rtx insn, struct expr *expr) if (insn_computes_expr == NULL) return 0; expr_set = single_set (insn_computes_expr); + /* The set might be in a parallel with multiple sets; we could + probably handle that, but there's currently no easy way to find + the relevant sub-expression. */ if (!expr_set) - abort (); + return 0; found_setting = 0; use_src = 0; |