Questions marquées «llvm»

Le projet LLVM est une collection de technologies de compilateur et de chaîne d'outils modulaires et réutilisables. La balise llvm sert principalement à écrire du code C ++ (ou un autre langage via les liaisons C) pour s'interfacer avec la bibliothèque LLVM, pas à propos des outils (parmi les plus nombreux) outils qui ont LLVM sous le capot. Voir la balise `llvm-codegen` pour une question sur le code machine généré par LLVM.

464
Qu'est-ce que LLVM exactement?

J'entends constamment parler de LLVM. C'est en Perl, puis en Haskell, puis quelqu'un l'utilise dans une autre langue? Qu'Est-ce que

269
Basculer entre GCC et Clang / LLVM à l'aide de CMake

J'ai un certain nombre de projets construits en utilisant CMake et j'aimerais pouvoir basculer facilement entre l'utilisation de GCC ou Clang / LLVM pour les compiler. Je crois (veuillez me corriger si je me trompe!) Que pour utiliser Clang, je dois définir ce qui suit: SET (CMAKE_C_COMPILER...

150
Comment faire une compilation de clang vers llvm IR

Je veux que clang compile mon C/C++code en LLVMbytecode plutôt qu'en exécutable binaire. Comment puis-je y parvenir? Et si j'obtiens le LLVMbytecode, comment puis-je l'utiliser pour le compiler davantage en exécutable binaire. En gros, je veux ajouter une partie de mon propre code au LLVMbytecode...

133
LLVM vs clang sur OS X

J'ai une question concernant llvm, clang et gcc sous OS X. Quelle est la différence entre les llvm-gcc 4.2, llvm 2.0 et clang? Je sais qu'ils s'appuient tous sur llvm, mais en quoi sont-ils différents? Outre une compilation plus rapide, quel est l'avantage de llvm par rapport à...

108
Fin de code plus rapide avec clang

J'étudie les accélérations potentielles de complétion de code tout en utilisant le mécanisme de complétion de code de clang. Le flux décrit ci-dessous est ce que j'ai trouvé dans rtags , par Anders Bakken. Les unités de traduction sont analysées par un démon surveillant les fichiers pour les...

95
clang: comment lister les architectures cibles prises en charge?

Actuellement, je m'intéresse à ARM en général et plus particulièrement aux cibles iphone / android. Mais je veux juste en savoir plus sur clang, car il semble jouer un rôle important dans les années à venir. j'ai essayé clang -cc1 --help|grep -i list clang -cc1 --help|grep arch|grep -v search...

92
LLVM C ++ IDE pour Windows

Existe-t-il un IDE C / C ++ pour Windows, qui est intégré au compilateur LLVM (et à l'analyseur Clang C / C ++), tout comme le fait Xcode moderne. J'ai Dev-Cpp (il utilise GCC obsolète) et Code :: Blocks (avec quelques GCC). Mais GCC me donne des messages d'erreur très cryptiques. Je souhaite...

91
Erreur de modèle déroutante

J'ai joué avec clang un moment, et je suis tombé sur "test / SemaTemplate / depend-template-recover.cpp" (dans la distribution clang) qui est censé fournir des conseils pour récupérer d'une erreur de template. Le tout peut être facilement réduit à un exemple minimal: template<typename T,...

87
Que fait exactement l'instruction PHI et comment l'utiliser dans LLVM

LLVM a une instruction phi avec une explication assez étrange: L'instruction 'phi' est utilisée pour implémenter le nœud φ dans le graphe SSA représentant la fonction. Il est généralement utilisé pour implémenter le branchement. Si j'ai bien compris, il est nécessaire de rendre l'analyse des...

9
Pourquoi LLVM alloue une variable redondante?

Voici un simple fichier C avec une définition d'énumération et une mainfonction: enum days {MON, TUE, WED, THU}; int main() { enum days d; d = WED; return 0; } Il transpile vers le LLVM IR suivant: define dso_local i32 @main() #0 { %1 = alloca i32, align 4 %2 = alloca i32, align 4 store i32 0, i32*...