2009-12-21 10 views

risposta

0

Per LLVM's site, aggiungerei -emit-llvm alle opzioni del compilatore. Xcode non fornisce l'interfaccia utente per mostrare la rappresentazione (ancora).

+0

Grazie, ma -emit-llvm è davvero una funzionalità di llvm, che non mi aiuta con Xcode. Il mio problema è vedere l'IR in Xcode; Trovo difficile credere che XCode riconosca il formato del file (lo fa - controlla i menu), ma non ti permette di vederlo quando stai degbugging. –

5

Xcode ha il supporto per la sintassi che evidenzia la rappresentazione intermedia LLVM, ma questa rappresentazione è interna al compilatore (e cambia frequentemente) e Xcode non ha alcuna interfaccia utente per parlare con il compilatore per mostrare la rappresentazione intermedia nell'interfaccia utente . Questa sarebbe una richiesta interessante di funzionalità, hai considerato di archiviarla con Apple?

Se si desidera solo visualizzarlo, è possibile farlo manualmente prendendo il comando di compilazione dal registro di build e aggiungendo '-emit-llvm -S -o /tmp/t.ll' alla fine. Ora puoi aprire /tmp/t.ll in Xcode e vedere l'IR LLVM per quel file.

+0

Come ho detto nel commento alla nota sotto, so sia come vedere il llvm IR in xcode, sia come produrre il codice llvm (che è una caratteristica di llvm - non xcode). Quello che non so è come tracciare il codice llvm insieme all'originale, che è un peccato (e dovrebbe essere molto facile da fare). La mia esperienza con Apple è che il loro supporto clienti è buono, ma il supporto allo sviluppo non lo è. –

+0

Ok. Al momento non esiste un buon modo per visualizzare il codice LLVM insieme al codice sorgente originale. Tecnicamente questo è disponibile in una certa misura tramite http://klee.llvm.org tramite l'integrazione di KCacheGrind. Tuttavia, sono probabilmente l'unica persona che lo usa; è un po 'complicato da installare e usare (anche se è possibile su OS X). Concordo sul fatto che questa sarebbe una grande funzionalità per avere nativamente in Xcode. Ti consiglio di presentare una richiesta di funzionalità per questo, non si sa mai! –

Problemi correlati