Preguntas etiquetadas con llvm

El Proyecto LLVM es una colección de tecnologías de cadena de herramientas y compiladores modulares y reutilizables. La etiqueta llvm es principalmente para escribir código C ++ (u otro lenguaje a través de los enlaces C) para interactuar con la biblioteca LLVM, no para ninguna (de la creciente cantidad de) herramientas que tienen LLVM bajo el capó. Consulte la etiqueta `llvm-codegen` si tiene preguntas sobre el código de máquina generado por LLVM.

269
Cambiar entre GCC y Clang / LLVM usando CMake

Tengo una serie de proyectos creados con CMake y me gustaría poder cambiar fácilmente entre usar GCC o Clang / LLVM para compilarlos. Creo (¡corríjame si me equivoco!) Que para usar Clang necesito configurar lo siguiente: SET (CMAKE_C_COMPILER "/usr/bin/clang") SET (CMAKE_C_FLAGS "-Wall...

150
Cómo hacer compilación clang a llvm IR

Quiero que clang compile mi C/C++código para LLVMbytecode en lugar de ejecutable binario. ¿Cómo puedo lograr eso? Y si obtengo el LLVMcódigo de bytes, ¿cómo puedo tomarlo para compilarlo en un ejecutable binario? Básicamente quiero agregar algo de mi propio código al LLVMbytecode antes de...

133
LLVM vs clang en OS X

Tengo una pregunta sobre llvm, clang y gcc en OS X. ¿Cuál es la diferencia entre llvm-gcc 4.2, llvm 2.0 y clang? Sé que todos se basan en llvm, pero ¿en qué se diferencian? Además de una compilación más rápida, ¿cuál es la ventaja de llvm sobre

98
clang: ¿cómo enumerar las arquitecturas de destino compatibles?

Actualmente estoy interesado en ARM en general y específicamente en los objetivos de iPhone / Android. Pero solo quiero saber más sobre clang, ya que parece que jugará un papel importante en los próximos años. Lo intenté clang -cc1 --help|grep -i list clang -cc1 --help|grep arch|grep -v...

92
LLVM C ++ IDE para Windows

¿Hay algún IDE de C / C ++ para Windows, que está integrado con el compilador LLVM (y el analizador Clang C / C ++), al igual que lo hace el Xcode moderno? Tengo Dev-Cpp (usa GCC desactualizado) y Code :: Blocks (con algunos GCC). Pero GCC me da mensajes de error muy crípticos. Quiero obtener...

91
Error de plantilla confusa

He estado jugando con clang por un tiempo, y me encontré con "test / SemaTemplate /pendent-template-recovery.cpp" (en la distribución de clang) que se supone que proporciona pistas para recuperarse de un error de plantilla. Todo se puede reducir fácilmente a un ejemplo

9
¿Por qué LLVM asigna una variable redundante?

Aquí hay un archivo C simple con una definición de enumeración y una mainfunción: enum days {MON, TUE, WED, THU}; int main() { enum days d; d = WED; return 0; } Se transmite al siguiente LLVM IR: define dso_local i32 @main() #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32...