Mercurial > hg > CbC > CbC_llvm
annotate test/Analysis/BasicAA/2009-10-13-AtomicModRef.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 | 95c75e76d11b |
children |
rev | line source |
---|---|
0 | 1 ; RUN: opt -basicaa -gvn -instcombine -S < %s | FileCheck %s |
2 target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128" | |
3 | |
4 define i8 @foo(i8* %ptr) { | |
95 | 5 %P = getelementptr i8, i8* %ptr, i32 0 |
6 %Q = getelementptr i8, i8* %ptr, i32 1 | |
0 | 7 ; CHECK: getelementptr |
95 | 8 %X = load i8, i8* %P |
0 | 9 %Y = atomicrmw add i8* %Q, i8 1 monotonic |
95 | 10 %Z = load i8, i8* %P |
0 | 11 ; CHECK-NOT: = load |
12 %A = sub i8 %X, %Z | |
13 ret i8 %A | |
14 ; CHECK: ret i8 0 | |
15 } |