mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
Enhance alias analysis for atomic instructions a bit. Upgrade a couple alias-analysis tests to the new atomic instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140557 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1,14 +1,12 @@
|
||||
; RUN: opt -basicaa -gvn -instcombine -S < %s | FileCheck %s
|
||||
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"
|
||||
|
||||
declare i8 @llvm.atomic.load.add.i8.p0i8(i8*, i8)
|
||||
|
||||
define i8 @foo(i8* %ptr) {
|
||||
%P = getelementptr i8* %ptr, i32 0
|
||||
%Q = getelementptr i8* %ptr, i32 1
|
||||
; CHECK: getelementptr
|
||||
%X = load i8* %P
|
||||
%Y = call i8 @llvm.atomic.load.add.i8.p0i8(i8* %Q, i8 1)
|
||||
%Y = atomicrmw add i8* %Q, i8 1 monotonic
|
||||
%Z = load i8* %P
|
||||
; CHECK-NOT: = load
|
||||
%A = sub i8 %X, %Z
|
||||
|
Reference in New Issue
Block a user