Mercurial > hg > CbC > CbC_llvm
comparison test/Analysis/BasicAA/invariant_load.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 | 60c9769439b8 |
children |
comparison
equal
deleted
inserted
replaced
84:f3e34b893a5f | 95:afa8332a0e37 |
---|---|
8 ; return *p + 1; | 8 ; return *p + 1; |
9 ; } | 9 ; } |
10 | 10 |
11 define i32 @foo(i32* nocapture %p, i8* nocapture %q) { | 11 define i32 @foo(i32* nocapture %p, i8* nocapture %q) { |
12 entry: | 12 entry: |
13 %0 = load i32* %p, align 4, !invariant.load !3 | 13 %0 = load i32, i32* %p, align 4, !invariant.load !3 |
14 %conv = trunc i32 %0 to i8 | 14 %conv = trunc i32 %0 to i8 |
15 store i8 %conv, i8* %q, align 1 | 15 store i8 %conv, i8* %q, align 1 |
16 %1 = load i32* %p, align 4, !invariant.load !3 | 16 %1 = load i32, i32* %p, align 4, !invariant.load !3 |
17 %add = add nsw i32 %1, 1 | 17 %add = add nsw i32 %1, 1 |
18 ret i32 %add | 18 ret i32 %add |
19 | 19 |
20 ; CHECK: foo | 20 ; CHECK: foo |
21 ; CHECK: %0 = load i32* %p | 21 ; CHECK: %0 = load i32, i32* %p |
22 ; CHECK: store i8 %conv, i8* %q, | 22 ; CHECK: store i8 %conv, i8* %q, |
23 ; CHECK: %add = add nsw i32 %0, 1 | 23 ; CHECK: %add = add nsw i32 %0, 1 |
24 } | 24 } |
25 | 25 |
26 !3 = !{} | 26 !3 = !{} |