Ich kompiliere Code mit clang
mit -O4-Optimierung. Ich möchte jedoch das Inlining von Funktionen deaktivieren. Ich habe meinen eigenen LLVM-Pass, der Code in den generierten Code injiziert. Nach meinem Pass möchte ich das Inlining von Funktionen ermöglichen. Wie kann ich das machen.So deaktivieren Sie eine Optimierung in LLVM
6
A
Antwort
6
Sie können opt verwenden, die says es kann läuft in beliebiger Reihenfolge.
clang -c main.cpp -O0 -emit-llvm | opt -load yourplugin -yourpass -inline
4
Wenn Sie Klirren hacken, können Sie übergibt, um in clang/lib/CodeGen/BackendUtil.cpp
Datei ändern. Sie sollten Ihren Pass vor dem Inlining in der Methode CreatePasses()
einfügen.
Können Sie nicht einfach sicherstellen, dass Ihr Pass zu den ersten Optimierungspässen gehört? I.e. stellen Sie sicher, dass es * vor * der Funktion Inliner ausgeführt wird? – Giel
Wie kann ich das Giel machen? – pythonic