[LLVMbugs] [Bug 6694] New: lowerinvoke breaks alloca instructions if they do not occur in the entry basic block

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Mar 24 12:48:24 PDT 2010


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

           Summary: lowerinvoke breaks alloca instructions if they do not
                    occur in the entry basic block
           Product: libraries
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Transformation Utilities
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: chrisb at adobe.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=4581)
 --> (http://llvm.org/bugs/attachment.cgi?id=4581)
Reduced test case

The lowerinvoke pass with -enable-correct-eh-support will transform functions
that have invoke instructions into functions that do not have invoke
instructions.  This is accomplished by adding a setjmp to the end of the entry
basic block.  Any alloca instruction in the function that is not in the entry
basic block will no longer be valid when an unwind is executed because longjmp
will restore the stack state to what it was when setjmp was called.

Attached is a reduced test case that lowerinvoke improperly transforms.

-- 
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