[backend]添加了对主函数中新引入的调试信息打印的控制,修改了测试脚本为云平台测试的参数,调整了73_int_io测例的输入文件的格式

This commit is contained in:
Lixuanwang
2025-07-18 22:50:06 +08:00
parent d38ec13cbd
commit 0f26be3586
3 changed files with 12 additions and 20 deletions

View File

@ -125,7 +125,7 @@ int main(int argc, char **argv) {
// 无论最终输出是 IR 还是 ASM只要不是停止在 AST 阶段,都会进入此优化流程。
// optLevel = 0 时,执行默认优化。
// optLevel >= 1 时,执行默认优化 + 额外的 -O1 优化。
cout << "Applying middle-end optimizations (level -O" << optLevel << ")...\n";
if (DEBUG) cout << "Applying middle-end optimizations (level -O" << optLevel << ")...\n";
// 设置 DEBUG 模式(如果指定了 'ird'
if (argStopAfter == "ird") {
@ -146,20 +146,20 @@ int main(int argc, char **argv) {
}
AddressCalculationExpansion ace(moduleIR, builder);
if (ace.run()) {
cout << "AddressCalculationExpansion made changes.\n";
if (DEBUG) cout << "AddressCalculationExpansion made changes.\n";
// 如果 ACE 改变了IR并且 DEBUG 模式开启可以考虑打印IR
if (DEBUG) {
cout << "=== After AddressCalculationExpansion ===\n";
SysYPrinter(moduleIR).printIR();
}
} else {
cout << "AddressCalculationExpansion made no changes.\n";
if (DEBUG) cout << "AddressCalculationExpansion made no changes.\n";
}
// 根据优化级别,执行额外的优化 pass
if (optLevel >= 1) {
cout << "Applying additional -O" << optLevel << " optimizations...\n";
if (DEBUG) cout << "Applying additional -O" << optLevel << " optimizations...\n";
// 放置 -O1 及其以上级别要启用的额外优化 pass
// 例如:
// MyNewOptimizationPass newOpt(moduleIR, builder);
@ -201,7 +201,7 @@ int main(int argc, char **argv) {
SysYPrinter(moduleIR).printIR();
}
} else {
cout << "No additional middle-end optimizations applied for -O" << optLevel << ".\n";
if (DEBUG) cout << "No additional middle-end optimizations applied for -O" << optLevel << ".\n";
}
// 5. 根据 argStopAfter 决定后续操作

View File

@ -102,8 +102,8 @@ find "${TESTDATA_DIR}" -name "*.sy" | while read sy_file; do
echo " SY 文件: ${sy_file}"
# 步骤 1: 使用 sysyc 编译 .sy 到 .s
echo " 使用 sysyc 编译: ${SYSYC} -s asm \"${sy_file}\" > \"${assembly_file}\""
"${SYSYC}" -s asm "${sy_file}" > "${assembly_file}"
echo " 使用 sysyc 编译: ${SYSYC} -S \"${sy_file}\" -o \"${assembly_file}\""
"${SYSYC}" -S "${sy_file}" -o "${assembly_file}"
if [ $? -ne 0 ]; then
echo -e "\e[31m错误: SysY 编译 ${sy_file} 失败\e[0m"
continue

View File

@ -1,14 +1,6 @@
5
4006571
9900
1504379
758219
99336677
4006571
9900
1504379
758219
99336677