-mllvm

用途

将选项传递给 LLVM 组件。

语法

-mllvm 语法

读取语法图跳过可视语法图-mllvm-aggressive-late-full-unroll=truefalse-array-compress=truefalse-data-layout-opt=0123-dynamic-cast-opt=offonaggr-enable-aggressive-vectorization=truefalse-enable-lvi-memoryssa=truefalse-enable-partial-inlining=truefalse-enable-ppc-gen-scalar-mass=truefalse-enable-vec-find=truefalse-fold-complex-pointer-compare=truefalse-inline-hot-callsites-aggressively=truefalse-ppc-enable-redxnintr=truefalse-ppc-set-dscr=<n1>-vector-library=noneMASSV
注:
  • 1 n 的类型为 uint64_t

-mllvm 的参数

-aggressive-late-full-unroll
在完全展开循环有益时,启用或禁用循环展开优化更积极的试探法。 缺省值为 true。
-array-compress
在合法的情况下,将整数的局部数组压缩或不压缩为更小的整数类型;例如,当数组元素的所有可能值都可由较小的整数类型表示时。 缺省值为 true。
-data-layout-opt
分析整个程序,以确定是否可以变换数据的布局来提高程序的高速缓存利用率和内存带宽。 此选项具有 0、1、2 和 3 级别。 仅当还指定了 -qlto 时,该选项才有效,并且必须在具有相同选项级别的编译和链接步骤 上指定此选项。
  • data-layout-opt=0 将禁用数据布局变换。 不为数据布局优化执行编译器分析。
  • data-layout-opt=1 支持通过整个程序分析进行数据布局变换。 这是通过严格的安全性分析来执行的。
  • data-layout-opt=2 支持通过更积极的整个程序分析进行数据布局变换。 这是通过严格的安全性分析来执行的。
  • data-layout-opt=3 支持通过整个程序分析进行数据布局变换和数据压缩。 编译器可能会将缺省数据类型大小隐式更改为非缺省数据类型大小。
-dynamic-cast-opt
尝试在可能的情况下将 __dynamic_cast 函数调用转换为地址比较。 缺省值为 off。
-enable-aggressive-vectorization
启用或禁用针对循环向量化的积极试探法。 缺省值为 true。
-enable-lvi-memoryssa
启用或禁用高级值跟踪分析,该分析利用 LLVM MemorySSA 表示来跟踪存储在内存位置中的值。 缺省值为 true。
-enable-partial-inlining
启用或禁用部分内联优化。 缺省值为 true。
-enable-ppc-gen-scalar-mass
启用或禁用将数学库函数替换为标量 MASS 库中的等效函数。 缺省值为 true。
-enable-vec-find
如果循环在连续阵列上运行,那么启用或禁用简单搜索循环的向量化。 缺省值为 true。
-fold-complex-pointer-compare
启用或禁用依赖于入站语义的比较指令的简化。 缺省值为 true。
-inline-hot-callsites-aggressively
启用或禁用积极的试探法来决定需要内联哪些频繁执行的函数。 缺省值为 true。
-ppc-enable-redxnintr
启用或禁用生成 PPC 硬件缩减指令,以在不证明签名溢出安全性的情况下进行缩减。 缺省值为 true。
-ppc-set-dscr
将数据流控制寄存器 (DSCR) 值传递到链接程序。 此值控制预取的深度以及您需要预取的积极程度。
-vector-library
允许自动使用给定向量函数库。
  • -vector-library=none 不允许自动使用任何向量库。
  • -vector-library=MASSV 支持自动使用 IBM® MASS SIMD 库。