[llvm-bugs] [Bug 25606] New: clang-cl "PHI node entries do not match predecessors!" "Instruction does not dominate all uses!"

via llvm-bugs llvm-bugs at lists.llvm.org
Sun Nov 22 14:07:45 PST 2015


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

            Bug ID: 25606
           Summary: clang-cl "PHI node entries do not match predecessors!"
                    "Instruction does not dominate all uses!"
           Product: clang
           Version: trunk
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: stephan.bergmann.secondary at googlemail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

With recent Clang trunk:

> $ cat test.cc
> struct S0 { ~S0(); };
> struct S1 { virtual ~S1(); };
> struct S2: virtual S1 { void f(); };
> struct S3: S2 {};
> void S2::f() {
>     S0 s;
>     (void) dynamic_cast<S3 *>(this);
> }

> $ clang -cc1 -triple i386-pc-windows-msvc -emit-obj -fexceptions test.cc
> PHI node entries do not match predecessors!
>   %8 = phi %struct.S3* [ %7, %dynamic_cast.notnull ], [ null, %dynamic_cast.null ]
> label %dynamic_cast.notnull
> label %invoke.cont
> Instruction does not dominate all uses!
>   %7 = bitcast i8* %6 to %struct.S3*
>   %8 = phi %struct.S3* [ %7, %dynamic_cast.notnull ], [ null, %dynamic_cast.null ]
> fatal error: error in backend: Broken function found, compilation aborted!

-- 
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/20151122/a79b13b1/attachment.html>


More information about the llvm-bugs mailing list