Fare LLVM inline una funzione da una libreria
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?
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.