[llvm-bugs] [Bug 25312] New: [Polly] Loop invariant code hoisting conflicts with generation of escaping values

via llvm-bugs llvm-bugs at lists.llvm.org
Sun Oct 25 05:18:10 PDT 2015


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

            Bug ID: 25312
           Summary: [Polly] Loop invariant code hoisting conflicts with
                    generation of escaping values
           Product: Projects
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Polly
          Assignee: polly-dev at googlegroups.com
          Reporter: tobias at grosser.es
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Created attachment 15157
  --> https://llvm.org/bugs/attachment.cgi?id=15157&action=edit
Test case

With r251231 polly-opt -polly-codegen -polly-process-unprofitable generates
invalid IR. The reason for this is that the current escaping value code
generation assumes ScopArrayInfo objects are not changed (and still refer to
the values in the original scop), but the loop invariant code hosting changes
the BasePtr of i32 MemRef_tmp14[*] to "MemRef_arg".

Disabling loop invariant hoisting fixes this issue.

I was myself surprised we change the BasePtr of ScopArrayInfo objects in the
IslNodeBuilder. I wonder if we could find a solution that retains the original
BasePtr and possibly adds an additional LoopInvariant baseptr to the
ScopArrayInfo which can be used at the places that need it.

-- 
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/20151025/80d699dc/attachment.html>


More information about the llvm-bugs mailing list