[Bug tree-optimization/37694] New: [alias-improvements-branch] can't alias (restrict) function-pointer (read) and local array (write)

dorit at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Oct 1 14:18:00 GMT 2008


This happens in testcases gcc.dg/vect/no-scevccp-outer-6.c and
gcc.dg/vect/vect-multitypes-6.c:

On the alias branch we can't tell that a read through a (restrict) pointer
(which is a function argument) does not overlap with write to a local arrays.
As a result we try to vectorize the loop using loop-versioning controled by a
run-time aliasing test.

In no-scevccp-outer-6.c this capability is not yet supported for outer-loops so
we can't vectorize the outer-loop (the inner loop does get vectorized).

In vect-multitypes-6.c there are too many runtime checks required, so we bail
out:
> "
> === vect_prune_runtime_alias_test_list ===
> vect-multitypes-6.c:34: note: disable versioning for alias - max number of
> generated checks exceeded.
> vect-multitypes-6.c:34: note: too long list of versioning for alias
> run-time tests.
> "
(with --param vect-max-version-for-alias-checks=20 we do vectorize the loop).


-- 
           Summary: [alias-improvements-branch] can't alias (restrict)
                    function-pointer (read) and local array (write)
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dorit at gcc dot gnu dot org


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



More information about the Gcc-bugs mailing list