From 16f6c37c7e902378c1d7c96bd494d91bb8a03d77 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Thu, 1 Sep 2022 19:00:28 -0700 Subject: [PATCH] [test][msan] Add implicit-check-not rename some prefixes --- .../Instrumentation/MemorySanitizer/atomics.ll | 6 +- .../MemorySanitizer/check_access_address.ll | 2 +- llvm/test/Instrumentation/MemorySanitizer/csr.ll | 4 +- .../MemorySanitizer/masked-store-load.ll | 58 ++++++------- .../Instrumentation/MemorySanitizer/msan_basic.ll | 97 +++++++++++----------- .../MemorySanitizer/return_from_main.ll | 4 +- .../Instrumentation/MemorySanitizer/vector_cvt.ll | 4 +- 7 files changed, 88 insertions(+), 87 deletions(-) diff --git a/llvm/test/Instrumentation/MemorySanitizer/atomics.ll b/llvm/test/Instrumentation/MemorySanitizer/atomics.ll index e27c1d9..63ff41c 100644 --- a/llvm/test/Instrumentation/MemorySanitizer/atomics.ll +++ b/llvm/test/Instrumentation/MemorySanitizer/atomics.ll @@ -1,6 +1,6 @@ -; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 | FileCheck %s -; RUN: opt < %s -msan-check-access-address=0 -msan-track-origins=1 -S -passes=msan 2>&1 | FileCheck %s -; RUN: opt < %s -msan-check-access-address=0 -msan-track-origins=2 -S -passes=msan 2>&1 | FileCheck %s +; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 | FileCheck %s --implicit-check-not="call void @__msan_warning" +; RUN: opt < %s -msan-check-access-address=0 -msan-track-origins=1 -S -passes=msan 2>&1 | FileCheck %s --implicit-check-not="call void @__msan_warning" +; RUN: opt < %s -msan-check-access-address=0 -msan-track-origins=2 -S -passes=msan 2>&1 | FileCheck %s --implicit-check-not="call void @__msan_warning" 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-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/llvm/test/Instrumentation/MemorySanitizer/check_access_address.ll b/llvm/test/Instrumentation/MemorySanitizer/check_access_address.ll index e62bf18..b3c054a 100644 --- a/llvm/test/Instrumentation/MemorySanitizer/check_access_address.ll +++ b/llvm/test/Instrumentation/MemorySanitizer/check_access_address.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -msan-check-access-address=1 -S -passes=msan 2>&1 | FileCheck %s +; RUN: opt < %s -msan-check-access-address=1 -S -passes=msan 2>&1 | FileCheck %s --implicit-check-not="call void @__msan_warning" 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-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/llvm/test/Instrumentation/MemorySanitizer/csr.ll b/llvm/test/Instrumentation/MemorySanitizer/csr.ll index f6abcb3..63f789f 100644 --- a/llvm/test/Instrumentation/MemorySanitizer/csr.ll +++ b/llvm/test/Instrumentation/MemorySanitizer/csr.ll @@ -1,5 +1,5 @@ -; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 | FileCheck %s -; RUN: opt < %s -msan-check-access-address=1 -S -passes=msan 2>&1 | FileCheck %s --check-prefix=ADDR +; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 | FileCheck %s --implicit-check-not="call void @__msan_warning" +; RUN: opt < %s -msan-check-access-address=1 -S -passes=msan 2>&1 | FileCheck %s --check-prefix=ADDR --implicit-check-not="call void @__msan_warning" ; REQUIRES: x86-registered-target 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-S128" diff --git a/llvm/test/Instrumentation/MemorySanitizer/masked-store-load.ll b/llvm/test/Instrumentation/MemorySanitizer/masked-store-load.ll index ff2504b..b1d6340 100644 --- a/llvm/test/Instrumentation/MemorySanitizer/masked-store-load.ll +++ b/llvm/test/Instrumentation/MemorySanitizer/masked-store-load.ll @@ -1,6 +1,6 @@ -; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 | FileCheck %s -; RUN: opt < %s -msan-check-access-address=0 -msan-track-origins=1 -S -passes=msan 2>&1 | FileCheck %s "--check-prefixes=CHECK,CHECK-ORIGIN" -; RUN: opt < %s -msan-check-access-address=1 -S -passes=msan 2>&1 | FileCheck %s --check-prefix=ADDR +; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 | FileCheck %s --implicit-check-not="call void @__msan_warning" +; RUN: opt < %s -msan-check-access-address=0 -msan-track-origins=1 -S -passes=msan 2>&1 | FileCheck %s "--check-prefixes=CHECK,ORIGINS" --implicit-check-not="call void @__msan_warning" +; RUN: opt < %s -msan-check-access-address=1 -S -passes=msan 2>&1 | FileCheck %s --check-prefix=ADDR --implicit-check-not="call void @__msan_warning" 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-S128" target triple = "x86_64-unknown-linux-gnu" @@ -16,29 +16,29 @@ entry: ; CHECK-LABEL: @Store( ; CHECK: %[[A:.*]] = load <4 x i64>, {{.*}}@__msan_param_tls to i64), i64 8) -; CHECK-ORIGIN: %[[O:.*]] = load i32, {{.*}}@__msan_param_origin_tls to i64), i64 8) +; ORIGINS: %[[O:.*]] = load i32, {{.*}}@__msan_param_origin_tls to i64), i64 8) ; CHECK: %[[B:.*]] = ptrtoint <4 x i64>* %p to i64 ; CHECK: %[[C:.*]] = xor i64 %[[B]], 87960930222080 ; CHECK: %[[D:.*]] = inttoptr i64 %[[C]] to <4 x i64>* -; CHECK-ORIGIN: %[[E:.*]] = add i64 %[[C]], 17592186044416 -; CHECK-ORIGIN: %[[F:.*]] = and i64 %[[E]], -4 -; CHECK-ORIGIN: %[[G:.*]] = inttoptr i64 %[[F]] to i32* +; ORIGINS: %[[E:.*]] = add i64 %[[C]], 17592186044416 +; ORIGINS: %[[F:.*]] = and i64 %[[E]], -4 +; ORIGINS: %[[G:.*]] = inttoptr i64 %[[F]] to i32* ; CHECK: call void @llvm.masked.store.v4i64.p0v4i64(<4 x i64> %[[A]], <4 x i64>* %[[D]], i32 1, <4 x i1> %mask) -; CHECK-ORIGIN: store i32 %[[O]], i32* %[[G]], align 4 -; CHECK-ORIGIN: getelementptr i32, i32* %[[G]], i32 1 -; CHECK-ORIGIN: store i32 %[[O]], i32* {{.*}}, align 4 -; CHECK-ORIGIN: getelementptr i32, i32* %[[G]], i32 2 -; CHECK-ORIGIN: store i32 %[[O]], i32* {{.*}}, align 4 -; CHECK-ORIGIN: getelementptr i32, i32* %[[G]], i32 3 -; CHECK-ORIGIN: store i32 %[[O]], i32* {{.*}}, align 4 -; CHECK-ORIGIN: getelementptr i32, i32* %[[G]], i32 4 -; CHECK-ORIGIN: store i32 %[[O]], i32* {{.*}}, align 4 -; CHECK-ORIGIN: getelementptr i32, i32* %[[G]], i32 5 -; CHECK-ORIGIN: store i32 %[[O]], i32* {{.*}}, align 4 -; CHECK-ORIGIN: getelementptr i32, i32* %[[G]], i32 6 -; CHECK-ORIGIN: store i32 %[[O]], i32* {{.*}}, align 4 -; CHECK-ORIGIN: getelementptr i32, i32* %[[G]], i32 7 -; CHECK-ORIGIN: store i32 %[[O]], i32* {{.*}}, align 4 +; ORIGINS: store i32 %[[O]], i32* %[[G]], align 4 +; ORIGINS: getelementptr i32, i32* %[[G]], i32 1 +; ORIGINS: store i32 %[[O]], i32* {{.*}}, align 4 +; ORIGINS: getelementptr i32, i32* %[[G]], i32 2 +; ORIGINS: store i32 %[[O]], i32* {{.*}}, align 4 +; ORIGINS: getelementptr i32, i32* %[[G]], i32 3 +; ORIGINS: store i32 %[[O]], i32* {{.*}}, align 4 +; ORIGINS: getelementptr i32, i32* %[[G]], i32 4 +; ORIGINS: store i32 %[[O]], i32* {{.*}}, align 4 +; ORIGINS: getelementptr i32, i32* %[[G]], i32 5 +; ORIGINS: store i32 %[[O]], i32* {{.*}}, align 4 +; ORIGINS: getelementptr i32, i32* %[[G]], i32 6 +; ORIGINS: store i32 %[[O]], i32* {{.*}}, align 4 +; ORIGINS: getelementptr i32, i32* %[[G]], i32 7 +; ORIGINS: store i32 %[[O]], i32* {{.*}}, align 4 ; CHECK: tail call void @llvm.masked.store.v4i64.p0v4i64(<4 x i64> %v, <4 x i64>* %p, i32 1, <4 x i1> %mask) ; CHECK: ret void @@ -65,19 +65,19 @@ entry: ; CHECK-LABEL: @Load( ; CHECK: %[[A:.*]] = load <4 x i64>, {{.*}}@__msan_param_tls to i64), i64 8) -; CHECK-ORIGIN: %[[O:.*]] = load i32, {{.*}}@__msan_param_origin_tls to i64), i64 8) +; ORIGINS: %[[O:.*]] = load i32, {{.*}}@__msan_param_origin_tls to i64), i64 8) ; CHECK: %[[B:.*]] = ptrtoint <4 x double>* %p to i64 ; CHECK: %[[C:.*]] = xor i64 %[[B]], 87960930222080 ; CHECK: %[[D:.*]] = inttoptr i64 %[[C]] to <4 x i64>* -; CHECK-ORIGIN: %[[E:.*]] = add i64 %[[C]], 17592186044416 -; CHECK-ORIGIN: %[[F:.*]] = and i64 %[[E]], -4 -; CHECK-ORIGIN: %[[G:.*]] = inttoptr i64 %[[F]] to i32* +; ORIGINS: %[[E:.*]] = add i64 %[[C]], 17592186044416 +; ORIGINS: %[[F:.*]] = and i64 %[[E]], -4 +; ORIGINS: %[[G:.*]] = inttoptr i64 %[[F]] to i32* ; CHECK: %[[E:.*]] = call <4 x i64> @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %[[D]], i32 1, <4 x i1> %mask, <4 x i64> %[[A]]) -; CHECK-ORIGIN: %[[H:.*]] = load i32, i32* %[[G]] -; CHECK-ORIGIN: %[[O2:.*]] = select i1 %{{.*}}, i32 %[[O]], i32 %[[H]] +; ORIGINS: %[[H:.*]] = load i32, i32* %[[G]] +; ORIGINS: %[[O2:.*]] = select i1 %{{.*}}, i32 %[[O]], i32 %[[H]] ; CHECK: %[[X:.*]] = call <4 x double> @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %p, i32 1, <4 x i1> %mask, <4 x double> %v) ; CHECK: store <4 x i64> %[[E]], {{.*}}@__msan_retval_tls -; CHECK-ORIGIN: store i32 %[[O2]], i32* @__msan_retval_origin_tls +; ORIGINS: store i32 %[[O2]], i32* @__msan_retval_origin_tls ; CHECK: ret <4 x double> %[[X]] ; ADDR-LABEL: @Load( diff --git a/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll b/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll index f0d649b..419344f 100644 --- a/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll +++ b/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll @@ -1,8 +1,8 @@ -; RUN: opt < %s -msan-check-access-address=0 -S -passes='module(msan-module),function(msan)' 2>&1 | FileCheck -allow-deprecated-dag-overlap %s -; RUN: opt < %s --passes='module(msan-module),function(msan)' -msan-check-access-address=0 -S | FileCheck -allow-deprecated-dag-overlap %s -; RUN: opt < %s -msan-check-access-address=0 -msan-track-origins=1 -S -passes='module(msan-module),function(msan)' 2>&1 | FileCheck -allow-deprecated-dag-overlap -check-prefixes=CHECK,CHECK-ORIGINS %s -; RUN: opt < %s -passes='module(msan-module),function(msan)' -msan-check-access-address=0 -msan-track-origins=1 -S | FileCheck -allow-deprecated-dag-overlap -check-prefixes=CHECK,CHECK-ORIGINS %s -; RUN: opt < %s -passes='module(msan-module),function(msan)' -msan-instrumentation-with-call-threshold=0 -msan-track-origins=1 -S | FileCheck -allow-deprecated-dag-overlap -check-prefixes=CHECK-CALLS %s +; RUN: opt < %s -msan-check-access-address=0 -S -passes='module(msan-module),function(msan)' 2>&1 | FileCheck -allow-deprecated-dag-overlap %s --implicit-check-not="call void @__msan_warning" +; RUN: opt < %s --passes='module(msan-module),function(msan)' -msan-check-access-address=0 -S | FileCheck -allow-deprecated-dag-overlap %s --implicit-check-not="call void @__msan_warning" +; RUN: opt < %s -msan-check-access-address=0 -msan-track-origins=1 -S -passes='module(msan-module),function(msan)' 2>&1 | FileCheck -allow-deprecated-dag-overlap -check-prefixes=CHECK,ORIGINS %s --implicit-check-not="call void @__msan_warning" +; RUN: opt < %s -passes='module(msan-module),function(msan)' -msan-check-access-address=0 -msan-track-origins=1 -S | FileCheck -allow-deprecated-dag-overlap -check-prefixes=CHECK,ORIGINS %s --implicit-check-not="call void @__msan_warning" +; RUN: opt < %s -passes='module(msan-module),function(msan)' -msan-instrumentation-with-call-threshold=0 -msan-track-origins=1 -S | FileCheck -allow-deprecated-dag-overlap -check-prefixes=CHECK-CALLS %s --implicit-check-not="call void @__msan_warning" 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-S128" target triple = "x86_64-unknown-linux-gnu" @@ -13,7 +13,7 @@ target triple = "x86_64-unknown-linux-gnu" ; Check the presence and the linkage type of __msan_track_origins and ; other interface symbols. ; CHECK-NOT: @__msan_track_origins -; CHECK-ORIGINS: @__msan_track_origins = weak_odr constant i32 1 +; ORIGINS: @__msan_track_origins = weak_odr constant i32 1 ; CHECK-NOT: @__msan_keep_going = weak_odr constant i32 0 ; CHECK: @__msan_retval_tls = external thread_local(initialexec) global [{{.*}}] ; CHECK: @__msan_retval_origin_tls = external thread_local(initialexec) global i32 @@ -33,14 +33,14 @@ entry: ; CHECK-LABEL: @Store ; CHECK: load {{.*}} @__msan_param_tls -; CHECK-ORIGINS: load {{.*}} @__msan_param_origin_tls +; ORIGINS: load {{.*}} @__msan_param_origin_tls ; CHECK: store -; CHECK-ORIGINS: icmp -; CHECK-ORIGINS: br i1 -; CHECK-ORIGINS: {{^[0-9]+}}: -; CHECK-ORIGINS: store -; CHECK-ORIGINS: br label -; CHECK-ORIGINS: {{^[0-9]+}}: +; ORIGINS: icmp +; ORIGINS: br i1 +; ORIGINS: {{^[0-9]+}}: +; ORIGINS: store +; ORIGINS: br label +; ORIGINS: {{^[0-9]+}}: ; CHECK: store ; CHECK: ret void @@ -57,14 +57,14 @@ entry: ; CHECK-LABEL: @AlignedStore ; CHECK: load {{.*}} @__msan_param_tls -; CHECK-ORIGINS: load {{.*}} @__msan_param_origin_tls +; ORIGINS: load {{.*}} @__msan_param_origin_tls ; CHECK: store {{.*}} align 32 -; CHECK-ORIGINS: icmp -; CHECK-ORIGINS: br i1 -; CHECK-ORIGINS: {{^[0-9]+}}: -; CHECK-ORIGINS: store {{.*}} align 32 -; CHECK-ORIGINS: br label -; CHECK-ORIGINS: {{^[0-9]+}}: +; ORIGINS: icmp +; ORIGINS: br i1 +; ORIGINS: {{^[0-9]+}}: +; ORIGINS: store {{.*}} align 32 +; ORIGINS: br label +; ORIGINS: {{^[0-9]+}}: ; CHECK: store {{.*}} align 32 ; CHECK: ret void @@ -89,9 +89,9 @@ declare void @foo(...) ; CHECK-LABEL: @LoadAndCmp ; CHECK: %0 = load i32, ; CHECK: = load -; CHECK-ORIGINS: %[[ORIGIN:.*]] = load +; ORIGINS: %[[ORIGIN:.*]] = load ; CHECK: call void @__msan_warning_with_origin_noreturn(i32 -; CHECK-ORIGINS-SAME %[[ORIGIN]]) +; ORIGINS-SAME %[[ORIGIN]]) ; CHECK-CONT: ; CHECK-NEXT: unreachable ; CHECK: br i1 %tobool @@ -143,6 +143,7 @@ entry: } ; CHECK-LABEL: @FuncWithPhi +; CHECK: call void @__msan_warning_with_origin_noreturn(i32 ; CHECK: = phi ; CHECK-NEXT: = phi ; CHECK: store @@ -322,11 +323,11 @@ entry: ; CHECK-DAG: xor i32 ; CHECK: or i32 ; CHECK-DAG: select i1 -; CHECK-ORIGINS-DAG: select -; CHECK-ORIGINS-DAG: select +; ORIGINS-DAG: select +; ORIGINS-DAG: select ; CHECK-DAG: select i1 ; CHECK: store i32{{.*}}@__msan_retval_tls -; CHECK-ORIGINS: store i32{{.*}}@__msan_retval_origin_tls +; ORIGINS: store i32{{.*}}@__msan_retval_origin_tls ; CHECK: ret i32 @@ -346,11 +347,11 @@ entry: ; CHECK-DAG: xor <8 x i16> ; CHECK: or <8 x i16> ; CHECK-DAG: select <8 x i1> -; CHECK-ORIGINS-DAG: select -; CHECK-ORIGINS-DAG: select +; ORIGINS-DAG: select +; ORIGINS-DAG: select ; CHECK-DAG: select <8 x i1> ; CHECK: store <8 x i16>{{.*}}@__msan_retval_tls -; CHECK-ORIGINS: store i32{{.*}}@__msan_retval_origin_tls +; ORIGINS: store i32{{.*}}@__msan_retval_origin_tls ; CHECK: ret <8 x i16> @@ -370,8 +371,8 @@ entry: ; CHECK-DAG: xor <8 x i16> ; CHECK: or <8 x i16> ; CHECK-DAG: select i1 -; CHECK-ORIGINS-DAG: select i1 -; CHECK-ORIGINS-DAG: select i1 +; ORIGINS-DAG: select i1 +; ORIGINS-DAG: select i1 ; CHECK-DAG: select i1 ; CHECK: ret <8 x i16> @@ -385,8 +386,8 @@ entry: ; CHECK-LABEL: @SelectStruct ; CHECK: select i1 {{.*}}, { i64, i64 } ; CHECK-NEXT: select i1 {{.*}}, { i64, i64 } { i64 -1, i64 -1 }, { i64, i64 } -; CHECK-ORIGINS: select i1 -; CHECK-ORIGINS: select i1 +; ORIGINS: select i1 +; ORIGINS: select i1 ; CHECK-NEXT: select i1 {{.*}}, { i64, i64 } ; CHECK: ret { i64, i64 } @@ -400,8 +401,8 @@ entry: ; CHECK-LABEL: @SelectStruct2 ; CHECK: select i1 {{.*}}, { i64, i64 } ; CHECK-NEXT: select i1 {{.*}}, { i64, i64 } { i64 -1, i64 -1 }, { i64, i64 } -; CHECK-ORIGINS: select i1 -; CHECK-ORIGINS: select i1 +; ORIGINS: select i1 +; ORIGINS: select i1 ; CHECK-NEXT: select i1 {{.*}}, { i64*, double } ; CHECK: ret { i64*, double } @@ -414,7 +415,7 @@ entry: ; CHECK-LABEL: @IntToPtr ; CHECK: load i64, i64*{{.*}}__msan_param_tls -; CHECK-ORIGINS-NEXT: load i32, i32*{{.*}}__msan_param_origin_tls +; ORIGINS-NEXT: load i32, i32*{{.*}}__msan_param_origin_tls ; CHECK-NEXT: call void @llvm.donothing ; CHECK-NEXT: inttoptr ; CHECK-NEXT: store i64{{.*}}__msan_retval_tls @@ -478,10 +479,10 @@ entry: ; CHECK-LABEL: @FNeg ; CHECK: %[[SA:.*]] = load i32,{{.*}}@__msan_param_tls -; CHECK-ORIGINS: %[[SB:.*]] = load i32,{{.*}}@__msan_param_origin_tls +; ORIGINS: %[[SB:.*]] = load i32,{{.*}}@__msan_param_origin_tls ; CHECK: = fneg float ; CHECK: store i32 %[[SA]], i32* {{.*}}@__msan_retval_tls -; CHECK-ORIGINS: store i32{{.*}}@__msan_retval_origin_tls +; ORIGINS: store i32{{.*}}@__msan_retval_origin_tls ; CHECK: ret float ; Check that we propagate shadow for x<0, x>=0, etc (i.e. sign bit tests) @@ -659,7 +660,7 @@ define i32 @ShadowLoadAlignmentSmall() nounwind uwtable sanitize_memory { ; CHECK-LABEL: @ShadowLoadAlignmentSmall ; CHECK: load volatile i32, i32* {{.*}} align 2 ; CHECK: load i32, i32* {{.*}} align 2 -; CHECK-ORIGINS: load i32, i32* {{.*}} align 4 +; ORIGINS: load i32, i32* {{.*}} align 4 ; CHECK: ret i32 @@ -908,22 +909,22 @@ entry: ret { i64, i32 } %b } -; CHECK-ORIGINS: @make_pair_64_32 +; ORIGINS: @make_pair_64_32 ; First element shadow -; CHECK-ORIGINS: insertvalue { i64, i32 } { i64 -1, i32 -1 }, i64 {{.*}}, 0 +; ORIGINS: insertvalue { i64, i32 } { i64 -1, i32 -1 }, i64 {{.*}}, 0 ; First element origin -; CHECK-ORIGINS: icmp ne i64 -; CHECK-ORIGINS: select i1 +; ORIGINS: icmp ne i64 +; ORIGINS: select i1 ; First element app value -; CHECK-ORIGINS: insertvalue { i64, i32 } undef, i64 {{.*}}, 0 +; ORIGINS: insertvalue { i64, i32 } undef, i64 {{.*}}, 0 ; Second element shadow -; CHECK-ORIGINS: insertvalue { i64, i32 } {{.*}}, i32 {{.*}}, 1 +; ORIGINS: insertvalue { i64, i32 } {{.*}}, i32 {{.*}}, 1 ; Second element origin -; CHECK-ORIGINS: icmp ne i32 -; CHECK-ORIGINS: select i1 +; ORIGINS: icmp ne i32 +; ORIGINS: select i1 ; Second element app value -; CHECK-ORIGINS: insertvalue { i64, i32 } {{.*}}, i32 {{.*}}, 1 -; CHECK-ORIGINS: ret { i64, i32 } +; ORIGINS: insertvalue { i64, i32 } {{.*}}, i32 {{.*}}, 1 +; ORIGINS: ret { i64, i32 } ; Test shadow propagation for aggregates passed through ellipsis. diff --git a/llvm/test/Instrumentation/MemorySanitizer/return_from_main.ll b/llvm/test/Instrumentation/MemorySanitizer/return_from_main.ll index 2be861b..c088d94 100644 --- a/llvm/test/Instrumentation/MemorySanitizer/return_from_main.ll +++ b/llvm/test/Instrumentation/MemorySanitizer/return_from_main.ll @@ -1,5 +1,5 @@ -; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 | FileCheck \ -; RUN: %s +; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 | FileCheck %s --implicit-check-not="call void @__msan_warning" + 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-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/llvm/test/Instrumentation/MemorySanitizer/vector_cvt.ll b/llvm/test/Instrumentation/MemorySanitizer/vector_cvt.ll index 498e0c5..67bc9cd 100644 --- a/llvm/test/Instrumentation/MemorySanitizer/vector_cvt.ll +++ b/llvm/test/Instrumentation/MemorySanitizer/vector_cvt.ll @@ -1,5 +1,5 @@ -; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 | FileCheck \ -; RUN: %s +; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 | FileCheck %s --implicit-check-not="call void @__msan_warning" + ; REQUIRES: x86-registered-target 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-S128" -- 2.7.4