2009-12-21 6 views

Antwort

0

Pro LLVM's site, würde ich -emit-llvm zu den Compiler-Optionen hinzufügen. Xcode bietet keine Benutzeroberfläche zum Anzeigen der Darstellung (noch).

+0

Danke, aber -emit-llvm ist in der Tat eine llvm-Funktion, die mir mit Xcode nicht hilft. Mein Problem ist die IR in Xcode zu sehen; Ich finde es schwer zu glauben, dass XCode das Dateiformat erkennt (es tut - überprüfen Sie die Menüs), aber Sie können es nicht sehen, wenn Sie deguggen. –

5

Xcode unterstützt Syntax für die Hervorhebung der LLVM-Zwischendarstellung, aber diese Darstellung ist intern für den Compiler (und ändert sich häufig) und Xcode verfügt über keine Benutzeroberfläche, um mit dem Compiler die Zwischendarstellung in der Benutzeroberfläche anzuzeigen . Dies wäre jedoch eine interessante Feature-Anfrage, haben Sie in Erwägung gezogen, sie bei Apple einzureichen?

Wenn Sie es nur sehen möchten, können Sie dies manuell tun, indem Sie den Kompilierbefehl aus dem Build-Protokoll nehmen und '-emit-llvm -S -o /tmp/t.ll' am Ende hinzufügen. Jetzt können Sie /tmp/t.ll in Xcode öffnen und die LLVM IR für diese eine Datei sehen.

+0

Wie ich im Kommentar zu der Bemerkung unten gesagt habe, weiß ich, wie man die llvm IR in xcode sieht und wie man den llvm-Code erzeugt (was eine llvm-Funktion ist - nicht xcode). Was ich nicht weiß, ist, wie man den llvm-Code zusammen mit dem Original nachzeichnet, was schade ist (und sehr einfach sein sollte). Meine Erfahrung mit Apple ist, dass ihre Kundenbetreuung gut ist, aber Entwicklungsunterstützung nicht. –

+0

Ok. Es gibt derzeit keine gute Möglichkeit, den LLVM-Code zusammen mit dem ursprünglichen Quellcode anzuzeigen. Technisch ist dies teilweise über http://klee.llvm.org über eine KCacheGrind-Integration möglich. Ich bin jedoch wahrscheinlich die einzige Person, die es benutzt; es ist etwas kompliziert zu installieren und zu verwenden (obwohl es unter OS X möglich ist). Ich stimme zu, dass dies ein großartiges Feature sein würde, um nativ in Xcode zu haben. Ich empfehle Ihnen, eine Feature-Anfrage dafür zu stellen, Sie wissen nie! –