[LLVMbugs] [Bug 2789] New: module does not pass 'verifierPass' after 'loop unroll'

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Fri Sep 12 15:15:46 PDT 2008


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

           Summary: module does not pass 'verifierPass' after 'loop unroll'
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Loop Optimizer
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: asitgoes at gmail.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=2013)
 --> (http://llvm.org/bugs/attachment.cgi?id=2013)
bitcode after loop unroll pass

Hi, 

 When I'm playing with the loop unroll pass to unroll a loop whose iteration
count is unknown with 'count=2', I found that after the loop unroll pass, the
module has invalid phi instructions as below

PHINode should have one entry for each predecessor of its parent basic block!
        %r6.x.0.lcssa32 = phi float [ %r6.x.0.1, %__while_52_entry.1 ]         
; <float> [#uses=1]
Broken module found, compilation aborted!


 It seems like that at line 332 in 'Transforms/Utils/UnrollLoop.cpp', a branch
is added from each necessary conditionals to the exit block, but the PHI nodes
in the exit block are not updated to have incomings for the branch.
 I attached the bitcode after loop-unroll. Please let me know if I'm guessing
wrong.

 Thanks.

- Ji Young


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list