diff options
author | Shuxin Yang <shuxin.llvm@gmail.com> | 2013-10-23 17:28:19 +0000 |
---|---|---|
committer | Shuxin Yang <shuxin.llvm@gmail.com> | 2013-10-23 17:28:19 +0000 |
commit | 8e3851a6eb9fe5fc30094c3a00d2b89c7cd68cbd (patch) | |
tree | aa761eb31c1f7c14a3c9e313f4a1d29ea06e066b /test/Transforms/GlobalOpt | |
parent | f39fe46062d2093fc3d7c092bc8c4561b744164c (diff) | |
download | external_llvm-8e3851a6eb9fe5fc30094c3a00d2b89c7cd68cbd.zip external_llvm-8e3851a6eb9fe5fc30094c3a00d2b89c7cd68cbd.tar.gz external_llvm-8e3851a6eb9fe5fc30094c3a00d2b89c7cd68cbd.tar.bz2 |
Use address-taken to disambiguate global variable and indirect memops.
Major steps include:
1). introduces a not-addr-taken bit-field in GlobalVariable
2). GlobalOpt pass sets "not-address-taken" if it proves a global varirable
dosen't have its address taken.
3). AA use this info for disambiguation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193251 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/GlobalOpt')
6 files changed, 9 insertions, 9 deletions
diff --git a/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll b/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll index 059af1c..87f2889 100644 --- a/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll +++ b/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -globalopt -S | grep "@X = internal unnamed_addr global i32" +; RUN: opt < %s -globalopt -S | grep "@X = internal unnamed_addr global notaddrtaken i32" target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" target triple = "i386-apple-darwin7" @X = internal global i32* null ; <i32**> [#uses=2] diff --git a/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll b/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll index b73f62b..fd7b4dd 100644 --- a/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll +++ b/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll @@ -8,7 +8,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 target triple = "x86_64-apple-darwin10.0" @TOP = internal global i64* null ; <i64**> [#uses=2] -; CHECK: @TOP = internal unnamed_addr global i64* null +; CHECK: @TOP = internal unnamed_addr global notaddrtaken i64* null @channelColumns = internal global i64 0 ; <i64*> [#uses=2] ; Derived from @DescribeChannel() in yacr2 diff --git a/test/Transforms/GlobalOpt/atomic.ll b/test/Transforms/GlobalOpt/atomic.ll index ac05bfd..d0fb970 100644 --- a/test/Transforms/GlobalOpt/atomic.ll +++ b/test/Transforms/GlobalOpt/atomic.ll @@ -3,8 +3,8 @@ @GV1 = internal global i64 1 @GV2 = internal global i32 0 -; CHECK: @GV1 = internal unnamed_addr constant i64 1 -; CHECK: @GV2 = internal unnamed_addr global i32 0 +; CHECK: @GV1 = internal unnamed_addr constant notaddrtaken i64 1 +; CHECK: @GV2 = internal unnamed_addr global notaddrtaken i32 0 define void @test1() { entry: diff --git a/test/Transforms/GlobalOpt/globalsra-unknown-index.ll b/test/Transforms/GlobalOpt/globalsra-unknown-index.ll index cc655e9..a854d94 100644 --- a/test/Transforms/GlobalOpt/globalsra-unknown-index.ll +++ b/test/Transforms/GlobalOpt/globalsra-unknown-index.ll @@ -1,5 +1,5 @@ ; RUN: opt < %s -globalopt -S > %t -; RUN: grep "@Y = internal unnamed_addr global \[3 x [%]struct.X\] zeroinitializer" %t +; RUN: grep "@Y = internal unnamed_addr global notaddrtaken \[3 x [%]struct.X\] zeroinitializer" %t ; RUN: grep load %t | count 6 ; RUN: grep "add i32 [%]a, [%]b" %t | count 3 diff --git a/test/Transforms/GlobalOpt/integer-bool.ll b/test/Transforms/GlobalOpt/integer-bool.ll index abf5fdd..a75614e 100644 --- a/test/Transforms/GlobalOpt/integer-bool.ll +++ b/test/Transforms/GlobalOpt/integer-bool.ll @@ -4,7 +4,7 @@ @G = internal addrspace(1) global i32 0 ; CHECK: @G ; CHECK: addrspace(1) -; CHECK: global i1 false +; CHECK: global notaddrtaken i1 false define void @set1() { store i32 0, i32 addrspace(1)* @G diff --git a/test/Transforms/GlobalOpt/unnamed-addr.ll b/test/Transforms/GlobalOpt/unnamed-addr.ll index 2ca91e5..7b049ec 100644 --- a/test/Transforms/GlobalOpt/unnamed-addr.ll +++ b/test/Transforms/GlobalOpt/unnamed-addr.ll @@ -6,10 +6,10 @@ @d = internal constant [4 x i8] c"foo\00", align 1 @e = linkonce_odr global i32 0 -; CHECK: @a = internal global i32 0, align 4 +; CHECK: @a = internal global notaddrtaken i32 0, align 4 ; CHECK: @b = internal global i32 0, align 4 -; CHECK: @c = internal unnamed_addr global i32 0, align 4 -; CHECK: @d = internal unnamed_addr constant [4 x i8] c"foo\00", align 1 +; CHECK: @c = internal unnamed_addr global notaddrtaken i32 0, align 4 +; CHECK: @d = internal unnamed_addr constant notaddrtaken [4 x i8] c"foo\00", align 1 ; CHECK: @e = linkonce_odr global i32 0 define i32 @get_e() { |