[llvm-bugs] [Bug 25444] New: [WinEH] Tail duplication pass asserts in the presence of catchpads

via llvm-bugs llvm-bugs at lists.llvm.org
Sat Nov 7 17:58:42 PST 2015


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

            Bug ID: 25444
           Summary: [WinEH] Tail duplication pass asserts in the presence
                    of catchpads
           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: david.majnemer at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

consider:
void g(void *, bool);

void f(int b, void *c) {
  bool a = false;
  try {
    g(c, b);
    a = true;
  } catch (...) {
  }
  g(c, a);
}

run with:
clang -cc1 -triple i686-pc-windows-msvc18.0.0 -emit-obj -fcxx-exceptions
-fexceptions -O2 dll_main-fd2b3b.ii -o -  -emit-llvm

we crash here:
lib/CodeGen/TailDuplication.cpp:624: bool <anonymous
namespace>::TailDuplicatePass::shouldTailDuplicate(const llvm::MachineFunction
&, bool, llvm::MachineBasicBlock &): Assertion `Idx != 0' failed.

-- 
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/20151108/fbc9843f/attachment.html>


More information about the llvm-bugs mailing list