Files
c3c/test/test_suite/functions/simple_test.c3t

30 lines
548 B
Plaintext

// #target: macos-x64
fn int foo()
{
char *pp;
uint w_cnt;
w_cnt += *pp;
return w_cnt;
}
/* #expect: simple_test.ll
define i32 @simple_test.foo() #0 {
entry:
%pp = alloca ptr, align 8
%w_cnt = alloca i32, align 4
store ptr null, ptr %pp, align 8
store i32 0, ptr %w_cnt, align 4
%0 = load i32, ptr %w_cnt, align 4
%1 = load ptr, ptr %pp, align 8
%2 = load i8, ptr %1, align 1
%zext = zext i8 %2 to i32
%add = add i32 %0, %zext
store i32 %add, ptr %w_cnt, align 4
%3 = load i32, ptr %w_cnt, align 4
ret i32 %3
}