[LLVMbugs] [Bug 20655] New: setAlreadyVectorized does not delete obsolete metadata

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Aug 13 14:49:16 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=20655

            Bug ID: 20655
           Summary: setAlreadyVectorized does not delete obsolete metadata
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: arch.robison at hotmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 12893
  --> http://llvm.org/bugs/attachment.cgi?id=12893&action=edit
Example input to opt that demonstrates bug

When pass loop-vectorize runs, it adds new loop metadata to indicate that the
vectorizer ran, but fails to remove the old conflicting metadata.  For example,
if you take the attached file for.ll and process it with:

    opt -S -loop-vectorize -debug-only=loop-vectorize for.ll

the output has:

    br i1 %exitcond, label %for.end, label %for.body, !llvm.loop !3
    ...
    !1 = metadata !{metadata !"llvm.loop.vectorize.width", i32 1}
    !2 = metadata !{metadata !"llvm.loop.interleave.count", i32 1}
    !3 = metadata !{metadata !3, metadata !4, metadata !1, metadata !2}
    !4 = metadata !{metadata !"llvm.loop.vectorize.width", i32 4}

Note that !3 contains two conflicting widths: a width of 1 inside !2 and a
width of 4 inside !4.  The pass should not have included !4 inside !3.

I'm using LLVM version 3.6.0svn.

-- 
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/20140813/5d97dcb8/attachment.html>


More information about the llvm-bugs mailing list