1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00

[BasicAA] Add datalayouts to make some tests more useful. NFC.

Fixes PR22462: two of the tests have regressed for a while,
but were using CHECK-NOT to match "May:".  The actual output
was changed to "MayAlias:" at some point, which made the tests
useless.
Two others return MayAlias only because of a lack of analysis;
BasicAA returns PartialAlias in those cases, when a datalayout
is present.

llvm-svn: 228346
This commit is contained in:
Ahmed Bougacha 2015-02-05 21:10:14 +00:00
parent c801034ec8
commit 53c8a31ef4
4 changed files with 15 additions and 6 deletions

View File

@ -3,10 +3,12 @@
; RUN: opt < %s -basicaa -aa-eval -print-may-aliases -disable-output 2>&1 | FileCheck %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
%T = type { i32, [10 x i8] }
; CHECK: Function: test
; CHECK-NOT: May:
; CHECK-NOT: MayAlias:
define void @test(%T* %P) {
%A = getelementptr %T* %P, i64 0

View File

@ -3,12 +3,14 @@
; RUN: opt < %s -basicaa -aa-eval -print-may-aliases -disable-output 2>&1 | FileCheck %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
%T = type { i32, [10 x i8] }
@G = external global %T
; CHECK: Function: test
; CHECK-NOT: May:
; CHECK-NOT: MayAlias:
define void @test() {
%D = getelementptr %T* @G, i64 0, i32 0

View File

@ -1,9 +1,11 @@
; RUN: opt < %s -basicaa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
; CHECK: Function: foo
; CHECK: MayAlias: i32* %Ipointer, i32* %Jpointer
; CHECK: PartialAlias: i32* %Ipointer, i32* %Jpointer
; CHECK: 9 no alias responses
; CHECK: 6 may alias responses
; CHECK: 6 partial alias responses
define void @foo(i32* noalias %p, i32* noalias %q, i32 %i, i32 %j) {
%Ipointer = getelementptr i32* %p, i32 %i

View File

@ -1,10 +1,13 @@
; RUN: opt < %s -basicaa -aa-eval -print-all-alias-modref-info 2>&1 | FileCheck %s
; PR4267
; CHECK: MayAlias: double* %p.0.i.0, double* %p3
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
; CHECK: PartialAlias: double* %p.0.i.0, double* %p3
; %p3 is equal to %p.0.i.0 on the second iteration of the loop,
; so MayAlias is needed.
; so MayAlias is needed. In practice, basicaa returns PartialAlias
; for GEPs to ignore TBAA.
define void @foo([3 x [3 x double]]* noalias %p) {
entry: