CppModuleFusionScript.sh 767 B

12345678910111213141516171819
  1. #!/bin/bash
  2. # 获取脚本所在目录
  3. SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
  4. # 切换到项目根目录
  5. cd "$SCRIPT_DIR/../.."
  6. # 确保输出目录存在
  7. mkdir -p output/cpp
  8. # 使用 -S 参数让 opt 直接输出 .ll 文件,并重定向错误输出到日志
  9. 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
  10. # 由于直接生成了 .ll 文件,不再需要 llvm-dis 命令
  11. llvm-cbe output/cpp/cpp_module_fusion_text.ll
  12. echo "C++ module fusion completed successfully."
  13. echo "Output files:"
  14. echo " - LLVM IR: output/cpp/cpp_module_fusion_text.ll"
  15. echo " - Log file: output/cpp/log_cpp_module_fusion.txt"