diff options
Diffstat (limited to 'test/Analysis/BasicAA/global-size.ll')
-rw-r--r-- | test/Analysis/BasicAA/global-size.ll | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/test/Analysis/BasicAA/global-size.ll b/test/Analysis/BasicAA/global-size.ll index a7e5aab6c1f22..f081cb1e07246 100644 --- a/test/Analysis/BasicAA/global-size.ll +++ b/test/Analysis/BasicAA/global-size.ll @@ -2,11 +2,11 @@ ; the global. ; RUN: opt < %s -basicaa -gvn -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" +target datalayout = "E-p:64:64:64-p1:16:16:16-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" @B = global i16 8 -; CHECK: @test1 +; CHECK-LABEL: @test1( define i16 @test1(i32* %P) { %X = load i16* @B store i32 7, i32* %P @@ -16,11 +16,23 @@ define i16 @test1(i32* %P) { ; CHECK: ret i16 0 } +@B_as1 = addrspace(1) global i16 8 + +define i16 @test1_as1(i32 addrspace(1)* %P) { +; CHECK-LABEL: @test1_as1( +; CHECK: ret i16 0 + %X = load i16 addrspace(1)* @B_as1 + store i32 7, i32 addrspace(1)* %P + %Y = load i16 addrspace(1)* @B_as1 + %Z = sub i16 %Y, %X + ret i16 %Z +} + ; Cannot know anything about the size of this global. ; rdar://8813415 @window = external global [0 x i8] -; CHECK: @test2 +; CHECK-LABEL: @test2( define i8 @test2(i32 %tmp79, i32 %w.2, i32 %indvar89) nounwind { %tmp92 = add i32 %tmp79, %indvar89 %arrayidx412 = getelementptr [0 x i8]* @window, i32 0, i32 %tmp92 |