39 lines · plain
1; RUN: llvm-as %s -o /dev/null2 3; Should assemble without error.4 5declare void @similar_param_ptrty_callee(ptr)6define void @similar_param_ptrty(ptr) {7 musttail call void @similar_param_ptrty_callee(ptr null)8 ret void9}10 11declare ptr @similar_ret_ptrty_callee()12define ptr @similar_ret_ptrty() {13 %v = musttail call ptr @similar_ret_ptrty_callee()14 ret ptr %v15}16 17declare x86_thiscallcc void @varargs_thiscall(ptr, ...)18define x86_thiscallcc void @varargs_thiscall_thunk(ptr %this, ...) {19 musttail call x86_thiscallcc void (ptr, ...) @varargs_thiscall(ptr %this, ...)20 ret void21}22 23declare x86_fastcallcc void @varargs_fastcall(ptr, ...)24define x86_fastcallcc void @varargs_fastcall_thunk(ptr %this, ...) {25 musttail call x86_fastcallcc void (ptr, ...) @varargs_fastcall(ptr %this, ...)26 ret void27}28 29define x86_thiscallcc void @varargs_thiscall_unreachable(ptr %this, ...) {30 unreachable31}32 33define x86_thiscallcc void @varargs_thiscall_ret_unreachable(ptr %this, ...) {34 musttail call x86_thiscallcc void (ptr, ...) @varargs_thiscall(ptr %this, ...)35 ret void36bb1:37 ret void38}39