Как отключить оптимизацию в LLVM

я компилирую код с помощью clang с оптимизацией-O4. Тем не менее, я хочу отключить встраивание функций. У меня есть собственный LLVM pass, который вводит некоторый код в сгенерированный код. После моего пропуска я хочу включить встраивание функций. Как я могу это сделать?

2 ответов


вы можете использовать opt which говорит он может проходит в любом порядке.

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

Если вы взламываете clang, вы можете изменить порядок прохождения в файле clang/lib/CodeGen/BackendUtil.cpp. Вы должны вставить свой пропуск перед вставкой в метод CreatePasses().