diff options
author | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2007-03-12 21:56:12 +0000 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2007-03-12 21:56:12 +0000 |
commit | fbb0d4f87836abb8c0fee3ac8308c80460ecef8c (patch) | |
tree | e514ce3f0e370009d38ad96a7e1a8faf711baef9 | |
parent | dc5bbad332834841c4e5016db3245cff1d096638 (diff) | |
download | gcc-fbb0d4f87836abb8c0fee3ac8308c80460ecef8c.zip gcc-fbb0d4f87836abb8c0fee3ac8308c80460ecef8c.tar.gz gcc-fbb0d4f87836abb8c0fee3ac8308c80460ecef8c.tar.bz2 |
re PR middle-end/30835 (ICE with -O2 -ftree-loop-linear)
PR tree-optimization/30835
* lambda-code.c (can_convert_to_perfect_nest): Check whether
bb_for_stmt is not NULL before accessing it.
From-SVN: r122866
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/lambda-code.c | 5 |
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3abf3ed..4cb520b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-03-12 Zdenek Dvorak <dvorakz@suse.cz> + + PR tree-optimization/30835 + * lambda-code.c (can_convert_to_perfect_nest): Check whether + bb_for_stmt is not NULL before accessing it. + 2007-03-12 Joseph Myers <joseph@codesourcery.com> * gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for @@ -33,9 +39,9 @@ 2007-03-12 Richard Henderson <rth@redhat.com> - * config/darwin.c (machopic_reloc_rw_mask): New. - * config/darwin-protos.h (machopic_reloc_rw_mask): Declare. - * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New. + * config/darwin.c (machopic_reloc_rw_mask): New. + * config/darwin-protos.h (machopic_reloc_rw_mask): Declare. + * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New. 2007-03-12 Mark Mitchell <mark@codesourcery.com> diff --git a/gcc/lambda-code.c b/gcc/lambda-code.c index d763266..487c646 100644 --- a/gcc/lambda-code.c +++ b/gcc/lambda-code.c @@ -2363,8 +2363,9 @@ can_convert_to_perfect_nest (struct loop *loop) { tree arg_stmt = SSA_NAME_DEF_STMT (arg); - if (bb_for_stmt (arg_stmt)->loop_father - == loop->inner) + if (bb_for_stmt (arg_stmt) + && (bb_for_stmt (arg_stmt)->loop_father + == loop->inner)) goto fail; } } |