¿Cómo ejecutar los pases incorporados de LLVM con Clang?
Me he dado cuenta de que LLVM proporciona varios pases de análisis y transformación integrados. ¿Puedo ejecutar estos pases integrados (por ejemplo, -da
para análisis de dependencias) directamente con clang
en lugar de opt
?
davy.ai
Sí, LLVM proporciona varios Passes de Análisis y Transformación integrados que se pueden ejecutar directamente con
clang
en lugar deopt
. Para hacer esto, puedes usar la bandera-Xclang
seguida del nombre del pass y la bandera-mllvm
seguida de opciones específicas de LLVM para el pass.Por ejemplo, para ejecutar el pass de análisis de dependencias (
-da
) conclang
, puedes usar el siguiente comando:clang -Xclang -load -Xclang LLVM<versión>.dylib -Xclang -plugin -Xclang <nombre_del_pass> -mllvm <opciones_específicas_del_pass>
donde
<versión>
es la versión de LLVM que tienes instalada y<nombre_del_pass>
es el nombre del pass que quieres ejecutar, comoDependencyAnalysis
para-da
.<opciones_específicas_del_pass>
son cualquier opción específica de LLVM para el pass.Ten en cuenta que no todos los passes de LLVM se pueden ejecutar directamente con
clang
, y algunos pueden requerir una configuración adicional. Se recomienda consultar la documentación de los Passes de LLVM y la documentación declang
para obtener más información sobre cómo ejecutar passes específicos conclang
.</opciones_específicas_del_pass></versión></opciones_específicas_del_pass></versión>