[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