eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol for
[llvm/avr.git] / test / Transforms / ScalarRepl / 2007-03-19-CanonicalizeMemcpy.ll
blobbd4910682f1af66de742ddfc9bc68ea334c57032
1 ; RUN: opt < %s -scalarrepl -disable-output
3 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:64"
4 target triple = "arm-apple-darwin8"
5         %struct.CGPoint = type { float, float }
6         %struct.aal_big_range_t = type { i32, i32 }
7         %struct.aal_callback_t = type { i8* (i8*, i32)*, void (i8*, i8*)* }
8         %struct.aal_edge_pool_t = type { %struct.aal_edge_pool_t*, i32, i32, [0 x %struct.aal_edge_t] }
9         %struct.aal_edge_t = type { %struct.CGPoint, %struct.CGPoint, i32 }
10         %struct.aal_range_t = type { i16, i16 }
11         %struct.aal_span_pool_t = type { %struct.aal_span_pool_t*, [341 x %struct.aal_span_t] }
12         %struct.aal_span_t = type { %struct.aal_span_t*, %struct.aal_big_range_t }
13         %struct.aal_spanarray_t = type { [2 x %struct.aal_range_t] }
14         %struct.aal_spanbucket_t = type { i16, [2 x i8], %struct.anon }
15         %struct.aal_state_t = type { %struct.CGPoint, %struct.CGPoint, %struct.CGPoint, i32, float, float, float, float, %struct.CGPoint, %struct.CGPoint, float, float, float, float, i32, i32, i32, i32, float, float, i8*, i32, i32, %struct.aal_edge_pool_t*, %struct.aal_edge_pool_t*, i8*, %struct.aal_callback_t*, i32, %struct.aal_span_t*, %struct.aal_span_t*, %struct.aal_span_t*, %struct.aal_span_pool_t*, i8, float, i8, i32 }
16         %struct.anon = type { %struct.aal_spanarray_t }
19 declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
21 define fastcc void @aal_insert_span() {
22 entry:
23         %SB = alloca %struct.aal_spanbucket_t, align 4          ; <%struct.aal_spanbucket_t*> [#uses=2]
24         br i1 false, label %cond_true, label %cond_next79
26 cond_true:              ; preds = %entry
27         br i1 false, label %cond_next, label %cond_next114.i
29 cond_next114.i:         ; preds = %cond_true
30         ret void
32 cond_next:              ; preds = %cond_true
33         %SB19 = bitcast %struct.aal_spanbucket_t* %SB to i8*            ; <i8*> [#uses=1]
34         call void @llvm.memcpy.i32( i8* %SB19, i8* null, i32 12, i32 0 )
35         br i1 false, label %cond_next34, label %cond_next79
37 cond_next34:            ; preds = %cond_next
38         %i.2.reload22 = load i32* null          ; <i32> [#uses=1]
39         %tmp51 = getelementptr %struct.aal_spanbucket_t* %SB, i32 0, i32 2, i32 0, i32 0, i32 %i.2.reload22, i32 1              ; <i16*> [#uses=0]
40         ret void
42 cond_next79:            ; preds = %cond_next, %entry
43         ret void