This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 0/6][graphite] Fix PR45230.
- From: Sebastian Pop <sebpop at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: gcc-graphite at googlegroups dot com, Sebastian Pop <sebpop at gmail dot com>
- Date: Fri, 20 Aug 2010 18:44:34 -0500
- Subject: [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