【问题标题】:How to disable an optimization in LLVM如何禁用 LLVM 中的优化
【发布时间】:2012-07-31 20:20:42
【问题描述】:

我正在使用带有 -O4 优化的 clang 编译代码。但是,我想禁用函数的内联。我有自己的 LLVM 通行证,可以将一些代码注入到生成的代码中。通过后,我想启用函数的内联。我该怎么做。

【问题讨论】:

  • 您不能确保您的通行证是第一批优化通行证之一吗? IE。确保它在 函数内联传递之前运行?

标签: c++ c llvm clang


【解决方案1】:

您可以使用 opt which says 它可以以任何顺序运行通行证。

clang -c main.cpp -O0 -emit-llvm | opt -load yourplugin -yourpass -inline

【讨论】:

    【解决方案2】:

    如果您正在破解 clang,您可以在文件 clang/lib/CodeGen/BackendUtil.cpp 中更改通行证顺序。您应该在方法 CreatePasses() 内联之前插入您的通行证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 1970-01-01
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      • 2011-10-04
      • 2012-02-15
      相关资源
      最近更新 更多