Bugzilla – Bug 93
[lowersetjmp] Lowersetjmp pass breaks dominance properties!
Last modified: 2003-11-06 13:19:32
You need to log in before you can comment on or make changes to this bug.
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
Fixed. Here's the patch: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20031103/009163.html -Chris