feat(ir): 添加MIR中间表示层并重构LIR相关代码
- 新增mir库模块,包含scc_mir、scc_mir_module、scc_mir_dump等组件 - 添加LIR到MIR的转换接口scc_lir2mir - 定义MIR操作数类型和指令结构,支持虚拟寄存器、物理寄存器、立即数等 - 实现x86_64指令选择器,将LIR指令转换为MIR指令 - 重构LIR模块中函数参数命名,统一使用lir_module参数名 - 移除LIR中物理寄存器相关的代码和注释 - 更新cbuild.toml依赖配置,添加mir模块依赖
This commit is contained in:
@@ -22,12 +22,12 @@ typedef struct scc_lir_module {
|
||||
/**
|
||||
* @brief 初始化 LIR 模块
|
||||
*/
|
||||
void scc_lir_module_init(scc_lir_module_t *module);
|
||||
void scc_lir_module_init(scc_lir_module_t *lir_module);
|
||||
|
||||
/**
|
||||
* @brief 销毁 LIR 模块,释放所有函数和符号资源
|
||||
*/
|
||||
void scc_lir_module_drop(scc_lir_module_t *module);
|
||||
void scc_lir_module_drop(scc_lir_module_t *lir_module);
|
||||
|
||||
/**
|
||||
* @brief 添加一个函数声明(外部或未定义)
|
||||
@@ -36,7 +36,7 @@ void scc_lir_module_drop(scc_lir_module_t *module);
|
||||
* @param attr 属性
|
||||
* @return 符号指针
|
||||
*/
|
||||
scc_lir_symbol_id_t scc_lir_module_add_func_decl(scc_lir_module_t *module,
|
||||
scc_lir_symbol_id_t scc_lir_module_add_func_decl(scc_lir_module_t *lir_module,
|
||||
const char *name);
|
||||
|
||||
/**
|
||||
@@ -50,7 +50,7 @@ scc_lir_symbol_id_t scc_lir_module_add_func_decl(scc_lir_module_t *module,
|
||||
* @param attr 属性
|
||||
* @return 符号指针
|
||||
*/
|
||||
scc_lir_symbol_id_t scc_lir_module_add_data(scc_lir_module_t *module,
|
||||
scc_lir_symbol_id_t scc_lir_module_add_data(scc_lir_module_t *lir_module,
|
||||
const char *name,
|
||||
scc_cfg_symbol_kind_t kind,
|
||||
const u8 *init_data, usize size,
|
||||
|
||||
Reference in New Issue
Block a user