From e953626e0f11e5c57be810d802a4e90333d51830 Mon Sep 17 00:00:00 2001 From: grosser Date: Thu, 10 Jul 2008 19:53:41 +0000 Subject: [PATCH] 2008-07-10 Harsha Jagasia * graphite.c (is_bb_addable): Fix segfault in spec gzip and reformat. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/graphite@137701 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.graphite | 4 ++++ gcc/graphite.c | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index 278d79484dc..29d7801bb17 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,3 +1,7 @@ +2008-07-10 Harsha Jagasia + + * graphite.c (is_bb_addable): Fix segfault in spec gzip and reformat. + 2008-07-10 Tobias Grosser * graphite.c (graphite_trans_bb_swap_loops): Rename from diff --git a/gcc/graphite.c b/gcc/graphite.c index 157fe5372ad..ea1ea905679 100644 --- a/gcc/graphite.c +++ b/gcc/graphite.c @@ -932,7 +932,7 @@ is_bb_addable (basic_block bb, struct loop *outermost_loop, else free_scops (tmp_scops); - return bb_addable; + break; } case GBB_LOOP_MULT_EXIT_HEADER: @@ -962,7 +962,7 @@ is_bb_addable (basic_block bb, struct loop *outermost_loop, move_scops (&tmp_scops, scops); VEC_free (edge, heap, exits); - return bb_addable; + break; } case GBB_COND_HEADER: { @@ -1050,9 +1050,16 @@ is_bb_addable (basic_block bb, struct loop *outermost_loop, if (dominated_by_p (CDI_DOMINATORS, last_bb, bb) && last_bb != bb) *next = last_bb; else - *next = NULL; + { + *next = NULL; - return bb_addable; + if (*last == NULL) + { + *bb_simple = false; + bb_addable = false; + } + } + break; } /* Scan the remaining dominated bbs. */ @@ -1080,7 +1087,7 @@ is_bb_addable (basic_block bb, struct loop *outermost_loop, *next = NULL; move_scops (&tmp_scops, scops); - return bb_addable; + break; } default: gcc_unreachable (); -- 2.11.4.GIT