[LLVMbugs] [Bug 2854] New: SimplifyCFG outputs an incorrect IR

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Fri Oct 3 08:47:14 PDT 2008


           Summary: SimplifyCFG outputs an incorrect IR
           Product: libraries
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Common Code Generator Code
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: nicolas.geoffray at lip6.fr
                CC: llvmbugs at cs.uiuc.edu

Created an attachment (id=2052)
 --> (http://llvm.org/bugs/attachment.cgi?id=2052)
Test-case for the bug

The attached test-case, after being opt'ed with -simplifycfg, makes llc

llc: SelectionDAGISel.cpp:331: virtual bool
llvm::SelectionDAGISel::runOnFunction(llvm::Function&): Assertion
`FuncInfo->CatchInfoFound.size() == FuncInfo->CatchInfoLost.size() && "Not all
catch info was assigned to a landing pad!"' failed.

If the test-case is not cfg simplified, llc is happy.

Steps to reproduce the bug:
llvm-as testcase.ll
opt -simplifycfg testcase.bc | llc

The testcase is an output from a Java function translated to LLVM IR with
vmkit. FYI, here's the (meaningless) Java function.

public static void main(String[] args) throws Exception {
  try {   
    synchronized(args) {
      while (true)

Apparently, it's the smallest testcase i could get in Java, even so the
generated IR is quite complex :/

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