diff options
Diffstat (limited to 'test/Verifier/musttail-valid.ll')
-rw-r--r-- | test/Verifier/musttail-valid.ll | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Verifier/musttail-valid.ll b/test/Verifier/musttail-valid.ll index 815d77a..bdc0c8c 100644 --- a/test/Verifier/musttail-valid.ll +++ b/test/Verifier/musttail-valid.ll @@ -14,3 +14,26 @@ define i32* @similar_ret_ptrty() { %w = bitcast i8* %v to i32* ret i32* %w } + +declare x86_thiscallcc void @varargs_thiscall(i8*, ...) +define x86_thiscallcc void @varargs_thiscall_thunk(i8* %this, ...) { + musttail call x86_thiscallcc void (i8*, ...)* @varargs_thiscall(i8* %this, ...) + ret void +} + +declare x86_fastcallcc void @varargs_fastcall(i8*, ...) +define x86_fastcallcc void @varargs_fastcall_thunk(i8* %this, ...) { + musttail call x86_fastcallcc void (i8*, ...)* @varargs_fastcall(i8* %this, ...) + ret void +} + +define x86_thiscallcc void @varargs_thiscall_unreachable(i8* %this, ...) { + unreachable +} + +define x86_thiscallcc void @varargs_thiscall_ret_unreachable(i8* %this, ...) { + musttail call x86_thiscallcc void (i8*, ...)* @varargs_thiscall(i8* %this, ...) + ret void +bb1: + ret void +} |