2012-07-31 11 views
6

Kompiluję kod za pomocą clang z optymalizacją -O4. Jednak chcę wyłączyć funkcję wstawiania funkcji. Mam własne hasło LLVM, które wstrzykuje kod do wygenerowanego kodu. Po moim przejściu chcę włączyć inlineing funkcji. Jak mogę to zrobić.Jak wyłączyć optymalizację w LLVM

+0

Nie możesz po prostu upewnić się, że twoje podanie jest jedną z pierwszych przepustek optymalizacyjnych? To znaczy. upewnij się, że jest uruchamiany * przed * przekazaniem funkcji inliner? – Giel

+0

Jak mogę to zrobić, Giel? – pythonic

Odpowiedz

6

Możesz użyć opcji wyboru, który says może uruchamiać karnety w dowolnej kolejności.

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

Jeśli hacking szczęk, można zmienić kolejność przechodzi w pliku clang/lib/CodeGen/BackendUtil.cpp. Powinieneś wstawić swój karnet przed wprowadzeniem inline w metodzie CreatePasses().

Powiązane problemy