chore(misc): 按目录结构设计初始化工程骨架

This commit is contained in:
Lane0218
2025-12-27 14:37:52 +08:00
parent b30c963eb7
commit cf2e6e0b46
46 changed files with 195 additions and 0 deletions

4
src/mir/AsmPrinter.cpp Normal file
View File

@@ -0,0 +1,4 @@
// 汇编打印:
// - 将最终机器指令MIR打印为 ARMv8-A / AArch64 汇编(.s
// - 负责标签、伪指令、段信息等输出(按需要实现)

View File

@@ -0,0 +1,4 @@
// 栈帧构建与序言尾声插入:
// - 计算栈大小与对齐需求,分配栈槽
// - 插入 prologue/epilogue保存/恢复 callee-saved 等

4
src/mir/Lowering.cpp Normal file
View File

@@ -0,0 +1,4 @@
// IR -> MIRAArch64 指令选择):
// - 将平台无关 IR 翻译为 AArch64 的机器指令序列
// - 初始阶段使用虚拟寄存器,生成 MIRFunction/MIRBasicBlock/MIRInstr

View File

@@ -0,0 +1,4 @@
// 机器基本块MIRBasicBlock
// - 维护机器指令列表
// - 记录或可计算机器级 CFG 前驱/后继信息

4
src/mir/MIRContext.cpp Normal file
View File

@@ -0,0 +1,4 @@
// MIR 上下文:
// - 保存目标约束、指令集信息等(面向 AArch64
// - 为后端 Lowering/RegAlloc/FrameLowering 提供公共信息

4
src/mir/MIRFunction.cpp Normal file
View File

@@ -0,0 +1,4 @@
// 机器函数MIRFunction
// - 包含机器基本块列表与 CFG 信息
// - 维护栈帧信息、虚拟/物理寄存器使用情况等

4
src/mir/MIRInstr.cpp Normal file
View File

@@ -0,0 +1,4 @@
// 机器指令MIRInstr
// - opcode + operands寄存器/立即数/栈槽/符号/标签等)
// - 支撑指令选择、寄存器分配与汇编打印

4
src/mir/RegAlloc.cpp Normal file
View File

@@ -0,0 +1,4 @@
// 寄存器分配:
// - 将虚拟寄存器分配到物理寄存器
// - 处理 spill/reload并为后续栈帧布局提供栈槽需求信息

4
src/mir/Register.cpp Normal file
View File

@@ -0,0 +1,4 @@
// 寄存器表示:
// - 区分虚拟寄存器与物理寄存器,提供编号/属性等
// - 寄存器类RegClassGPR/FPR 等分类与可分配集合描述(供 RA 使用)

View File

@@ -0,0 +1,4 @@
// MIR Pass 管理:
// - 组织后端 pass 的运行顺序PreRA/PostRA/PEI 等阶段)
// - 统一运行 pass 与调试输出(按需要扩展)

View File

@@ -0,0 +1,4 @@
// 窥孔优化Peephole
// - 删除冗余 move、合并常见指令模式
// - 提升最终汇编质量(按实现范围裁剪)