- 创建IR库的cbuild.toml配置文件,添加对scc_core的依赖 - 新增ir_def.h头文件,定义IR类型、节点、基本块和函数的数据结构 - 添加ir_builtin.h和ir_builtin.c,提供内置的i32类型和零值常量 - 实现ir_dump.h和ir_dump.c,提供IR转储功能的接口 - 创建scc_ir.h和scc_ir.c,实现IR对象的初始化和分配功能 - 添加测试文件test_ir.c用于验证IR库功能 - 定义了完整的IR节点类型枚举和操作类型枚举
17 lines
496 B
C
17 lines
496 B
C
#ifndef __SCC_IR_DUMP_H__
|
|
#define __SCC_IR_DUMP_H__
|
|
|
|
#include "ir_def.h"
|
|
|
|
typedef struct {
|
|
|
|
} scc_ir_dump_ctx_t;
|
|
|
|
void scc_ir_type_dump(scc_ir_dump_ctx_t *ctx, const scc_ir_type_t *in);
|
|
void scc_ir_bblock_dump(scc_ir_dump_ctx_t *ctx, const scc_ir_bblock_t *in);
|
|
void scc_ir_func_dump(scc_ir_dump_ctx_t *ctx, const scc_ir_func_t *in);
|
|
void scc_ir_node_dump(scc_ir_dump_ctx_t *ctx, scc_ir_node_t *in);
|
|
void scc_ir_cprog_dump(scc_ir_dump_ctx_t *ctx, ir_cprog_t *in);
|
|
|
|
#endif /* __SCC_IR_DUMP_H__ */
|