ir/tests/llvm/tailcall_001.irt
2023-12-29 14:37:28 +03:00

25 lines
505 B
Plaintext

--TEST--
Simple TAILCALL
--ARGS--
--emit-llvm
--CODE--
{
uintptr_t c_1 = 0;
bool c_2 = 0;
bool c_3 = 1;
int32_t c_4 = 42;
uintptr_t c_5 = func printf(uintptr_t, ...): int32_t;
uintptr_t c_6 = "hello %d!\n";
l_1 = START(l_4);
char d_2, l_2 = TAILCALL/2(l_1, c_5, c_6, c_4);
l_4 = UNREACHABLE(l_2);
}
--EXPECT--
define i8 @test()
{
%d2 = tail call i8 (...) @printf(ptr @.str6, i32 42)
ret i8 %d2
}
declare i32 @printf(ptr, ...)
@.str6 = private unnamed_addr constant [11 x i8] c"hello %d!\0A\00"