aboutsummaryrefslogtreecommitdiffstats
path: root/test/Instrumentation
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-09-03 10:04:11 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-09-03 10:04:11 +0000
commit6a9b29ec9b42e792732659e510a655449a41b661 (patch)
tree60a3a3a27a3ad139999b51dce96eb521c2cd417a /test/Instrumentation
parentfdb6a38913cc54e9523b1ee1aab2cc3be27ea4f7 (diff)
downloadexternal_llvm-6a9b29ec9b42e792732659e510a655449a41b661.zip
external_llvm-6a9b29ec9b42e792732659e510a655449a41b661.tar.gz
external_llvm-6a9b29ec9b42e792732659e510a655449a41b661.tar.bz2
[msan] Fix select instrumentation.
Select condition shadow was being ignored resulting in false negatives. This change OR-s sign-extended condition shadow into the result shadow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189785 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Instrumentation')
-rw-r--r--test/Instrumentation/MemorySanitizer/msan_basic.ll9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/Instrumentation/MemorySanitizer/msan_basic.ll b/test/Instrumentation/MemorySanitizer/msan_basic.ll
index 345b070..466e252 100644
--- a/test/Instrumentation/MemorySanitizer/msan_basic.ll
+++ b/test/Instrumentation/MemorySanitizer/msan_basic.ll
@@ -260,6 +260,8 @@ entry:
; CHECK: @Select
; CHECK: select
+; CHECK-NEXT: sext i1 {{.*}} to i32
+; CHECK-NEXT: or i32
; CHECK-NEXT: select
; CHECK: ret i32
@@ -274,6 +276,13 @@ entry:
ret <8 x i16> %cond
}
+; CHECK: @SelectVector
+; CHECK: select <8 x i1>
+; CHECK-NEXT: sext <8 x i1> {{.*}} to <8 x i16>
+; CHECK-NEXT: or <8 x i16>
+; CHECK-NEXT: select <8 x i1>
+; CHECK: ret <8 x i16>
+
; CHECK-ORIGINS: @SelectVector
; CHECK-ORIGINS: bitcast <8 x i1> {{.*}} to i8
; CHECK-ORIGINS: icmp ne i8