8
votes

Comment puis-je voir la représentation intermédiaire LLVM en xcode

Je compose de CLANG-LLVM 1.0 sur Xcode 3.2.1

Je veux voir la représentation intermédiaire de LLVM. Comment puis-je faire cela?


0 commentaires

3 Réponses :


0
votes

par site de LLVM , j'ajouterais -emit-llvm < / code> aux options du compilateur. Xcode ne fournit pas d'interface utilisateur pour montrer la représentation (encore).


1 commentaires

Merci, mais -emit-LLVM est en effet une fonctionnalité LLVM, qui ne m'aidait pas avec Xcode. Mon problème consiste à voir l'IR en Xcode; J'ai du mal à croire que Xcode reconnaît le format de fichier (il fait - vérifier les menues), mais ne vous laissez pas le voir lorsque vous déguisez.



6
votes

Xcode prend en charge la syntaxe mettant en évidence la représentation intermédiaire LLVM, mais cette représentation est interne au compilateur (et change fréquemment) et Xcode n'a aucune interface utilisateur pour parler au compilateur pour afficher la représentation intermédiaire dans l'interface utilisateur. Ce serait une demande de fonctionnalité intéressante, si vous envisagez de le déposer avec Apple?

Si vous voulez simplement le voir, vous pouvez le faire manuellement en prenant la commande Compiler à partir du journal de construction et en ajoutant '-emit-llvm -s -oo /tmp/t.ll' à la fin. Maintenant, vous pouvez ouvrir /tmp/t.ll en Xcode et voir le LLVM IR pour ce fichier.


2 commentaires

Comme je l'ai dit dans le commentaire de la remarque ci-dessous, je connais à la fois comment voir le LLVM IR en Xcode et comment produire le code LLVM (qui est une fonctionnalité LLVM - non Xcode). Ce que je ne sais pas, c'est comment tracer le code LLVM avec l'original, qui est un pitty (et doit être très facile à faire). Mon expérience avec Apple est que leur soutien à la clientèle est bon, mais le soutien au développement n'est pas.


D'accord. Il n'est actuellement pas un bon moyen de visualiser le code LLVM avec le code source d'origine. Techniquement, cela est disponible dans une certaine mesure via klee.llvm.org via une intégration de KcachetRind. Cependant, je suis probablement la seule personne qui l'utilise; Il est quelque peu compliqué d'installer et d'utiliser (bien qu'il soit possible sur OS X). Je conviens que ce serait une excellente fonctionnalité pour avoir de manière native xcode. Je vous recommande de déposer une demande de fonctionnalité pour cela, vous ne savez jamais!



-2
votes

Cela devrait fonctionner dans Xcode (juste testé):

-s -emit-llvm


1 commentaires

Je veux le voir dans xcode, pas simplement le générer, je sais que Apple n'a pas rompu Clang; Je sais aussi que si vous travaillez à Apple (les personnes qui y travaillent là-bas m'ont dit quand j'ai posé cette question - il y a une décennie) Vous pouvez voir la représentation intermédiaire à côté du code, mais les personnes qui ne sont pas là, ne sont apparemment pas dignes .