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.


6
¿Qué es exactamente LLVM?
Sigo escuchando sobre LLVM todo el tiempo. Está en Perl, luego en Haskell, ¿alguien lo usa en otro idioma? ¿Qué es?
464 llvm 

9
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 -std=c99") SET (CMAKE_C_FLAGS_DEBUG "-g") SET (CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG") …
269 cmake  llvm  clang 


5
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 compilarlo en el ejecutable binario.
150 c  llvm  clang 

3
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 gcc?
133 c++  c  gcc  llvm  clang 


2
Finalización de código más rápida con clang
Estoy investigando posibles aceleraciones de finalización de código mientras uso el mecanismo de finalización de código de clang. El flujo que se describe a continuación es lo que encontré en rtags , de Anders Bakken. Las unidades de traducción se analizan mediante un demonio que supervisa los archivos en busca …

8
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 search clang -cc1 …
98 clang  llvm 

13
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 …
92 c++  windows  ide  llvm  clang 

4
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 mínimo: template<typename T, typename U, int N> struct …
91 c++  templates  llvm  clang 

3
¿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 …
9 c  llvm  llvm-codegen 

2
¿Por qué Expected <T> en LLVM implementa dos constructores para Expected <T> &&?
Expected&lt;T&gt;se implementa en llvm / Support / Error.h. Es una unión etiquetada que tiene una To una Error. Expected&lt;T&gt;es una clase de plantilla con tipo T: template &lt;class T&gt; class LLVM_NODISCARD Expected Pero estos dos constructores realmente me confunden: /// Move construct an Expected&lt;T&gt; value from an Expected&lt;OtherT&gt;, where OtherT …
8 c++  llvm 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.