[LLVMbugs] [Bug 16508] New: "Virtual register def doesn't dominate all uses" assert from PHI elimination

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jul 1 09:12:33 PDT 2013


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

            Bug ID: 16508
           Summary: "Virtual register def doesn't dominate all uses"
                    assert from PHI elimination
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: hfinkel at anl.gov
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 10799
  --> http://llvm.org/bugs/attachment.cgi?id=10799&action=edit
bugpoint reduced test case

When compiling the attached (bugpoint reduced) test case using llc, phi
elimination creates the following block:

BB#7: derived from LLVM BB %for.cond940
    Predecessors according to CFG: BB#7 BB#6
        %vreg1<def> = COPY %vreg21<kill>; G8RC:%vreg1,%vreg21
        %vreg21<def> = COPY %vreg2; G8RC:%vreg21,%vreg2
        %vreg2<def> = COPY %vreg22<kill>; G8RC:%vreg2,%vreg22
        %vreg22<def> = IMPLICIT_DEF; G8RC:%vreg22
        BCC 68, %vreg16, <BB#7>; CRRC:%vreg16
        B <BB#8>
    Successors according to CFG: BB#8(4) BB#7(124)

which latter asserts as:

*** Bad machine code: Virtual register def doesn't dominate all uses. ***
- function:    func_7
- basic block: BB#7 for.cond940 (0x10027f1d0f0)
- instruction: %vreg2<def> = COPY %vreg22<kill>; G8RC:%vreg2,%vreg22
LLVM ERROR: Found 1 machine code errors.

Credit for finding the (unreduced) failing case goes to csmith
(https://github.com/csmith-project/csmith).

-- 
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/20130701/60ae5878/attachment.html>


More information about the llvm-bugs mailing list