Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

[Polly] Run-time alias check construction hangs #21164

Closed Quuxplusone closed 8 years ago

Quuxplusone commented 10 years ago
Bugzilla Link PR21166
Status RESOLVED FIXED
Importance P normal
Reported by Tobias Grosser (tobias@grosser.es)
Reported on 2014-10-06 04:29:12 -0700
Last modified on 2016-01-18 17:01:43 -0800
Version unspecified
Hardware PC Linux
CC jdoerfert@anl.gov, llvm-bugs@lists.llvm.org
Fixed by commit(s)
Attachments test-case.ll (2004 bytes, application/octet-stream)
Blocks
Blocked by
See also
Running

alias polly-opt='opt -load LLVMPolly.so'

polly-opt -polly-code-generator=isl test-case.ll

causes a time out for me.

My first investigations point to:

commit 61337345c7fbc77f04a816d5ca45631a013132f9
Author: Johannes Doerfert <doerfert@cs.uni-saarland.de>
Date:   Wed Oct 1 12:42:37 2014 +0000

    [RTC] Use the domain to split alias groups.

      We use a parametric abstraction of the domain to split alias groups
      if accesses cannot be executed under the same parameter evaluation.

      The two test cases check that we can remove alias groups if the
      pointers which might alias are never accessed under the same parameter
      evaluation and that the minimal/maximal accesses are not global but
      with regards to the parameter evaluation.

    Differential Revision: http://reviews.llvm.org/D5436
Quuxplusone commented 10 years ago

Attached test-case.ll (2004 bytes, application/octet-stream): Test case

Quuxplusone commented 10 years ago
When you dump the SCoP before we build alias groups you see:

       Stmt_for_body9
            Domain :=
                { Stmt_for_body9[i0, i1] : 1 = 0 };

and that's why the splitting procedure doesn't converge.

Fix: http://reviews.llvm.org/D5623
Quuxplusone commented 10 years ago

Fixed in r219131.

Quuxplusone commented 8 years ago

Move to Polly Product.