mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-09 23:21:31 +08:00
loop-unroll.c (analyze_iv_to_split_insn): Handle iv_analyze_result returning false.
* loop-unroll.c (analyze_iv_to_split_insn): Handle iv_analyze_result returning false. From-SVN: r112289
This commit is contained in:
parent
906ac235a5
commit
4dc7782d15
@ -1,3 +1,8 @@
|
||||
2006-03-22 Jeff Law <law@redhat.com>
|
||||
|
||||
* loop-unroll.c (analyze_iv_to_split_insn): Handle
|
||||
iv_analyze_result returning false.
|
||||
|
||||
2006-03-22 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
* config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove.
|
||||
|
@ -1670,7 +1670,17 @@ analyze_iv_to_split_insn (rtx insn)
|
||||
return NULL;
|
||||
|
||||
ok = iv_analyze_result (insn, dest, &iv);
|
||||
gcc_assert (ok);
|
||||
|
||||
/* This used to be an assert under the assumption that if biv_p returns
|
||||
true that iv_analyze_result must also return true. However, that
|
||||
assumption is not strictly correct as evidenced by pr25569.
|
||||
|
||||
Returning NULL when iv_analyze_result returns false is safe and
|
||||
avoids the problems in pr25569 until the iv_analyze_* routines
|
||||
can be fixed, which is apparently hard and time consuming
|
||||
according to their author. */
|
||||
if (! ok)
|
||||
return NULL;
|
||||
|
||||
if (iv.step == const0_rtx
|
||||
|| iv.mode != iv.extend_mode)
|
||||
|
Loading…
x
Reference in New Issue
Block a user