clang 和 llvm opt 中可用的优化列表
List of optimizations available in clang and llvm opt
可以使用 gcc --help=optimizers
获取 GCC/G++ 中可用的优化器列表。合法值和参数范围也在params.def
中定义。
是否也有这样的命令和 params.def
文件可用于 clang?
1- 对于 Clang
使用:
clang -OX -mllvm -debug-pass=Arguments foo.c
或
clang -OX -mllvm -debug-pass=Structure foo.c
其中 X
可以是 Os,O1,O2,O3 and O4
(-O4 等同于 -O3,除了它执行 LTO(link 时间优化)当从源文件编译的目标文件发出LLVM IR
而不是目标代码)
您将有两组 Pass Arguments
,其中第一组是 global kernel
传球,第二组是 function pass
。
2- 对于 Opt
使用:
llvm-as < /dev/null | opt -OX -disable-output -debug-pass=Arguments
其中 X
可以是 Os,O1,O2 and O3
可以使用 gcc --help=optimizers
获取 GCC/G++ 中可用的优化器列表。合法值和参数范围也在params.def
中定义。
是否也有这样的命令和 params.def
文件可用于 clang?
1- 对于 Clang
使用:
clang -OX -mllvm -debug-pass=Arguments foo.c
或
clang -OX -mllvm -debug-pass=Structure foo.c
其中 X
可以是 Os,O1,O2,O3 and O4
(-O4 等同于 -O3,除了它执行 LTO(link 时间优化)当从源文件编译的目标文件发出LLVM IR
而不是目标代码)
您将有两组 Pass Arguments
,其中第一组是 global kernel
传球,第二组是 function pass
。
2- 对于 Opt
使用:
llvm-as < /dev/null | opt -OX -disable-output -debug-pass=Arguments
其中 X
可以是 Os,O1,O2 and O3