[LLVMdev] one remaining CellSPU backend bug...
Evan Cheng
evan.cheng at apple.com
Tue Oct 16 19:19:51 PDT 2007
Hi Scott,
Since the spu target isn't checked into the repository, we can't do
much with the test case. :-) Please run llc in gdb and call
dumpSchedule(). Please also provide the back trace.
Evan
On Oct 15, 2007, at 11:58 PM, Scott Michel wrote:
> Here's a working testcase:
>
> ; ModuleID = '/tmp/crtbegin.bc'
> target datalayout = "E-p:32:32:128-i1:8:128-i8:8:128-i16:16:128-
> i32:32:128-i64:32:128-f32:32:128-f64:64:128-v64:64:64-v128:128:128-
> a0:0:128-s0:128:128"
> target triple = "spu"
> @__dso_handle = hidden global i8* null, align 16 ;
> <i8**> [#uses=0]
> @__CTOR_LIST__ = internal global [1 x void ()*] [ void ()* inttoptr
> (i64 4294967295 to void ()*) ], section ".ctors", align
> 4 ; <[1 x void ()*]*> [#uses=1]
> @__DTOR_LIST__ = internal global [1 x void ()*] [ void ()* inttoptr
> (i64 4294967295 to void ()*) ], section ".dtors", align
> 4 ; <[1 x void ()*]*> [#uses=2]
> @__JCR_LIST__ = internal global [0 x i8*] zeroinitializer, section
> ".jcr", align 4 ; <[0 x i8*]*> [#uses=2]
> @completed.1936.b = internal global i1 false ; <i1*>
> [#uses=2]
> @p.1934 = internal global void ()** getelementptr ([1 x void ()*]*
> @__DTOR_LIST__, i32 0, i32 1), align 16 ; <void ()***>
> [#uses=3]
> @llvm.used = appending global [2 x i8*] [ i8* bitcast ([1 x void ()
> *]* @__CTOR_LIST__ to i8*), i8* bitcast (void ()* @frame_dummy to
> i8*) ], section "llvm.metadata" ; <[6 x i8*]*>
> [#uses=0]
>
> define internal void @frame_dummy() {
> entry:
> %tmp1 = load i8** getelementptr ([0 x i8*]* @__JCR_LIST__,
> i32 0, i32 0), align 4 ; <i8*> [#uses=1]
> %tmp2 = icmp eq i8* %tmp1, null ; <i1> [#uses=1]
> br i1 %tmp2, label %UnifiedReturnBlock, label %bb
>
> bb: ; preds = %entry
> %tmp5 = tail call void (i8*)* (void (i8*)*)* asm "", "=r,
> 0"( void (i8*)* @_Jv_RegisterClasses ) ; <void (i8*)*>
> [#uses=2]
> %tmp7 = icmp eq void (i8*)* %tmp5, null ; <i1>
> [#uses=1]
> br i1 %tmp7, label %UnifiedReturnBlock, label %bb10
>
> bb10: ; preds = %bb
> tail call void %tmp5( i8* bitcast ([0 x i8*]* @__JCR_LIST__
> to i8*) )
> ret void
>
> UnifiedReturnBlock: ; preds = %bb, %entry
> ret void
> }
>
> declare extern_weak void @_Jv_RegisterClasses(i8*)
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list