yılında LLVM ara temsil ben LLVM en orta temsilini görmek istiyorumnasıl Xcode
Xcode 3.2.1 üzerinde clang-LLVM 1.0 ile derleme görüyorum. Bunu nasıl yaparım ?
Teşekkürler.
yılında LLVM ara temsil ben LLVM en orta temsilini görmek istiyorumnasıl Xcode
Xcode 3.2.1 üzerinde clang-LLVM 1.0 ile derleme görüyorum. Bunu nasıl yaparım ?
Teşekkürler.
LLVM's site uyarınca, derleyici seçeneklerine -emit-llvm
eklerim. Xcode, gösterimi göstermek için UI sağlamaz (henüz).
Xcode, LLVM ara temsilciliğini vurgulayan sözdizimi desteklemektedir, ancak bu gösterim derleyicinin iç kısmında yer almaktadır (ve sık sık değişmektedir) ve Xcode, kullanıcı arabirimindeki ara gösterimi göstermek için derleyiciyle konuşmak üzere herhangi bir UI'ye sahip değildir. . Bu ilginç bir özellik talebi olsa da, Apple ile dosyalamayı düşündünüz mü?
Sadece görmek istiyorsanız, derleme komutunu derleme günlüğünden alarak ve sonuna '-emit-llvm -S -o /tmp/t.ll' ekleyerek el ile yapabilirsiniz. Artık Xcode'ta /tmp/t.ll dosyasını açıp o dosya için LLVM IR'yi görebilirsiniz.
Aşağıdaki yorumda da söylediğim gibi, xcode'taki llvm IR'yi nasıl göreceğinizi ve llvm kodunu nasıl üreteceğinizi (xv değil, bir llvm özelliği) biliyorum. Bilmediğim, llvm kodunu orijinal ile birlikte nasıl izleyeceğimizdir, bu da bir pisi (ve yapılması çok kolay olmalıdır). Apple'la ilgili deneyimim, müşteri desteğinin iyi olması, ancak geliştirme desteğinin olmaması. –
Tamam. LLVM kodunu orijinal kaynak koduyla birlikte görüntülemenin şu anda iyi bir yolu yoktur. Teknik olarak bu, bazı KCacheGrind entegrasyonu yoluyla bir ölçüde http://klee.llvm.org adresinden ulaşılabilir. Ancak, muhtemelen onu kullanan tek kişi benim; Kurulumu ve kullanımı (OS X'de mümkün olsa da) biraz karmaşıktır. Bu, Xcode'ta doğal olarak yer almanın harika bir özellik olacağını kabul ediyorum. Bunun için bir özellik talebi dosyalamanızı öneririm, asla bilmezsiniz! –
Teşekkürler, ancak -emit-llvm gerçekten Xcode ile bana yardımcı olmayan bir llvm özelliğidir. Sorunum Xcode'ta IR'yi görmektir; XCode'un dosya formatını tanıdığını (menüyü kontrol edip) değiştirdiğine inanmak zor ama degbugging yaparken onu görmenize izin vermez. –