[LLVMbugs] [Bug 1004] NEW: Problem with CodeExtractor.cpp

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Wed Nov 15 03:09:57 PST 2006


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

           Summary: Problem with CodeExtractor.cpp
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Transformation Utilities
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: ashalimov at lvk.cs.msu.su


I have this code:

loopexit.6:   
... // something
no_exit.7:  
... // something
loopexit.7:             ; preds = %no_exit.7, %loopexit.6
        %n.3.1 = phi int [ 0, %loopexit.6 ], [ %n.2, %no_exit.7 ]   
...

I want extract code region, which contains loopexit.6 and no_exit.7. 
CodeExtractor creates new function and puts those basic blocks to this function.
CodeExtractor creates codeReplacer block containing call-instr to new function.
So CodeExtractor modifies phi-node instruction in loopexit.7 :
 %n.3.1 = phi int [ 0, %codeRepl1 ], [ %n.2.reload, %codeRepl1 ]
And verifier  say 'Error' :

PHINode should have one entry for each predecessor of its parent basic block!
        %n.3.1 = phi int [ 0, %codeRepl1 ], [ %n.2.reload, %codeRepl1 ]        
; <int> [#uses=1]
Broken module found, compilation aborted!



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the llvm-bugs mailing list