Make BasicAliasAnalysis a normal AliasAnalysis implementation which

does normal initialization and normal chaining. Change the default
AliasAnalysis implementation to NoAlias.

Update StandardCompileOpts.h and friends to explicitly request
BasicAliasAnalysis.

Update tests to explicitly request -basicaa.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116720 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman committed 2010-10-18 18:04:47 +00:00
1 parent 9baee3b3a3
commit c1be92f3bb
81 files changed
+115 -91

No files matched your search

@@ -1,4 +1,4 @@
; RUN: opt < %s -argpromotion -mem2reg -S | not grep alloca
; RUN: opt < %s -basicaa -argpromotion -mem2reg -S | not grep alloca
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"
define internal i32 @test(i32* %X, i32* %Y) {
%A = load i32* %X ; <i32> [#uses=1]
@@ -1,4 +1,4 @@
; RUN: opt < %s -dse -S | not grep tmp5
; RUN: opt < %s -basicaa -dse -S | not grep tmp5
; PR2599
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"
@@ -1,4 +1,4 @@
; RUN: opt < %s -dse -S | \
; RUN: opt < %s -basicaa -dse -S | \
; RUN: not grep {store i8}
; Ensure that the dead store is deleted in this case. It is wholely
; overwritten by the second store.
@@ -1,4 +1,4 @@
; RUN: opt %s -dse -S | FileCheck %s
; RUN: opt %s -basicaa -dse -S | FileCheck %s
%t = type { i32 }
@@ -1,4 +1,4 @@
; RUN: opt < %s -dse -S | not grep DEAD
; RUN: opt < %s -basicaa -dse -S | not grep DEAD
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 void @ext()
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -dse -S | not grep DEAD
; RUN: opt < %s -basicaa -dse -S | not grep DEAD
define void @test(i32* %Q, i32* %P) {
%DEAD = load i32* %Q ; <i32> [#uses=1]
@@ -1,4 +1,4 @@
; RUN: opt -S -dse < %s | FileCheck %s
; RUN: opt -S -basicaa -dse < %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"
@@ -1,4 +1,4 @@
; RUN: opt %s -dse -S | FileCheck %s
; RUN: opt %s -basicaa -dse -S | FileCheck %s
declare void @test1f()
@@ -1,4 +1,4 @@
; RUN: opt < %s -dse -S | not grep DEAD
; RUN: opt < %s -basicaa -dse -S | not grep DEAD
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"
define void @test(i32* %Q, i32* %P) {
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | not grep {tmp10 =}
; RUN: opt < %s -basicaa -gvn -S | not grep {tmp10 =}
%struct.INT2 = type { i32, i32 }
@blkshifts = external global %struct.INT2* ; <%struct.INT2**> [#uses=2]
@@ -1,5 +1,5 @@
; RUN: opt < %s -gvn -S | grep {tmp17625.* = phi i32. }
; RUN: opt < %s -gvn -S | grep {tmp17631.* = phi i32. }
; RUN: opt < %s -basicaa -gvn -S | grep {tmp17625.* = phi i32. }
; RUN: opt < %s -basicaa -gvn -S | grep {tmp17631.* = phi i32. }
@last = external global [65 x i32*] ; <[65 x i32*]*> [#uses=1]
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | grep {tmp47 = phi i32 }
; RUN: opt < %s -basicaa -gvn -S | grep {tmp47 = phi i32 }
%struct.anon = type { i32 (i32, i32, i32)*, i32, i32, [3 x i32], i8*, i8*, i8* }
@debug = external constant i32 ; <i32*> [#uses=0]
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | not grep {tmp701 =}
; RUN: opt < %s -basicaa -gvn -S | not grep {tmp701 =}
@img_width = external global i16 ; <i16*> [#uses=2]
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | grep {ret i8 \[%\]tmp3}
; RUN: opt < %s -basicaa -gvn -S | grep {ret i8 \[%\]tmp3}
; PR2503
@g_3 = external global i8 ; <i8*> [#uses=2]
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | FileCheck %s
; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
define i8* @cat(i8* %s1, ...) nounwind {
entry:
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | grep strlen | count 2
; RUN: opt < %s -basicaa -gvn -S | grep strlen | count 2
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-darwin9"
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | grep {br i1 false}
; RUN: opt < %s -basicaa -gvn -S | grep {br i1 false}
@a = external global i32 ; <i32*> [#uses=7]
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | FileCheck %s
; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
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"
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | FileCheck %s
; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
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"
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -instcombine -S | grep {ret i32 0}
; RUN: opt < %s -basicaa -gvn -instcombine -S | grep {ret i32 0}
; PR4189
@G = external constant [4 x i32]
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt -S -gvn < %s | FileCheck %s
; RUN: opt -S -basicaa -gvn < %s | FileCheck %s
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-n8:16:32"
target triple = "i386-apple-darwin11.0.0"
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt -S -gvn -enable-load-pre %s | FileCheck %s
; RUN: opt -S -basicaa -gvn -enable-load-pre %s | FileCheck %s
;
; The partially redundant load in bb1 should be hoisted to "bb". This comes
; from this C code (GCC PR 23455):
+2 -2
View File
@@ -1,5 +1,5 @@
; RUN: opt < %s -gvn -S | not grep DEADLOAD
; RUN: opt < %s -gvn -S | not grep DEADGEP
; RUN: opt < %s -basicaa -gvn -S | not grep DEADLOAD
; RUN: opt < %s -basicaa -gvn -S | not grep DEADGEP
define i32 @main(i32** %p) {
block1:
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -stats -disable-output |& grep {Number of loads deleted}
; RUN: opt < %s -basicaa -gvn -stats -disable-output |& grep {Number of loads deleted}
; rdar://7363102
; GVN should be able to eliminate load %tmp22.i, because it is redundant with
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt %s -gvn -S | FileCheck %s
; RUN: opt %s -basicaa -gvn -S | FileCheck %s
%t = type { i32 }
declare void @test1f(i8*)
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -enable-load-pre -S | FileCheck %s
; RUN: opt < %s -basicaa -gvn -enable-load-pre -S | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
define i32 @test1(i32* %p, i1 %C) {
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | grep {DEAD = phi i32 }
; RUN: opt < %s -basicaa -gvn -S | grep {DEAD = phi i32 }
; GVN should eliminate the fully redundant %9 GEP which
; allows DEAD to be removed. This is PR3198.
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | FileCheck %s
; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
define i32 @main(i32** %p) {
block1:
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | grep {DEAD = phi i32 }
; RUN: opt < %s -basicaa -gvn -S | grep {DEAD = phi i32 }
define i32 @main(i32* %p) {
block1:
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -gvn -S | FileCheck %s
; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
; 32-bit little endian target.
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"
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt -inline -S -scalarrepl -gvn -instcombine %s | FileCheck %s
; RUN: opt -basicaa -inline -S -scalarrepl -gvn -instcombine %s | FileCheck %s
; PR5009
; CHECK: define i32 @main()
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt -S -inline -scalarrepl -instcombine -simplifycfg -instcombine -gvn -globaldce %s | FileCheck %s
; RUN: opt -S -basicaa -inline -scalarrepl -instcombine -simplifycfg -instcombine -gvn -globaldce %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-apple-darwin10.0.0"
@@ -1,4 +1,4 @@
; RUN: opt -inline -gvn %s -S -max-cg-scc-iterations=1 | FileCheck %s
; RUN: opt -basicaa -inline -gvn %s -S -max-cg-scc-iterations=1 | FileCheck %s
; rdar://6295824 and PR6724
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
@@ -1,4 +1,4 @@
; RUN: opt < %s -licm -S | FileCheck %s
; RUN: opt < %s -basicaa -licm -S | FileCheck %s
@a = external constant float*
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -licm -S | FileCheck %s
; RUN: opt < %s -basicaa -licm -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"
@X = global i32 7 ; <i32*> [#uses=4]
@@ -1,4 +1,4 @@
; RUN: opt < %s -memcpyopt -dse -S | grep {call.*initialize} | not grep memtmp
; RUN: opt < %s -basicaa -memcpyopt -dse -S | grep {call.*initialize} | not grep memtmp
; PR2077
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:32:32"
@@ -1,4 +1,4 @@
; RUN: opt < %s -memcpyopt -S | not grep {call.*memcpy.}
; RUN: opt < %s -basicaa -memcpyopt -S | not grep {call.*memcpy.}
target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"
%a = type { i32 }
%b = type { float }
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt -S < %s -memcpyopt | FileCheck %s
; RUN: opt -S < %s -basicaa -memcpyopt | FileCheck %s
; <rdar://problem/8536696>
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -memcpyopt -dse -S | grep {call.*memcpy} | count 1
; RUN: opt < %s -basicaa -memcpyopt -dse -S | grep {call.*memcpy} | count 1
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 = "i686-apple-darwin9"
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -memcpyopt -S | FileCheck %s
; RUN: opt < %s -basicaa -memcpyopt -S | FileCheck %s
; These memmoves should get optimized to memcpys.
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -memcpyopt -S | not grep {call.*memcpy}
; RUN: opt < %s -basicaa -memcpyopt -S | not grep {call.*memcpy}
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 = "i686-apple-darwin9"
+1 -1
View File
@@ -1,4 +1,4 @@
; RUN: opt < %s -sink -S | FileCheck %s
; RUN: opt < %s -basicaa -sink -S | FileCheck %s
@A = external global i32
@B = external global i32