diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2013-09-03 13:05:29 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2013-09-03 13:05:29 +0000 |
commit | 69086b2962b16a9e78aea0605202c5ea126049ae (patch) | |
tree | 87dfaa7100223b1367a300b44928ea63f24e9e4c /test/Instrumentation | |
parent | 6a9b29ec9b42e792732659e510a655449a41b661 (diff) | |
download | external_llvm-69086b2962b16a9e78aea0605202c5ea126049ae.zip external_llvm-69086b2962b16a9e78aea0605202c5ea126049ae.tar.gz external_llvm-69086b2962b16a9e78aea0605202c5ea126049ae.tar.bz2 |
[msan] Fix handling of select with struct arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189796 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Instrumentation')
-rw-r--r-- | test/Instrumentation/MemorySanitizer/msan_basic.ll | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Instrumentation/MemorySanitizer/msan_basic.ll b/test/Instrumentation/MemorySanitizer/msan_basic.ll index 466e252..e87bf53 100644 --- a/test/Instrumentation/MemorySanitizer/msan_basic.ll +++ b/test/Instrumentation/MemorySanitizer/msan_basic.ll @@ -290,6 +290,19 @@ entry: ; CHECK-ORIGINS: ret <8 x i16> +define { i64, i64 } @SelectStruct(i1 zeroext %x, { i64, i64 } %a, { i64, i64 } %b) readnone sanitize_memory { +entry: + %c = select i1 %x, { i64, i64 } %a, { i64, i64 } %b + ret { i64, i64 } %c +} + +; CHECK: @SelectStruct +; CHECK: select i1 {{.*}}, { i64, i64 } +; CHECK-NEXT: select i1 {{.*}}, { i64, i64 } { i64 -1, i64 -1 }, { i64, i64 } +; CHECK-NEXT: select i1 {{.*}}, { i64, i64 } +; CHECK: ret { i64, i64 } + + define i8* @IntToPtr(i64 %x) nounwind uwtable readnone sanitize_memory { entry: %0 = inttoptr i64 %x to i8* |