Calculate size and alignment, and reuse memory for all variadic calls within a procedure body

This commit is contained in:
gingerBill
2024-07-14 13:44:47 +01:00
parent 0a530b5ce8
commit 6959554040
5 changed files with 34 additions and 12 deletions
+3 -3
View File
@@ -296,9 +296,8 @@ enum lbProcedureFlag : u32 {
lbProcedureFlag_DebugAllocaCopy = 1<<1,
};
struct lbVariadicReuseData {
struct lbVariadicReuseSlices {
Type *slice_type;
lbAddr base_array;
lbAddr slice_addr;
};
@@ -342,7 +341,8 @@ struct lbProcedure {
bool in_multi_assignment;
Array<LLVMValueRef> raw_input_parameters;
Array<lbVariadicReuseData> variadic_reuses;
Array<lbVariadicReuseSlices> variadic_reuses;
lbAddr variadic_reuse_base_array_ptr;
LLVMValueRef temp_callee_return_struct_memory;
Ast *curr_stmt;