First Last Prev Next    No search results available
Details
: [lowersetjmp] Lowersetjmp pass breaks dominance properties!
Bug#: 93
: libraries
: Interprocedural Optimizations
Status: RESOLVED
Resolution: FIXED
: All
: All
: 1.0
: P2
: normal
: 1.1

:
: compile-fail
:
:
  Show dependency tree - Show dependency graph
People
Reporter: Chris Lattner <sabre@nondot.org>
Assigned To: Chris Lattner <sabre@nondot.org>

Attachments


Note

You need to log in before you can comment on or make changes to this bug.

Related actions


Description:   Opened: 2003-11-05 16:08
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
------- Comment #1 From Chris Lattner 2003-11-06 13:19:32 -------
Fixed.

Here's the patch:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20031103/009163.html

-Chris

First Last Prev Next    No search results available