diff options
Diffstat (limited to 'llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll')
| -rw-r--r-- | llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll b/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll index 0faf45d70c5..27c23145e61 100644 --- a/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll +++ b/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll @@ -878,3 +878,16 @@ define void @MismatchedReturnTypeTailCall(i32 %a) sanitize_memory { ; CHECK-LABEL: define void @MismatchedReturnTypeTailCall ; CHECK: tail call i32 @InnerTailCall ; CHECK: ret void + +declare i32 @InnerMustTailCall(i32 %a) + +define i32 @MustTailCall(i32 %a) { + %b = musttail call i32 @InnerMustTailCall(i32 %a) + ret i32 %b +} + +; Test that 'musttail' is preserved. The ABI should make this work. + +; CHECK-LABEL: define i32 @MustTailCall +; CHECK: musttail call i32 @InnerMustTailCall +; CHECK-NEXT: ret i32 |

