[LLVMbugs] [Bug 93] New: [lowersetjmp] Lowersetjmp pass breaks dominance properties!

bugzilla-daemon at zion.cs.uiuc.edu bugzilla-daemon at zion.cs.uiuc.edu
Wed Nov 5 14:08:12 PST 2003


http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=93

           Summary: [lowersetjmp] Lowersetjmp pass breaks dominance
                    properties!
           Product: libraries
           Version: 1.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Interprocedural Optimizations
        AssignedTo: sabre at nondot.org
        ReportedBy: sabre at nondot.org


Lowersetjmp currently breaks this testcase
(test/Regression/Transforms/LowerSetJmp/2003-11-05-DominanceProperties.ll):

---
; RUN: llvm-as < %s | opt -lowersetjmp -disable-output
        %struct.jmpenv = type { int, sbyte }

implementation

declare void %Perl_sv_setpv()
declare int %llvm.setjmp(int *)

void %perl_call_sv() {
        call void %Perl_sv_setpv( )
        %tmp.335 = getelementptr %struct.jmpenv* null, long 0, ubyte 0
        %tmp.336 = call int %llvm.setjmp( int* null )
        store int %tmp.336, int* %tmp.335
        ret void
}
---
$ llvm-as < 2003-11-05-DominanceProperties.ll | opt -lowersetjmp -disable-output
Instruction does not dominate all uses!
        %tmp.335 = getelementptr %struct.jmpenv* null, long 0, ubyte 0         
; <int*> [#uses=1]

        store int %SetJmpReturn, int* %tmp.335

Broken module found, compilation aborted!
Abort

This is distilled from 253.perlbmk.

-Chris



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the llvm-bugs mailing list