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 }