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

            Bug ID: 15555
           Summary: Inline + SROA appear to miscompile code with EH
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Scalar Optimizations
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

Created attachment 10210
  --> http://llvm.org/bugs/attachment.cgi?id=10210&action=edit
File compiled with -O0

The attached .cpp file (O0.ll is that program compiled at `-O0') will abort
when you run it like this:

$ opt -inline -sroa O0.ll -o is.ll
$ llc -o is.s is.ll
$ clang++ is.s -o is
$ ./is
Abort trap: 6

The problem is that once the `thr' function is inlined into `run', the landing
pad that it would have jumped to is removed in a later pass. The call to `thr'
(`thr' is recursive) is changed from an `invoke' into a `call'. The next thing
to happen after the `call' is to execute the `abort'.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to