Domanda

che sto cercando di fare LLVM inline una funzione da una libreria.

Ho i file codice binario che LLVM (generati manualmente) che collegati tra loro con llvm-link, e ho anche una biblioteca (scritto in C) compilato in codice binario che da clang e archiviate con llvm-ar. Riesco a collegamento tutto insieme e per l'esecuzione, ma non riesco a ottenere LLVM inline una funzione dalla libreria. Qualsiasi idea di come questo dovrebbe essere fatto?

È stato utile?

Soluzione

Dopo aver collegato i file codice binario che insieme con la libreria, fare si esegue un passaggio interiorizzare sul codice binario che collegato? Il passaggio internalize rende tutte le funzioni (oltre main()) statica e dice ottimizzatore / generatore di codice che le funzioni possono essere inline sicurezza senza tenere una copia disponibile per alcuni (inesistente) riferimento esterno.

I collegare manualmente i file e le librerie codice binario che codice binario che insieme utilizzando il codice preso in prestito da llvm-ld e faccio il pass internalize, ma io non sono sicuro se llvm-link fa il passaggio internalize o meno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top