[llvm-bugs] [Bug 35010] New: Type punning in polly ACC

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Oct 20 02:13:23 PDT 2017


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

            Bug ID: 35010
           Summary: Type punning in polly ACC
           Product: Polly
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Other
          Assignee: polly-dev at googlegroups.com
          Reporter: philip.pfaffe at gmail.com
                CC: llvm-bugs at lists.llvm.org

In polly-acc, there is a dangerous case of type punning happening, which hasn't
blown up by pure chance.

GPUNodeBuilder is derived from IslNodeBuilder, and delegates generation of some
nodes back to its base. One of these cases is for handling `for` nodes. This
occurs whenever there's a loop within the kernel code. IslNodeBuilder will
decide whether this loops should be further parallelized through vectorization
or OMP, and to do so, it looks at the IslAstUserPayload attached to the nodes
annotation. This node, however, was generated by ppcg, which instead attaches
an `isl_ast_build` object to the node. The single reason why this doesn't blow
up is because IslNodeBuilder always looks at the `isInnermost` field first and
bails when that is true. By chance, this is always the case, because it's the
first field of the payload struct, and the first field of isl_ast_build is the
refcount.

-- 
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/20171020/47c041ad/attachment.html>


More information about the llvm-bugs mailing list