Mercurial > hg > CbC > CbC_llvm
comparison test/CodeGen/Thumb/ldm-stm-base-materialization.ll @ 134:3a76565eade5 LLVM5.0.1
update 5.0.1
author | mir3636 |
---|---|
date | Sat, 17 Feb 2018 09:57:20 +0900 |
parents | afa8332a0e37 |
children |
comparison
equal
deleted
inserted
replaced
133:c60214abe0e8 | 134:3a76565eade5 |
---|---|
21 %arrayidx = getelementptr inbounds i32, i32* %0, i32 1 | 21 %arrayidx = getelementptr inbounds i32, i32* %0, i32 1 |
22 %1 = bitcast i32* %arrayidx to i8* | 22 %1 = bitcast i32* %arrayidx to i8* |
23 %2 = load i32*, i32** @b, align 4 | 23 %2 = load i32*, i32** @b, align 4 |
24 %arrayidx1 = getelementptr inbounds i32, i32* %2, i32 1 | 24 %arrayidx1 = getelementptr inbounds i32, i32* %2, i32 1 |
25 %3 = bitcast i32* %arrayidx1 to i8* | 25 %3 = bitcast i32* %arrayidx1 to i8* |
26 tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %3, i32 24, i32 4, i1 false) | 26 tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 4 %1, i8* align 4 %3, i32 24, i1 false) |
27 ret void | 27 ret void |
28 } | 28 } |
29 | 29 |
30 define void @foo28() #0 { | 30 define void @foo28() #0 { |
31 entry: | 31 entry: |
42 %arrayidx = getelementptr inbounds i32, i32* %0, i32 1 | 42 %arrayidx = getelementptr inbounds i32, i32* %0, i32 1 |
43 %1 = bitcast i32* %arrayidx to i8* | 43 %1 = bitcast i32* %arrayidx to i8* |
44 %2 = load i32*, i32** @b, align 4 | 44 %2 = load i32*, i32** @b, align 4 |
45 %arrayidx1 = getelementptr inbounds i32, i32* %2, i32 1 | 45 %arrayidx1 = getelementptr inbounds i32, i32* %2, i32 1 |
46 %3 = bitcast i32* %arrayidx1 to i8* | 46 %3 = bitcast i32* %arrayidx1 to i8* |
47 tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %3, i32 28, i32 4, i1 false) | 47 tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 4 %1, i8* align 4 %3, i32 28, i1 false) |
48 ret void | 48 ret void |
49 } | 49 } |
50 | 50 |
51 define void @foo32() #0 { | 51 define void @foo32() #0 { |
52 entry: | 52 entry: |
63 %arrayidx = getelementptr inbounds i32, i32* %0, i32 1 | 63 %arrayidx = getelementptr inbounds i32, i32* %0, i32 1 |
64 %1 = bitcast i32* %arrayidx to i8* | 64 %1 = bitcast i32* %arrayidx to i8* |
65 %2 = load i32*, i32** @b, align 4 | 65 %2 = load i32*, i32** @b, align 4 |
66 %arrayidx1 = getelementptr inbounds i32, i32* %2, i32 1 | 66 %arrayidx1 = getelementptr inbounds i32, i32* %2, i32 1 |
67 %3 = bitcast i32* %arrayidx1 to i8* | 67 %3 = bitcast i32* %arrayidx1 to i8* |
68 tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %3, i32 32, i32 4, i1 false) | 68 tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 4 %1, i8* align 4 %3, i32 32, i1 false) |
69 ret void | 69 ret void |
70 } | 70 } |
71 | 71 |
72 define void @foo36() #0 { | 72 define void @foo36() #0 { |
73 entry: | 73 entry: |
86 %arrayidx = getelementptr inbounds i32, i32* %0, i32 1 | 86 %arrayidx = getelementptr inbounds i32, i32* %0, i32 1 |
87 %1 = bitcast i32* %arrayidx to i8* | 87 %1 = bitcast i32* %arrayidx to i8* |
88 %2 = load i32*, i32** @b, align 4 | 88 %2 = load i32*, i32** @b, align 4 |
89 %arrayidx1 = getelementptr inbounds i32, i32* %2, i32 1 | 89 %arrayidx1 = getelementptr inbounds i32, i32* %2, i32 1 |
90 %3 = bitcast i32* %arrayidx1 to i8* | 90 %3 = bitcast i32* %arrayidx1 to i8* |
91 tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %3, i32 36, i32 4, i1 false) | 91 tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 4 %1, i8* align 4 %3, i32 36, i1 false) |
92 ret void | 92 ret void |
93 } | 93 } |
94 | 94 |
95 ; Function Attrs: nounwind | 95 ; Function Attrs: nounwind |
96 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture readonly, i32, i32, i1) #1 | 96 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture readonly, i32, i1) #1 |