Ho scritto alcuni passaggi per llvm, per usarli con clang.LLVM - Esegui il proprio passaggio automaticamente con clang
Li ho integrati in llvm (non caricato dinamicamente). Essi sono anche elencati nelle Ottimizzazioni disponibili: sezione quando si digita:
opt --help-hidden
Voglio correre una delle propria miei passaggi ora automaticamente come ultimo quando chiamo clang:
clang ./hello.bc -o ./hello
o anche con c-code:
clang ./hello.c -o ./hello
Quando eseguo il mio pass con opt manualmente, il Byte modificato Codice viene generato e scritto in un nuovo file .BC:
opt -my-pass <./hello.bc> ./hello_optimized.bc
Quando ho compilare il modificato .BC con clang, clang normali ottimizzazioni vengono eseguiti ancora una volta, che distruggono le ottimizzazioni del mio manuale passaggio eseguito:
clang -O0 -m32 ./hello_optimized.bc -o ./hello_optimized
mia domanda è:
- come posso eseguire automaticamente il mio passaggio scritto con clangore come l'ultimo passo di tutti?
- Un'altra soluzione possibile è la disattivazione di tutti i passaggi completamente, o almeno il codice/l'eliminazione di clang/opt. Come potrei farlo?
Usa clang -flto, e superare la sequenza di passaggi al plugin oro lto. –