#!/bin/bash # 获取脚本所在目录 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # 切换到项目根目录 cd "$SCRIPT_DIR/../.." # 确保输出目录存在 mkdir -p output/cpp # 使用 -S 参数让 opt 直接输出 .ll 文件,并重定向错误输出到日志 opt -load ./build/CppModuleFusion.so -cpp-codefusion proprocess_output/cpp/combined_cpp_tagged.ll -S -o output/cpp/cpp_module_fusion_text.ll 2> output/cpp/log_cpp_module_fusion.txt # 由于直接生成了 .ll 文件,不再需要 llvm-dis 命令 llvm-cbe output/cpp/cpp_module_fusion_text.ll echo "C++ module fusion completed successfully." echo "Output files:" echo " - LLVM IR: output/cpp/cpp_module_fusion_text.ll" echo " - Log file: output/cpp/log_cpp_module_fusion.txt"