/external/llvm/test/Analysis/TypeBasedAliasAnalysis/ |
precedence.ll | 1 ; RUN: opt -basicaa -tbaa -gvn -instcombine -S < %s | FileCheck %s --check-prefix=TBAA 2 ; RUN: opt -tbaa -basicaa -gvn -instcombine -S < %s | FileCheck %s --check-prefix=BASICAA 4 ; According to the TBAA metadata the load and store don't alias. However, 12 ; TBAA: @trouble 13 ; TBAA: ret i32 0 18 store i32 0, i32* %x, !tbaa !0 20 store float 0x4002666660000000, float* %0, !tbaa !3 21 %tmp3 = load i32* %x, !tbaa !0 28 ; TBAA: @offse [all...] |
argument-promotion.ll | 1 ; RUN: opt < %s -tbaa -basicaa -argpromotion -mem2reg -S | FileCheck %s 8 store i32 77, i32* %Q, !tbaa !2 9 %A = load i32* %X, !tbaa !1 10 %B = load i32* %Y, !tbaa !1 19 store i32 78, i32* %Q, !tbaa !2 20 store i32 1, i32* %A, !tbaa !1 29 store i32 2, i32* %B, !tbaa !1 30 store i32 79, i32* %Q, !tbaa !2
|
tbaa-path.ll | 1 ; RUN: opt < %s -tbaa -basicaa -aa-eval -evaluate-tbaa -print-no-aliases -print-may-aliases -disable-output 2>&1 | FileCheck %s 2 ; RUN: opt < %s -tbaa -basicaa -gvn -S | FileCheck %s --check-prefix=OPT 3 ; Generated from clang/test/CodeGen/tbaa.cpp with "-O1 -struct-path-tbaa -disable-llvm-optzns". 16 ; CHECK: MayAlias: store i32 4, i32* %f32, align 4, !tbaa !8 <-> store i32 1, i32* %0, align 4, !tbaa !6 25 store i32* %s, i32** %s.addr, align 8, !tbaa !0 26 store %struct.StructA* %A, %struct.StructA** %A.addr, align 8, !tbaa !0 27 store i64 %count, i64* %count.addr, align 8, !tbaa ! [all...] |
placement-tbaa.ll | 1 ; RUN: opt < %s -tbaa -basicaa -aa-eval -evaluate-tbaa -print-no-aliases -print-may-aliases -disable-output 2>&1 | FileCheck %s 19 ; Basic AA says MayAlias, TBAA says NoAlias 21 ; CHECK: NoAlias: store i64 %conv, i64* %i5, align 8, !tbaa !6 <-> store i8* null, i8** %p, align 8, !tbaa !9 32 store i32 %n, i32* %n.addr, align 4, !tbaa !0 35 store %struct.Foo* %0, %struct.Foo** %f, align 8, !tbaa !4 36 %1 = load %struct.Foo** %f, align 8, !tbaa !4 38 store i64 1, i64* %i, align 8, !tbaa !6 39 store i32 0, i32* %i1, align 4, !tbaa ! [all...] |
sink.ll | 1 ; RUN: opt -tbaa -sink -S < %s | FileCheck %s 4 ; CHECK: %f = load float* %p, !tbaa [[TAGA:!.*]] 8 %f = load float* %p, !tbaa !0 9 store float 0.0, float* %r, !tbaa !1
|
aliastest.ll | 1 ; RUN: opt < %s -tbaa -basicaa -gvn -S | FileCheck %s 8 %x = load i8* %a, !tbaa !1 9 store i8 0, i8* %b, !tbaa !2 10 %y = load i8* %a, !tbaa !1 18 %x = load i8* %a, !tbaa !3 19 store i8 0, i8* %b, !tbaa !4 20 %y = load i8* %a, !tbaa !3 30 %x = load i8* %a, !tbaa !5 32 %y = load i8* %a, !tbaa !5 40 %x = load i8* %a, !tbaa ! [all...] |
memcpyopt.ll | 1 ; RUN: opt -S -tbaa -basicaa -memcpyopt -instcombine < %s | FileCheck %s 6 ; it has a TBAA tag which declares that it is unrelated. 9 ; CHECK-NEXT: tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %p, i8* %q, i64 16, i32 1, i1 false), !tbaa !0 10 ; CHECK-NEXT: store i8 2, i8* %s, align 1, !tbaa [[TAGA:!.*]] 13 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %p, i8* %q, i64 16, i32 1, i1 false), !tbaa !2 14 store i8 2, i8* %s, align 1, !tbaa !1 15 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %q, i8* %p, i64 16, i32 1, i1 false), !tbaa !2 23 !0 = metadata !{metadata !"tbaa root", null}
|
dse.ll | 1 ; RUN: opt < %s -tbaa -basicaa -dse -S | FileCheck %s 3 ; DSE should make use of TBAA. 10 store i8 0, i8* %a, !tbaa !1 11 %y = load i8* %b, !tbaa !2 12 store i8 1, i8* %a, !tbaa !1 22 store i8 0, i8* %a, !tbaa !3 23 %y = load i8* %b, !tbaa !4 24 store i8 1, i8* %a, !tbaa !3 34 %y = load i8* %b, !tbaa !5 46 %y = load i8* %b, !tbaa ! [all...] |
functionattrs.ll | 1 ; RUN: opt < %s -tbaa -basicaa -functionattrs -S | FileCheck %s 3 ; FunctionAttrs should make use of TBAA. 5 ; Add the readnone attribute, since the only access is a store which TBAA 14 store i32 0, i32* %p, !tbaa !1 20 store i32 0, i32* %p, !tbaa !2 25 ; TBAA says doesn't modify any memory. 29 call void @callee(i32* %p), !tbaa !1 35 call void @callee(i32* %p), !tbaa !2 40 ; that the function accesses memory through its arguments, which TBAA 48 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %p, i8* %q, i64 %n, i32 1, i1 false), !tbaa ! [all...] |
gvn-nonlocal-type-mismatch.ll | 1 ; RUN: opt -tbaa -basicaa -gvn -S < %s | FileCheck %s 15 store i32 0, i32* %p, !tbaa !1 16 store i32 1, i32* %p1, !tbaa !2 20 %t = load i32* %p, !tbaa !1 44 store i32 0, i32* %p, !tbaa !1 45 store i32 1, i32* %p1, !tbaa !2 49 %t = load i32* %p, !tbaa !4 54 %u = load i32* %p, !tbaa !3 72 store i32 0, i32* %p, !tbaa !1 73 store i32 1, i32* %p1, !tbaa ! [all...] |
licm.ll | 1 ; RUN: opt -tbaa -licm -S < %s | FileCheck %s 4 ; by using TBAA information. 8 ; CHECK-NEXT: %tmp3 = load double** @P, !tbaa !0 19 %tmp3 = load double** @P, !tbaa !1 21 %tmp4 = load double* %scevgep, !tbaa !2 23 store double %mul, double* %scevgep, !tbaa !2 52 %tmp51 = load i8** %p, !tbaa !4 54 %tmp40 = load i8* %q, !tbaa !5
|
intrinsics.ll | 1 ; RUN: opt -tbaa -basicaa -gvn -S < %s | FileCheck %s 5 ; TBAA should prove that these calls don't interfere, since they are 6 ; IntrArgReadMem and have TBAA metadata. 15 %a = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) nounwind, !tbaa !2 16 call void @llvm.arm.neon.vst1.v8i16(i8* %q, <8 x i16> %y, i32 16), !tbaa !1 17 %b = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) nounwind, !tbaa !2 28 !0 = metadata !{metadata !"tbaa root", null}
|
/external/llvm/test/Transforms/SLPVectorizer/X86/ |
metadata.ll | 7 ;CHECK: load <2 x double>{{.*}}!tbaa ![[TBAA:[0-9]+]] 8 ;CHECK: load <2 x double>{{.*}}!tbaa ![[TBAA]] 10 ;CHECK: store <2 x double>{{.*}}!tbaa ![[TBAA]] 15 %i0 = load double* %a, align 8, !tbaa !4 16 %i1 = load double* %b, align 8, !tbaa !4 19 %i3 = load double* %arrayidx3, align 8, !tbaa !4 21 %i4 = load double* %arrayidx4, align 8, !tbaa ! [all...] |
/external/clang/test/CodeGen/ |
tbaa-class.cpp | 1 // RUN: %clang_cc1 -triple x86_64-apple-darwin -O1 -no-struct-path-tbaa -disable-llvm-optzns %s -emit-llvm -o - | FileCheck %s 3 // Test TBAA metadata generated by front-end. 55 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32:!.*]] 56 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]] 58 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32:!.*]] 59 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32:!.*]] 67 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]] 68 // CHECK: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_i16:!.*]] 70 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]] 71 // PATH: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_A_f16:!.*] [all...] |
tbaa.cpp | 1 // RUN: %clang_cc1 -triple x86_64-apple-darwin -O1 -no-struct-path-tbaa -disable-llvm-optzns %s -emit-llvm -o - | FileCheck %s 3 // Test TBAA metadata generated by front-end. 49 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32:!.*]] 50 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]] 52 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32:!.*]] 53 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32:!.*]] 61 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]] 62 // CHECK: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_i16:!.*]] 64 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]] 65 // PATH: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_A_f16:!.*] [all...] |
may-alias.c | 1 // RUN: %clang_cc1 -Werror -triple i386-unknown-unknown -emit-llvm -O1 -no-struct-path-tbaa -disable-llvm-optzns -o - %s | FileCheck %s 11 // CHECK: store i32 0, i32* %{{.*}}, !tbaa [[TAG_CHAR:!.*]] 12 // PATH: store i32 0, i32* %{{.*}}, !tbaa [[TAG_CHAR:!.*]] 14 // CHECK: store i32 1, i32* %{{.*}}, !tbaa [[TAG_INT:!.*]] 15 // PATH: store i32 1, i32* %{{.*}}, !tbaa [[TAG_INT:!.*]] 23 // CHECK: store i32 2, i32* {{%.*}}, !tbaa [[TAG_CHAR]] 24 // PATH: store i32 2, i32* {{%.*}}, !tbaa [[TAG_CHAR]] 26 // CHECK: store i32 3, i32* {{%.*}}, !tbaa [[TAG_INT]] 27 // PATH: store i32 3, i32* {{%.*}}, !tbaa [[TAG_test1_x:!.*]] 32 // CHECK: [[TAG_CXX_TBAA]] = metadata !{metadata !"Simple C/C++ TBAA"} [all...] |
tbaa-for-vptr.cpp | 8 // Check that we generate TBAA for vtable pointer loads and stores. 9 // When -fsanitize=thread is used TBAA should be generated at all opt levels 26 // CHECK: %{{.*}} = load {{.*}} !tbaa ![[NUM:[0-9]+]] 28 // CHECK: load {{.*}}, !tbaa ![[NUM]] 31 // CHECK: store {{.*}} !tbaa ![[NUM]] 35 // NOTBAA-NOT: = metadata !{metadata !"Simple C/C++ TBAA"}
|
/external/llvm/test/Transforms/ArgumentPromotion/ |
reserve-tbaa.ll | 6 ; This testing case makes sure that we correctly transfer the tbaa tags from the 17 %0 = load i64* %p2, align 8, !tbaa !1 19 %1 = load i32* %p1, align 4, !tbaa !5 21 store i8 %conv1, i8* @d, align 1, !tbaa !7 28 ; CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa ![[I32:[0-9]+]] 29 ; CHECK: %g.val = load i32* @g, align 4, !tbaa ![[I32]] 30 ; CHECK: %c.val = load i64* @c, align 8, !tbaa ![[LONG:[0-9]+]] 31 %0 = load i32*** @e, align 8, !tbaa !8 32 store i32* @g, i32** %0, align 8, !tbaa !8 33 %1 = load i32** @a, align 8, !tbaa ! [all...] |
/external/llvm/test/Analysis/BasicAA/ |
full-store-partial-alias.ll | 1 ; RUN: opt -S -tbaa -basicaa -gvn < %s | FileCheck -check-prefix=BASICAA %s 2 ; RUN: opt -S -tbaa -gvn < %s | FileCheck %s 6 ; so the %tmp5 load is PartialAlias with the store and suppress TBAA. 7 ; Without BasicAA, TBAA should say that %tmp5 is NoAlias with the store. 22 store double %x, double* %tmp9, align 8, !tbaa !0 23 %tmp2 = load i32* bitcast (i64* @endianness_test to i32*), align 8, !tbaa !3 27 %tmp5 = load i32* %arrayidx, align 4, !tbaa !3 34 !2 = metadata !{metadata !"Simple C/C++ TBAA", null}
|
/external/llvm/test/Transforms/GVN/ |
preserve-tbaa.ll | 1 ; RUN: opt -tbaa -basicaa -gvn -S < %s | FileCheck %s 5 ; GVN should preserve the TBAA tag on loads when doing PRE. 8 ; CHECK: %tmp33.pre = load i16* %P, align 2, !tbaa !0 18 %tmp33 = load i16* %P, align 2, !tbaa !0 21 store i16 0, i16* %P, align 2, !tbaa !0 30 !2 = metadata !{metadata !"Simple C/C++ TBAA", null}
|
tbaa.ll | 6 ; CHECK-NOT: tbaa 8 %a = call i32 @foo(i8* %p), !tbaa !0 16 ; CHECK: call i32 @foo(i8* %p), !tbaa [[TAGC:!.*]] 18 %a = call i32 @foo(i8* %p), !tbaa !0 19 %b = call i32 @foo(i8* %p), !tbaa !0 26 ; CHECK: call i32 @foo(i8* %p), !tbaa [[TAGB:!.*]] 28 %a = call i32 @foo(i8* %p), !tbaa !3 29 %b = call i32 @foo(i8* %p), !tbaa !3 36 ; CHECK: call i32 @foo(i8* %p), !tbaa [[TAGA:!.*]] 38 %a = call i32 @foo(i8* %p), !tbaa ! [all...] |
/external/llvm/test/Bitcode/ |
upgrade-tbaa.ll | 6 store i32 0, i32* %pI, align 4, !tbaa !{metadata !"int", metadata !0} 7 ; CHECK: store i32 0, i32* %pI, align 4, !tbaa [[TAG_INT:!.*]] 8 store float 1.000000e+00, float* %pF, align 4, !tbaa !2 9 ; CHECK: store float 1.000000e+00, float* %pF, align 4, !tbaa [[TAG_FLOAT:!.*]] 16 !1 = metadata !{metadata !"Simple C/C++ TBAA"}
|
/external/llvm/test/Transforms/LICM/ |
2011-04-06-PromoteResultOfPromotion.ll | 1 ; RUN: opt < %s -tbaa -licm -S | FileCheck %s 20 store i32* @g_58, i32** @g_116, align 8, !tbaa !0 21 %tmp2 = load i32** @g_116, align 8, !tbaa !0 22 %tmp3 = load i32* %tmp2, !tbaa !4 24 store i32 %or, i32* %tmp2, !tbaa !4 35 !2 = metadata !{metadata !"Simple C/C++ TBAA", null}
|
/external/llvm/test/CodeGen/AArch64/ |
arm64-ccmp-heuristics.ll | 24 %0 = load i64* @channelColumns, align 8, !tbaa !0 32 %2 = load i8** @mazeRoute, align 8, !tbaa !3 34 %3 = load i8* %arrayidx, align 1, !tbaa !1 39 %4 = load i64** @TOP, align 8, !tbaa !3 41 %5 = load i64* %arrayidx1, align 8, !tbaa !0 42 %6 = load i64** @netsAssign, align 8, !tbaa !3 44 %7 = load i64* %arrayidx2, align 8, !tbaa !0 45 %8 = load i64** @BOT, align 8, !tbaa !3 47 %9 = load i64* %arrayidx3, align 8, !tbaa !0 49 %10 = load i64* %arrayidx4, align 8, !tbaa ! [all...] |
/external/llvm/test/CodeGen/Mips/ |
lcb5.ll | 10 %0 = load i32* @i, align 4, !tbaa !1 24 store i32 %storemerge, i32* @i, align 4, !tbaa !1 36 %0 = load i32* @i, align 4, !tbaa !1 50 store i32 %storemerge, i32* @i, align 4, !tbaa !1 64 %0 = load i32* @i, align 4, !tbaa !1 69 store i32 10, i32* @j, align 4, !tbaa !1 74 store i32 55, i32* @j, align 4, !tbaa !1 89 %0 = load i32* @i, align 4, !tbaa !1 94 store i32 10, i32* @j, align 4, !tbaa !1 99 store i32 55, i32* @j, align 4, !tbaa ! [all...] |