chore(misc): 按目录结构设计初始化工程骨架
This commit is contained in:
4
src/ir/BasicBlock.cpp
Normal file
4
src/ir/BasicBlock.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// IR 基本块:
|
||||
// - 保存指令序列
|
||||
// - 维护或可计算前驱/后继关系,用于 CFG 分析与优化
|
||||
|
||||
4
src/ir/Context.cpp
Normal file
4
src/ir/Context.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// IR 上下文:
|
||||
// - 管理类型与常量的创建/复用
|
||||
// - 保存字符串常量、符号等公共资源(按需要扩展)
|
||||
|
||||
4
src/ir/Function.cpp
Normal file
4
src/ir/Function.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// IR Function:
|
||||
// - 保存参数列表、基本块列表
|
||||
// - 记录函数属性/元信息(按需要扩展)
|
||||
|
||||
4
src/ir/IRBuilder.cpp
Normal file
4
src/ir/IRBuilder.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// IR 构建工具:
|
||||
// - 管理插入点(当前基本块/位置)
|
||||
// - 提供创建各类指令的便捷接口,降低 IRGen 复杂度
|
||||
|
||||
4
src/ir/IRPrinter.cpp
Normal file
4
src/ir/IRPrinter.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// IR 文本输出:
|
||||
// - 将 IR 打印为 .ll 风格的文本
|
||||
// - 支撑调试与测试对比(diff)
|
||||
|
||||
4
src/ir/Instruction.cpp
Normal file
4
src/ir/Instruction.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// IR 指令体系:
|
||||
// - 二元运算/比较、load/store、call、br/condbr、ret、phi、alloca 等
|
||||
// - 指令操作数与结果类型管理,支持打印与优化
|
||||
|
||||
4
src/ir/Module.cpp
Normal file
4
src/ir/Module.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// IR Module:
|
||||
// - 保存全局变量与函数列表
|
||||
// - 维护与目标相关的模块级信息(如需要)与符号表
|
||||
|
||||
4
src/ir/Type.cpp
Normal file
4
src/ir/Type.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// IR 类型系统:
|
||||
// - i32/f32/void、指针、数组、函数类型等
|
||||
// - 按 SysY 支持范围裁剪并逐步补齐
|
||||
|
||||
4
src/ir/Value.cpp
Normal file
4
src/ir/Value.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// SSA 值体系抽象:
|
||||
// - 常量、参数、指令结果等统一为 Value
|
||||
// - 提供类型信息与使用/被使用关系(按需要实现)
|
||||
|
||||
4
src/ir/analysis/DominatorTree.cpp
Normal file
4
src/ir/analysis/DominatorTree.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// 支配树分析:
|
||||
// - 构建/查询 Dominator Tree 及相关关系
|
||||
// - 为 mem2reg、CFG 优化与循环分析提供基础能力
|
||||
|
||||
4
src/ir/analysis/LoopInfo.cpp
Normal file
4
src/ir/analysis/LoopInfo.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// 循环分析:
|
||||
// - 识别循环结构与层级关系
|
||||
// - 为后续优化(可选)提供循环信息
|
||||
|
||||
4
src/ir/passes/CFGSimplify.cpp
Normal file
4
src/ir/passes/CFGSimplify.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// CFG 简化:
|
||||
// - 删除不可达块、合并空块、简化分支等
|
||||
// - 改善 IR 结构,便于后续优化与后端生成
|
||||
|
||||
4
src/ir/passes/ConstFold.cpp
Normal file
4
src/ir/passes/ConstFold.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// IR 常量折叠:
|
||||
// - 折叠可判定的常量表达式
|
||||
// - 简化常量控制流分支(按实现范围裁剪)
|
||||
|
||||
4
src/ir/passes/DCE.cpp
Normal file
4
src/ir/passes/DCE.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// 死代码删除(DCE):
|
||||
// - 删除无用指令与无用基本块
|
||||
// - 通常与 CFG 简化配合使用
|
||||
|
||||
4
src/ir/passes/Mem2Reg.cpp
Normal file
4
src/ir/passes/Mem2Reg.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// Mem2Reg(SSA 构造):
|
||||
// - 将局部变量的 alloca/load/store 提升为 SSA 形式
|
||||
// - 插入 PHI 并重写使用,依赖支配树等分析
|
||||
|
||||
4
src/ir/passes/PassManager.cpp
Normal file
4
src/ir/passes/PassManager.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
// IR Pass 管理:
|
||||
// - 按优化级别组织优化 pipeline
|
||||
// - 统一运行 pass、统计与调试输出(按需要扩展)
|
||||
|
||||
Reference in New Issue
Block a user