From e378cf7b11fe7e61dfa6fa35f2943841be455411 Mon Sep 17 00:00:00 2001 From: huang-xiaoquan Date: Tue, 15 Apr 2025 20:57:47 +0800 Subject: [PATCH] add gcc check tool doc --- ...14\346\224\266\346\226\207\346\241\243.md" | 49 ++++++++++++++++++ .../gcc.assets/gcc-report.png" | Bin 0 -> 47359 bytes 2 files changed, 49 insertions(+) create mode 100644 "document/\351\252\214\346\224\266\346\212\245\345\221\212\346\224\266\351\233\206/GCC\347\274\226\350\257\221\345\231\250\351\252\214\346\224\266\346\226\207\346\241\243.md" create mode 100644 "document/\351\252\214\346\224\266\346\212\245\345\221\212\346\224\266\351\233\206/gcc.assets/gcc-report.png" diff --git "a/document/\351\252\214\346\224\266\346\212\245\345\221\212\346\224\266\351\233\206/GCC\347\274\226\350\257\221\345\231\250\351\252\214\346\224\266\346\226\207\346\241\243.md" "b/document/\351\252\214\346\224\266\346\212\245\345\221\212\346\224\266\351\233\206/GCC\347\274\226\350\257\221\345\231\250\351\252\214\346\224\266\346\226\207\346\241\243.md" new file mode 100644 index 0000000..14a7918 --- /dev/null +++ "b/document/\351\252\214\346\224\266\346\212\245\345\221\212\346\224\266\351\233\206/GCC\347\274\226\350\257\221\345\231\250\351\252\214\346\224\266\346\226\207\346\241\243.md" @@ -0,0 +1,49 @@ +### 介绍 +GCC for openEuler编译器应用于原生开发出具验收报告,明确所用的优化能力,目前做法是通过搜索编译日志中的优化选项,来判断编译器的优化能力是否启用。 + +### 操作步骤 +- 编译时开启详细编译选项输出 + - make构建: + - 多数情况,同时输出到终端和文件: + ``` + make VERBOSE=1 |& tee build.log + ``` + - 部分项目(如Linux内核),使用 `V=1` 作为详细模式: + ``` + make V=1 |& tee build.log + ``` + - ninja构建: + - 先执行 + ``` + cmake .. + ``` + - 后续构建时自动输出完整命令: + ``` + ninja -v |& tee build.log + ``` + - 其他构建方式:参照上述方法,开启输出详细构建命令。 +- ai4c使用编译时指定输出到log + - 用户可使用AI4C中的`AI辅助编译优化-循环展开和内联调优`功能,重定向日志到`inline_unroll.ai4c.log ` + - 用户可使用AI4C中的`AI辅助编译优化-BOLT采样基本块修正调优`功能,重定向日志到`bolt_bb.ai4c.log` + - 用户可使用AI4C中的`应用级选项调优`功能,重定向日志到`compiler_option_tune.ai4c.log` + - 用户可使用AI4C中的`细粒度调优`功能,重定向日志到`pass_option_tune.ai4c.log` + - 用户可使用AI4C中的`函数级的粗粒度调优`功能,重定向日志到`function_option_tune.ai4c.log` + - 汇总ai4c.log + ``` + find . -name *.ai4c.log | xargs -I {} cp {} ./htmlreports + ``` + +- [获取工具](https://gitee.com/pyshj/devkit-pipeline/releases/tag/gcc-check-tool-v1.0) +- 生成验收报告 + - 将包含编译选项的日志,打包为 `.zip`、`.gz` 或 `.bz2` 格式, + - 运行工具生成GCC for openEuler编译器验收html报告: + ``` + $ ./acceptance_command_line_gcc -tool gcc -package htmlreports.zip + + Starting decompression... + Starting decompression... + test result is successful + Decompression completed. + View the report in gcc_test_result.html. + ``` + ![](./gcc.assets/gcc-report.png) \ No newline at end of file diff --git "a/document/\351\252\214\346\224\266\346\212\245\345\221\212\346\224\266\351\233\206/gcc.assets/gcc-report.png" "b/document/\351\252\214\346\224\266\346\212\245\345\221\212\346\224\266\351\233\206/gcc.assets/gcc-report.png" new file mode 100644 index 0000000000000000000000000000000000000000..c2337da693e7114c1b816aeb3551059f2c4be3b6 GIT binary patch literal 47359 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 C&QEv% literal 0 HcmV?d00001 -- Gitee