ZHCUAQ1F july 2015 – april 2023
在优化级别 --opt_level=2(即 -O2)和 -O3 上,编译器试图对循环进行软件流水线处理。出于调试原因,您可能不希望您的循环被软件流水线化。由于代码不是按顺序显示的,因此软件流水线循环有时难以调试。--disable_software_pipeline 选项同时影响已编译的 C/C++ 代码和汇编优化代码。
不使用 SPLOOP 的软件流水线可能会显著增加代码大小。为了控制软件流水线循环的代码大小,建议使用 --opt_for_space 选项而不是 --disable_software_pipeline 选项。--opt_for_space 选项能够在必要时禁用非 SPLOOP 软件流水线以节省代码大小,但它不会影响 SPLOOP 功能(节 4.8)。SPLOOP 不会显著增加代码大小,但可以大大加快循环速度。使用 --disable_software_pipeline 选项会禁用所有软件流水线,包括 SPLOOP。