diff options
author | dberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-12 15:52:33 +0000 |
---|---|---|
committer | dberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-12 15:52:33 +0000 |
commit | dda28f7c7652c920e2c5e184dcf42e8f38054e94 (patch) | |
tree | a3fa7ab4e950e0e878bee9af9bfb6b11a2c05bee /gcc | |
parent | 3cc3d310805bb249b3720c11041149226cccb28f (diff) | |
download | ppe42-gcc-dda28f7c7652c920e2c5e184dcf42e8f38054e94.tar.gz ppe42-gcc-dda28f7c7652c920e2c5e184dcf42e8f38054e94.zip |
2004-12-13 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
* tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
inner loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92048 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-ssa-loop-ch.c | 2 | ||||
-rw-r--r-- | gcc/tree-ssa-loop-im.c | 3 |
3 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0a14a0d2fd7..da3f3defac6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-12-13 Daniel Berlin <dberlin@dberlin.org> + + * tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null. + * tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real + inner loop. + 2004-12-12 Diego Novillo <dnovillo@redhat.com> * tree-gimple.c (get_base_address): Update documentation. diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c index 71d1bf2162c..e307528b2a8 100644 --- a/gcc/tree-ssa-loop-ch.c +++ b/gcc/tree-ssa-loop-ch.c @@ -152,6 +152,8 @@ copy_loop_headers (void) int limit = 20; loop = loops->parray[i]; + if (!loop) + continue; header = loop->header; /* If the loop is already a do-while style one (either because it was diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index 16e477c9cc5..05970f8d2e1 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -1252,6 +1252,9 @@ determine_lsm (struct loops *loops) struct loop *loop; basic_block bb; + if (!loops->tree_root->inner) + return; + /* Create a UID for each statement in the function. Ordering of the UIDs is not important for this pass. */ max_stmt_uid = 0; |