public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/38492]  New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity
@ 2008-12-11 21:39 jv244 at cam dot ac dot uk
  2008-12-11 21:40 ` [Bug middle-end/38492] " jv244 at cam dot ac dot uk
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: jv244 at cam dot ac dot uk @ 2008-12-11 21:39 UTC (permalink / raw)
  To: gcc-bugs

gfortran -O2 -ffree-form -fgraphite -fgraphite-identity -cpp -D__FFTSG test.f90

causes ./a.out to segfault (also valgrind errors).

==27187== Invalid write of size 8
==27187==    at 0x41449B: mltfftsg_ (in
/scratch/vondele/PR38431/CP2K_2008_12_03/a.out)
==27187==    by 0x414808: fftsg3d_ (in
/scratch/vondele/PR38431/CP2K_2008_12_03/a.out)
==27187==    by 0x414B3B: MAIN__ (in
/scratch/vondele/PR38431/CP2K_2008_12_03/a.out)
==27187==    by 0x414BC9: main (fmain.c:21)
==27187==  Address 0x4050F68 is 0 bytes after a block of size 1,024 alloc'd
==27187==    at 0x4C21D06: malloc (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==27187==    by 0x41472C: fftsg3d_ (in
/scratch/vondele/PR38431/CP2K_2008_12_03/a.out)
==27187==    by 0x414B3B: MAIN__ (in
/scratch/vondele/PR38431/CP2K_2008_12_03/a.out)
==27187==    by 0x414BC9: main (fmain.c:21)


-- 
           Summary: [grapite] segfaulting code when compiled with -fgraphite
                    -fgraphite-identity
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jv244 at cam dot ac dot uk
OtherBugsDependingO 38431
             nThis:


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
@ 2008-12-11 21:40 ` jv244 at cam dot ac dot uk
  2008-12-12 21:53 ` [Bug middle-end/38492] [graphite] " spop at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jv244 at cam dot ac dot uk @ 2008-12-11 21:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from jv244 at cam dot ac dot uk  2008-12-11 21:39 -------
Created an attachment (id=16891)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16891&action=view)
testcase


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
  2008-12-11 21:40 ` [Bug middle-end/38492] " jv244 at cam dot ac dot uk
@ 2008-12-12 21:53 ` spop at gcc dot gnu dot org
  2008-12-12 22:08 ` spop at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: spop at gcc dot gnu dot org @ 2008-12-12 21:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from spop at gcc dot gnu dot org  2008-12-12 21:52 -------
Subject: Bug 38492

Author: spop
Date: Fri Dec 12 21:50:57 2008
New Revision: 142722

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142722
Log:
2008-12-12  Sebastian Pop  <sebastian.pop@amd.com>

        PR tree-optimization/38492
        * graphite.c (rename_map_elt, debug_rename_elt,
        debug_rename_map_1, debug_rename_map, new_rename_map_elt,
        rename_map_elt_info, eq_rename_map_elts,
        get_new_name_from_old_name, bb_in_sese_p): Moved around.
        (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
        (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
        (sese_build_livein_liveouts): New.
        (new_sese, free_sese): New.
        (new_scop): Call new_sese.
        (free_scop): Call free_sese.
        (rename_variables_from_edge, rename_phis_end_scop): Removed.
        (register_old_new_names): Renamed register_old_and_new_names.
        (register_scop_liveout_renames, add_loop_exit_phis,
        insert_loop_close_phis, struct igp,
        default_liveout_before_guard, add_guard_exit_phis,
        insert_guard_phis, copy_renames): New.
        (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
        (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
        (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
        (scop_adjust_phis_for_liveouts): New.
        (gloog): Call scop_adjust_phis_for_liveouts.

        * graphite.h (struct sese): Documented.  Added fields liveout,
        num_ver and livein.
        (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
        (new_sese, free_sese, sese_build_livein_liveouts): Declared.
        (struct scop): Added field liveout_renames.
        (SCOP_LIVEOUT_RENAMES): New.



Modified:
    branches/graphite/gcc/ChangeLog.graphite
    branches/graphite/gcc/graphite.c
    branches/graphite/gcc/graphite.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
  2008-12-11 21:40 ` [Bug middle-end/38492] " jv244 at cam dot ac dot uk
  2008-12-12 21:53 ` [Bug middle-end/38492] [graphite] " spop at gcc dot gnu dot org
@ 2008-12-12 22:08 ` spop at gcc dot gnu dot org
  2008-12-13 11:19 ` jv244 at cam dot ac dot uk
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: spop at gcc dot gnu dot org @ 2008-12-12 22:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from spop at gcc dot gnu dot org  2008-12-12 22:05 -------
Fixed.


-- 

spop at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
                   ` (2 preceding siblings ...)
  2008-12-12 22:08 ` spop at gcc dot gnu dot org
@ 2008-12-13 11:19 ` jv244 at cam dot ac dot uk
  2008-12-15 17:33 ` jv244 at cam dot ac dot uk
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jv244 at cam dot ac dot uk @ 2008-12-13 11:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jv244 at cam dot ac dot uk  2008-12-13 11:18 -------
(In reply to comment #3)
> Fixed.
> 

This still fails here:

gfortran  -v -O2 -g -ffree-form -fgraphite -fgraphite-identity -cpp -D__FFTSG
PR38492.f90

gcc version 4.4.0 20081110 (experimental) [graphite revision 142738] (GCC)

==28201== Invalid write of size 8
==28201==    at 0x41449B: mltfftsg_ (PR38492.f90:234)
==28201==    by 0x414808: fftsg3d_ (PR38492.f90:83)
==28201==    by 0x414B3B: MAIN__ (PR38492.f90:13)
==28201==    by 0x414BC9: main (fmain.c:21)
==28201==  Address 0x4050F68 is 0 bytes after a block of size 1,024 alloc'd
==28201==    at 0x4C21D06: malloc (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==28201==    by 0x41472C: fftsg3d_ (PR38492.f90:80)
==28201==    by 0x414B3B: MAIN__ (PR38492.f90:13)
==28201==    by 0x414BC9: main (fmain.c:21)


-- 

jv244 at cam dot ac dot uk changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |spop at gcc dot gnu dot org
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|FIXED                       |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
                   ` (3 preceding siblings ...)
  2008-12-13 11:19 ` jv244 at cam dot ac dot uk
@ 2008-12-15 17:33 ` jv244 at cam dot ac dot uk
  2008-12-18 19:40 ` jsjodin at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jv244 at cam dot ac dot uk @ 2008-12-15 17:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jv244 at cam dot ac dot uk  2008-12-15 17:32 -------
As suggest in PR38431, works fine with:

gfortran -O2 -ffast-math -funroll-loops -ftree-vectorize -march=native
-fgraphite -fgraphite-identity -cpp -D__FFTSG -fno-strict-overflow test.f90


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
                   ` (4 preceding siblings ...)
  2008-12-15 17:33 ` jv244 at cam dot ac dot uk
@ 2008-12-18 19:40 ` jsjodin at gcc dot gnu dot org
  2008-12-19  0:44 ` jv244 at cam dot ac dot uk
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jsjodin at gcc dot gnu dot org @ 2008-12-18 19:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jsjodin at gcc dot gnu dot org  2008-12-18 19:39 -------
> This still fails here:
> 
> gfortran  -v -O2 -g -ffree-form -fgraphite -fgraphite-identity -cpp -D__FFTSG
> PR38492.f90
> 

I looked into this failure. It fails because the number of iterations cannot be
computed (chrec_unknown) when the loop domain is translated, and is ignored by
scan_tree_for_params. In general it can be dangerous to throw away
chrec_unknown, because it may code that we must generate. 
  The patch will prevent the scop from being transformed if the number of
iterations cannot be analyzed, and it will no longer ignore chrec_unknown. I
will run some more tests to make sure it does not break anything else. The
patch is below:

Index: graphite.c
===================================================================
--- graphite.c  (revision 142764)
+++ graphite.c  (working copy)
@@ -2356,6 +2356,7 @@ graphite_loop_normal_form (loop_p loop)
   tree nit;
   gimple_seq stmts;
   edge exit = single_dom_exit (loop);
+  tree iv = NULL_TREE;

   if (!number_of_iterations_exit (loop, exit, &niter, false))
     gcc_unreachable ();
@@ -2369,7 +2370,14 @@ graphite_loop_normal_form (loop_p loop)
   if (nb_reductions_in_loop (loop) > 0)
     return NULL_TREE;

-  return canonicalize_loop_ivs (loop, NULL, nit);
+  iv = canonicalize_loop_ivs (loop, NULL, nit);
+
+  nit = number_of_latch_executions (loop);
+  nit = analyze_scalar_evolution (loop, nit);
+  if (nit == chrec_dont_know)
+    return NULL_TREE;
+
+  return iv;
 }

 /* Record LOOP as occuring in SCOP.  Returns true when the operation
@@ -2602,7 +2610,7 @@ scan_tree_for_params (scop_p s, tree e, 
   int cst_col, param_col;

   if (e == chrec_dont_know)
-    return;
+    gcc_unreachable ();

   switch (TREE_CODE (e))
     {


-- 

jsjodin at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jsjodin at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
                   ` (5 preceding siblings ...)
  2008-12-18 19:40 ` jsjodin at gcc dot gnu dot org
@ 2008-12-19  0:44 ` jv244 at cam dot ac dot uk
  2008-12-19  1:37 ` spop at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: jv244 at cam dot ac dot uk @ 2008-12-19  0:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from jv244 at cam dot ac dot uk  2008-12-19 00:43 -------
(In reply to comment #6)

> I looked into this failure. It fails because the number of iterations cannot be
> computed (chrec_unknown) when the loop domain is translated, and is ignored by
> scan_tree_for_params. In general it can be dangerous to throw away
> chrec_unknown, because it may code that we must generate. 

tested the patch, and seems to do its job on the testcase here. That's great.
The code in PR38431 also compiles with the patch, but is still segfaulting at
runtime, however.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
                   ` (6 preceding siblings ...)
  2008-12-19  0:44 ` jv244 at cam dot ac dot uk
@ 2008-12-19  1:37 ` spop at gcc dot gnu dot org
  2009-01-05 21:21 ` spop at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: spop at gcc dot gnu dot org @ 2008-12-19  1:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from spop at gcc dot gnu dot org  2008-12-19 01:35 -------
Subject: Re:  [graphite] segfaulting code when compiled with -fgraphite
-fgraphite-identity

>  The patch will prevent the scop from being transformed if the number of
> iterations cannot be analyzed, and it will no longer ignore chrec_unknown. I
> will run some more tests to make sure it does not break anything else. The
> patch is below:
[...]
> +  if (nit == chrec_dont_know)
> +    return NULL_TREE;

Replace this test with

if (chrec_contains_undetermined (nit))

With this change the patch looks good.
Please apply to trunk and branch.

Sebastian


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
                   ` (7 preceding siblings ...)
  2008-12-19  1:37 ` spop at gcc dot gnu dot org
@ 2009-01-05 21:21 ` spop at gcc dot gnu dot org
  2009-01-07 15:41 ` spop at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: spop at gcc dot gnu dot org @ 2009-01-05 21:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from spop at gcc dot gnu dot org  2009-01-05 21:21 -------
Subject: Bug 38492

Author: spop
Date: Mon Jan  5 21:21:16 2009
New Revision: 143097

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143097
Log:
2009-01-05  Sebastian Pop  <sebastian.pop@amd.com>

        PR tree-optimization/38492
        * graphite.c (rename_map_elt, debug_rename_elt,
        debug_rename_map_1, debug_rename_map, new_rename_map_elt,
        rename_map_elt_info, eq_rename_map_elts,
        get_new_name_from_old_name, bb_in_sese_p): Moved around.
        (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
        (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
        (sese_build_livein_liveouts): New.
        (new_sese, free_sese): New.
        (new_scop): Call new_sese.
        (free_scop): Call free_sese.
        (rename_variables_from_edge, rename_phis_end_scop): Removed.
        (register_old_new_names): Renamed register_old_and_new_names.
        (register_scop_liveout_renames, add_loop_exit_phis,
        insert_loop_close_phis, struct igp,
        default_liveout_before_guard, add_guard_exit_phis,
        insert_guard_phis, copy_renames): New.
        (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
        (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
        (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
        (scop_adjust_phis_for_liveouts): New.
        (gloog): Call scop_adjust_phis_for_liveouts.

        * graphite.h (struct sese): Documented.  Added fields liveout,
        num_ver and livein.
        (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
        (new_sese, free_sese, sese_build_livein_liveouts): Declared.
        (struct scop): Added field liveout_renames.
        (SCOP_LIVEOUT_RENAMES): New.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/graphite.c
    trunk/gcc/graphite.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
                   ` (8 preceding siblings ...)
  2009-01-05 21:21 ` spop at gcc dot gnu dot org
@ 2009-01-07 15:41 ` spop at gcc dot gnu dot org
  2009-01-07 15:53 ` spop at gcc dot gnu dot org
  2009-01-07 15:55 ` spop at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: spop at gcc dot gnu dot org @ 2009-01-07 15:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from spop at gcc dot gnu dot org  2009-01-07 15:41 -------
Subject: Bug 38492

Author: spop
Date: Wed Jan  7 15:41:26 2009
New Revision: 143158

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143158
Log:
2009-01-06  Jan Sjodin  <jan.sjodin@amd.com>

        PR tree-optimization/38492
        PR tree-optimization/38498
        * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
        * tree-chrec.h (scev_is_linear_expression): Declared.
        * graphite.c (graphite_cannot_represent_loop_niter): New.
        (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
        (graphite_loop_normal_form): Use gcc_assert.
        (scan_tree_for_params): Use CASE_CONVERT.
        (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
        (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
        Use gcc_assert.  Discard scops that contain unhandled cases.
        (build_scop_conditions): Return a boolean status for unhandled cases.
        (strip_mine_profitable_p): Print the loop number, not its depth.
        (is_interchange_valid): Pass the depth of the loop nest, don't
        recompute it wrongly.
        (graphite_trans_bb_block): Same.
        (graphite_trans_bb_block): Print tentative of loop blocking.
        (graphite_trans_scop_block): Do not print that the loop has been
        blocked.
        (graphite_transform_loops): Do not handle scops that contain condition
        scalar phi nodes.

        * testsuite/gcc.dg/graphite/pr38500.c: Fixed warning as committed
        in trunk.
        * testsuite/gcc.dg/graphite/block-0.c: Update test.
        * testsuite/gcc.dg/graphite/block-1.c: Same.
        * testsuite/gcc.dg/graphite/block-2.c: Remove xfail and test for
blocking.
        * testsuite/gcc.dg/graphite/block-4.c: Remove test for strip mine.
        * testsuite/gcc.dg/graphite/block-3.c: New.
        * testsuite/gcc.dg/graphite/pr38498.c: New.


Added:
    branches/graphite/gcc/testsuite/gcc.dg/graphite/block-3.c   (with props)
    branches/graphite/gcc/testsuite/gcc.dg/graphite/pr38498.c
Modified:
    branches/graphite/gcc/ChangeLog.graphite
    branches/graphite/gcc/graphite.c
    branches/graphite/gcc/testsuite/gcc.dg/graphite/block-0.c
    branches/graphite/gcc/testsuite/gcc.dg/graphite/block-1.c
    branches/graphite/gcc/testsuite/gcc.dg/graphite/block-2.c
    branches/graphite/gcc/testsuite/gcc.dg/graphite/block-4.c
    branches/graphite/gcc/testsuite/gcc.dg/graphite/pr38500.c
    branches/graphite/gcc/tree-chrec.c
    branches/graphite/gcc/tree-chrec.h

Propchange: branches/graphite/gcc/testsuite/gcc.dg/graphite/block-3.c
            ('svn:mergeinfo' added)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
                   ` (9 preceding siblings ...)
  2009-01-07 15:41 ` spop at gcc dot gnu dot org
@ 2009-01-07 15:53 ` spop at gcc dot gnu dot org
  2009-01-07 15:55 ` spop at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: spop at gcc dot gnu dot org @ 2009-01-07 15:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from spop at gcc dot gnu dot org  2009-01-07 15:53 -------
Subject: Bug 38492

Author: spop
Date: Wed Jan  7 15:53:03 2009
New Revision: 143159

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143159
Log:
2009-01-07  Jan Sjodin  <jan.sjodin@amd.com>

        PR tree-optimization/38492
        PR tree-optimization/38498
        * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
        * tree-chrec.h (scev_is_linear_expression): Declared.
        * graphite.c (graphite_cannot_represent_loop_niter): New.
        (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
        (graphite_loop_normal_form): Use gcc_assert.
        (scan_tree_for_params): Use CASE_CONVERT.
        (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
        (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
        Use gcc_assert.  Discard scops that contain unhandled cases.
        (build_scop_conditions): Return a boolean status for unhandled cases.
        (strip_mine_profitable_p): Print the loop number, not its depth.
        (is_interchange_valid): Pass the depth of the loop nest, don't
        recompute it wrongly.
        (graphite_trans_bb_block): Same.
        (graphite_trans_bb_block): Print tentative of loop blocking.
        (graphite_trans_scop_block): Do not print that the loop has been
        blocked.
        (graphite_transform_loops): Do not handle scops that contain condition
        scalar phi nodes.

        * testsuite/gcc.dg/graphite/pr38500.c: Fixed warning as committed
        in trunk.
        * testsuite/gcc.dg/graphite/block-0.c: Update test.
        * testsuite/gcc.dg/graphite/block-1.c: Same.
        * testsuite/gcc.dg/graphite/block-2.c: Remove xfail and test for
blocking.
        * testsuite/gcc.dg/graphite/block-4.c: Remove test for strip mine.
        * testsuite/gcc.dg/graphite/block-3.c: New.
        * testsuite/gcc.dg/graphite/pr38498.c: New.


Added:
    trunk/gcc/testsuite/gcc.dg/graphite/block-3.c
    trunk/gcc/testsuite/gcc.dg/graphite/pr38498.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/graphite.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/graphite/block-0.c
    trunk/gcc/testsuite/gcc.dg/graphite/block-1.c
    trunk/gcc/testsuite/gcc.dg/graphite/block-2.c
    trunk/gcc/testsuite/gcc.dg/graphite/block-4.c
    trunk/gcc/tree-chrec.c
    trunk/gcc/tree-chrec.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug middle-end/38492] [graphite] segfaulting code when compiled with -fgraphite -fgraphite-identity
  2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
                   ` (10 preceding siblings ...)
  2009-01-07 15:53 ` spop at gcc dot gnu dot org
@ 2009-01-07 15:55 ` spop at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: spop at gcc dot gnu dot org @ 2009-01-07 15:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from spop at gcc dot gnu dot org  2009-01-07 15:55 -------
Fixed.


-- 

spop at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38492


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2009-01-07 15:55 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-12-11 21:39 [Bug middle-end/38492] New: [grapite] segfaulting code when compiled with -fgraphite -fgraphite-identity jv244 at cam dot ac dot uk
2008-12-11 21:40 ` [Bug middle-end/38492] " jv244 at cam dot ac dot uk
2008-12-12 21:53 ` [Bug middle-end/38492] [graphite] " spop at gcc dot gnu dot org
2008-12-12 22:08 ` spop at gcc dot gnu dot org
2008-12-13 11:19 ` jv244 at cam dot ac dot uk
2008-12-15 17:33 ` jv244 at cam dot ac dot uk
2008-12-18 19:40 ` jsjodin at gcc dot gnu dot org
2008-12-19  0:44 ` jv244 at cam dot ac dot uk
2008-12-19  1:37 ` spop at gcc dot gnu dot org
2009-01-05 21:21 ` spop at gcc dot gnu dot org
2009-01-07 15:41 ` spop at gcc dot gnu dot org
2009-01-07 15:53 ` spop at gcc dot gnu dot org
2009-01-07 15:55 ` spop at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).