[Bug tree-optimization/81018] [8 regression] gfortran.dg/graphite/pr14741.f90 FAILs

2017-11-29 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81018

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P3  |P4
 CC||jakub at gcc dot gnu.org

[Bug tree-optimization/81018] [8 regression] gfortran.dg/graphite/pr14741.f90 FAILs

2017-07-21 Thread amker at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81018

--- Comment #5 from amker at gcc dot gnu.org ---
Guess this reveals a miss-optimization in graphite.  Pending this issue for now
till it's fully understood.

[Bug tree-optimization/81018] [8 regression] gfortran.dg/graphite/pr14741.f90 FAILs

2017-07-20 Thread amker at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81018

--- Comment #4 from amker at gcc dot gnu.org ---
So there are couple of concerns here.
A) I moved iv_canon pass after loop split so that new loop generated can be
completely unrolled if niter is known and small.  As a result, we don't need to
skip such loops in following optimizers like distribution and graphite.  This
case shows it is cunroll that is wanted, rather than ivcanon.
B) iv_canon adds count-to-zero IV in type of unsigned, but graphite requires
signed iv as in below code:

static bool
loop_ivs_can_be_represented (loop_p loop)
{
  unsigned type_long_long = TYPE_PRECISION (long_long_integer_type_node);
  for (gphi_iterator psi = gsi_start_phis (loop->header); !gsi_end_p (psi);
   gsi_next ())
{
  gphi *phi = psi.phi ();
  tree res = PHI_RESULT (phi);
  tree type = TREE_TYPE (res);

  if (TYPE_UNSIGNED (type) && TYPE_PRECISION (type) >= type_long_long)
return false;
}

  return true;
}

This check could be relaxed?  Given we know all values of the new unsigned IV
can be represented by the corresponding signed type.

C) What do we want to test for this test?  Is it the loop nest multiplying
matrix or the two initialization loops for A/B array?  I guess it's the former?
 For now it's the latter which are tiled.

[Bug tree-optimization/81018] [8 regression] gfortran.dg/graphite/pr14741.f90 FAILs

2017-06-08 Thread amker at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81018

amker at gcc dot gnu.org changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |amker at gcc dot gnu.org

--- Comment #3 from amker at gcc dot gnu.org ---
Sorry for disturbing, I will do investigation.

[Bug tree-optimization/81018] [8 regression] gfortran.dg/graphite/pr14741.f90 FAILs

2017-06-08 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81018

Richard Biener  changed:

   What|Removed |Added

 CC||amker at gcc dot gnu.org

--- Comment #2 from Richard Biener  ---
Caused by

r248965 | amker | 2017-06-07 13:31:44 +0200 (Wed, 07 Jun 2017) | 2 lines

* passes.def (pass_iv_canon): Move before pass_loop_distribution.

[Bug tree-optimization/81018] [8 regression] gfortran.dg/graphite/pr14741.f90 FAILs

2017-06-08 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81018

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-06-08
 CC||rguenth at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Also seen on darwin with -m64.

[Bug tree-optimization/81018] [8 regression] gfortran.dg/graphite/pr14741.f90 FAILs

2017-06-08 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81018

Rainer Orth  changed:

   What|Removed |Added

   Target Milestone|--- |8.0