[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / Thumb / 2011-05-11-DAGLegalizer.ll
blobb4478be9dd68154ee3533564e929d78d3685717b
1 ; RUN: llc -mtriple=thumbv6-apple-darwin < %s
2 ; rdar://problem/9416774
3 ; ModuleID = 'reduced.ll'
5 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:64-v128:32:128-a0:0:32-n32"
6 target triple = "thumbv7-apple-ios"
8 %struct.MMMMMMMMMMMM = type { [4 x %struct.RRRRRRRR] }
9 %struct.RRRRRRRR = type { [78 x i32] }
11 @kkkkkk = external constant ptr
12 @__PRETTY_FUNCTION__._ZN12CLGll = private unnamed_addr constant [62 x i8] c"static void tttttttttttt::lllllllllllll(const MMMMMMMMMMMM &)\00"
13 @.str = private unnamed_addr constant [75 x i8] c"\09GGGGGGGGGGGGGGGGGGGGGGG:,BE:0x%08lx,ALM:0x%08lx,LTO:0x%08lx,CBEE:0x%08lx\0A\00"
15 define void @_ZN12CLGll(ptr %aidData) ssp align 2 {
16 entry:
17   %aidData.addr = alloca ptr, align 4
18   %agg.tmp = alloca %struct.RRRRRRRR, align 4
19   %agg.tmp4 = alloca %struct.RRRRRRRR, align 4
20   %agg.tmp10 = alloca %struct.RRRRRRRR, align 4
21   %agg.tmp16 = alloca %struct.RRRRRRRR, align 4
22   store ptr %aidData, ptr %aidData.addr, align 4
23   br label %do.body
25 do.body:                                          ; preds = %entry
26   %tmp = load ptr, ptr @kkkkkk, align 4
27   %tmp1 = load ptr, ptr %aidData.addr
28   call void @llvm.memcpy.p0.p0.i32(ptr align 4 %agg.tmp, ptr align 4 %tmp1, i32 312, i1 false)
29   %tmp5 = load ptr, ptr %aidData.addr
30   %arrayidx7 = getelementptr inbounds [4 x %struct.RRRRRRRR], ptr %tmp5, i32 0, i32 1
31   call void @llvm.memcpy.p0.p0.i32(ptr align 4 %agg.tmp4, ptr align 4 %arrayidx7, i32 312, i1 false)
32   %tmp11 = load ptr, ptr %aidData.addr
33   %arrayidx13 = getelementptr inbounds [4 x %struct.RRRRRRRR], ptr %tmp11, i32 0, i32 2
34   call void @llvm.memcpy.p0.p0.i32(ptr align 4 %agg.tmp10, ptr align 4 %arrayidx13, i32 312, i1 false)
35   %tmp17 = load ptr, ptr %aidData.addr
36   %arrayidx19 = getelementptr inbounds [4 x %struct.RRRRRRRR], ptr %tmp17, i32 0, i32 3
37   call void @llvm.memcpy.p0.p0.i32(ptr align 4 %agg.tmp16, ptr align 4 %arrayidx19, i32 312, i1 false)
38   call void (ptr, i32, ptr, ptr, ...) @CLLoggingLog(ptr %tmp, i32 2, ptr @__PRETTY_FUNCTION__._ZN12CLGll, ptr @.str, ptr byval(%struct.RRRRRRRR) %agg.tmp, ptr byval(%struct.RRRRRRRR) %agg.tmp4, ptr byval(%struct.RRRRRRRR) %agg.tmp10, ptr byval(%struct.RRRRRRRR) %agg.tmp16)
39   br label %do.end
41 do.end:                                           ; preds = %do.body
42   ret void
45 declare void @CLLoggingLog(ptr, i32, ptr, ptr, ...)
47 declare void @llvm.memcpy.p0.p0.i32(ptr nocapture, ptr nocapture, i32, i1) nounwind