This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[graphite] Fix ICE in scop detection


Hi,

Here is what I committed to the branch.  The ICE was due to a
classification of condition bbs from the outermost loop, in the
function body, as loop exits.

-- 
Sebastian Pop
AMD - GNU Tools
2008-06-04  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (get_bb_type): On function body, i.e. loop_0, 
	don't mark blocks as GBB_LOOP_SING_EXIT_HEADER, mark them
	as GBB_COND_HEADER.

Index: graphite.c
===================================================================
--- graphite.c	(revision 136363)
+++ graphite.c	(working copy)
@@ -665,8 +665,10 @@ get_bb_type (basic_block bb, struct loop
     {
       if (single_exit (loop) != NULL)
         return GBB_LOOP_SING_EXIT_HEADER;
-      else 
+      else if (loop->num != 0)
         return GBB_LOOP_MULT_EXIT_HEADER;
+      else
+	return GBB_COND_HEADER;
     }
 
   if (nb_dom == 0)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]