[llvm-dev] Clang/LLVM 5.0 optnone attribute with -O0
Haidl, Michael via llvm-dev
llvm-dev at lists.llvm.org
Mon Sep 18 03:44:42 PDT 2017
You can also add the -Xclang -disable-O0-optnone flag to your command line. This will disable the implicit optnone when compiling with O0.
On Mon, Sep 18, 2017 at 7:27 AM +0200, "Craig Topper via llvm-dev" <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:
To prevent optnone from being added you can replace -O0 with "-O1 -Xclang -disable-llvm-passes". The -O1 will prevent the optnone, and the rest will stop clang from performing any optimizations.
On Sun, Sep 17, 2017 at 10:12 PM, Diptorup Deb via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:
We have a research LLVM-based domain-specific code generator that we want to upgrade form LLVM 4.0 to 5.0. The code generator is written as an out-of-tree loadable module for opt.
Till Clang 4.0 we were compiling the front-end code (annotated C++) using -O0. The generated bitcode was further processed using opt with our module loaded. In Clang 5.0 we see that using -O0 adds the optnone attribute to all functions, making it impossible to use any existing LLVM passes in our code generator.
We also tried using -
"clang -Xclang -load -Xclang <module>.so -mllvm <custom options>"
, but this caused a segfault at llvm::legacy::FunctionPassManagerImpl::doInitialization(llvm::Module&).
What is the right way to get around this issue?
LLVM Developers mailing list
llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev