2012-07-31 12 views
6

Estoy compilando código con clang con optimización -O4. Sin embargo, quiero desactivar la incorporación de funciones. Tengo mi propio pase LLVM que inyecta código al código generado. Después de mi pase, quiero habilitar la alineación de funciones. Cómo puedo hacer eso.Cómo deshabilitar una optimización en LLVM

+0

¿No puede asegurarse de que su pase esté entre los primeros pases de optimización? Es decir. asegúrese de que se ejecuta * antes * de que pase la función inliner? – Giel

+0

¿Cómo puedo hacer eso Giel? – pythonic

Respuesta

6

Puede utilizar opt says que puede ejecutar pasa en cualquier orden.

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

Si hacen trizas sonido metálico, puede cambiar el orden en el archivo pasa clang/lib/CodeGen/BackendUtil.cpp. Debe insertar su pase antes de ingresar en el método CreatePasses().