Mercurial > hg > CbC > CbC_llvm
comparison 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 |
comparison
equal
deleted
inserted
replaced
84:f3e34b893a5f | 95:afa8332a0e37 |
---|---|
1 ; RUN: opt -basicaa -gvn -instcombine -S < %s | FileCheck %s | 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" | 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 | 3 |
4 define i8 @foo(i8* %ptr) { | 4 define i8 @foo(i8* %ptr) { |
5 %P = getelementptr i8* %ptr, i32 0 | 5 %P = getelementptr i8, i8* %ptr, i32 0 |
6 %Q = getelementptr i8* %ptr, i32 1 | 6 %Q = getelementptr i8, i8* %ptr, i32 1 |
7 ; CHECK: getelementptr | 7 ; CHECK: getelementptr |
8 %X = load i8* %P | 8 %X = load i8, i8* %P |
9 %Y = atomicrmw add i8* %Q, i8 1 monotonic | 9 %Y = atomicrmw add i8* %Q, i8 1 monotonic |
10 %Z = load i8* %P | 10 %Z = load i8, i8* %P |
11 ; CHECK-NOT: = load | 11 ; CHECK-NOT: = load |
12 %A = sub i8 %X, %Z | 12 %A = sub i8 %X, %Z |
13 ret i8 %A | 13 ret i8 %A |
14 ; CHECK: ret i8 0 | 14 ; CHECK: ret i8 0 |
15 } | 15 } |