comparison test/Transforms/SROA/slice-order-independence.ll @ 95:afa8332a0e37 LLVM3.8

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents 54457678186b
children 3a76565eade5
comparison
equal deleted inserted replaced
84:f3e34b893a5f 95:afa8332a0e37
11 ; CHECK: alloca i8* 11 ; CHECK: alloca i8*
12 %arg = alloca { i16*, i32 }, align 8 12 %arg = alloca { i16*, i32 }, align 8
13 %2 = bitcast { i16*, i32 }* %0 to i8* 13 %2 = bitcast { i16*, i32 }* %0 to i8*
14 %3 = bitcast { i16*, i32 }* %arg to i8* 14 %3 = bitcast { i16*, i32 }* %arg to i8*
15 call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 16, i32 8, i1 false) 15 call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 16, i32 8, i1 false)
16 %b = getelementptr inbounds { i16*, i32 }* %arg, i64 0, i32 0 16 %b = getelementptr inbounds { i16*, i32 }, { i16*, i32 }* %arg, i64 0, i32 0
17 %pb0 = bitcast i16** %b to i63* 17 %pb0 = bitcast i16** %b to i63*
18 %b0 = load i63* %pb0 18 %b0 = load i63, i63* %pb0
19 %pb1 = bitcast i16** %b to i8** 19 %pb1 = bitcast i16** %b to i8**
20 %b1 = load i8** %pb1 20 %b1 = load i8*, i8** %pb1
21 ret void 21 ret void
22 } 22 }
23 23
24 define void @skipped_inttype_last({ i16*, i32 }*) { 24 define void @skipped_inttype_last({ i16*, i32 }*) {
25 ; CHECK-LABEL: @skipped_inttype_last 25 ; CHECK-LABEL: @skipped_inttype_last
26 ; CHECK: alloca i8* 26 ; CHECK: alloca i8*
27 %arg = alloca { i16*, i32 }, align 8 27 %arg = alloca { i16*, i32 }, align 8
28 %2 = bitcast { i16*, i32 }* %0 to i8* 28 %2 = bitcast { i16*, i32 }* %0 to i8*
29 %3 = bitcast { i16*, i32 }* %arg to i8* 29 %3 = bitcast { i16*, i32 }* %arg to i8*
30 call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 16, i32 8, i1 false) 30 call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %2, i32 16, i32 8, i1 false)
31 %b = getelementptr inbounds { i16*, i32 }* %arg, i64 0, i32 0 31 %b = getelementptr inbounds { i16*, i32 }, { i16*, i32 }* %arg, i64 0, i32 0
32 %pb1 = bitcast i16** %b to i8** 32 %pb1 = bitcast i16** %b to i8**
33 %b1 = load i8** %pb1 33 %b1 = load i8*, i8** %pb1
34 %pb0 = bitcast i16** %b to i63* 34 %pb0 = bitcast i16** %b to i63*
35 %b0 = load i63* %pb0 35 %b0 = load i63, i63* %pb0
36 ret void 36 ret void
37 } 37 }