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]

[PATCH 0/6][graphite] Fix PR45230.


Hi,

This patch set corrects PR45230: "gcc.c-torture/execute/strncmp-1.c
ICEs with -fgraphite-identity".

The fail is due to the fact that during the scalar evolution is used
in two different parts of the scop detection: first we correctly
analyze the scalar evolution of a phi node, and then in a second
invocation, we fail to recognize that the same phi node has an affine
evolution in the loop, as the initial value is a data reference.

This patch-set improves the scalar evolution code to recognize affine
scevs with data references as initial values.

I am committing these patches to the graphite branch for further test.

Sebastian Pop (5):
  Factor out is_gimple_reg calls.
  A function is affine when CHREC_RIGHT is invariant.
  Fix chrec_contains_symbols_defined_in_loop.
  Also handle ARRAY_REFs in instantiate_scev_r.
  Add testcase for PR45230.

Vladimir Kargov (1):
  Fix the description of graphite_can_represent_loop.

 gcc/ChangeLog.graphite                     |   37 ++++++++++++++++
 gcc/graphite-scop-detection.c              |    4 +-
 gcc/graphite-sese-to-poly.c                |   18 +++-----
 gcc/testsuite/gcc.dg/graphite/id-pr45230.c |   14 ++++++
 gcc/tree-chrec.h                           |   21 ++-------
 gcc/tree-scalar-evolution.c                |   64 +++++++++++++++++++++++-----
 6 files changed, 116 insertions(+), 42 deletions(-)
 create mode 100644 gcc/testsuite/gcc.dg/graphite/id-pr45230.c


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