[llvm-bugs] [Bug 28984] New: SCEV not sufficiently invalidated - Results in non-dominating expressions to be inserted

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Aug 15 09:32:37 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=28984

            Bug ID: 28984
           Summary: SCEV not sufficiently invalidated - Results in
                    non-dominating expressions to be inserted
           Product: Polly
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Optimizer
          Assignee: polly-dev at googlegroups.com
          Reporter: tobias at grosser.es
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

opt  -polly-process-unprofitable  -polly-remarks-minimal  -S -polly-codegen 
 -polly-invariant-load-hoisting=false
test/Isl/CodeGen/hoisted_load_escapes_through_phi.ll

fails with r78673:

  %tmp1 = load i32, i32* @cont_STACKPOINTER, align 4
  %0 = sext i32 %tmp1 to i64
Polly generated function could not be verified. Add -polly-codegen-verify=false
to disable this assertion.

The test case contains two scops in a row, where the first scop is code
generated "before" the second scop. Unfortunately the second scop references
the first scop in some of the SCEV expressions used, which results in parameter
values of the second scop referencing an instruction ('tmp1') which is not any
more dominating the second scop.

We probably need to run SE.forgetValue() for all instruction in the original
scop region. However, this might conflict with the caching of SCEV instructions
in ScopDetection.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160815/a3cd6c13/attachment.html>


More information about the llvm-bugs mailing list