#pragma once #include #include #include "common/type_system/TypeSystem.h" #include "goalc/emitter/Register.h" struct CallingConvention { std::vector arg_regs; std::optional return_reg; }; std::vector get_arg_registers(const TypeSystem& type_system, const std::vector& arg_types); CallingConvention get_function_calling_convention(const TypeSpec& function_type, const TypeSystem& type_system);