Sto imparando LLVM. Capisco che ci sono un certo numero di utili funzioni C fornite in LLVM già come intrinseche. Quindi sto provando a chiamare la funzione @printf dal mio codice.Come chiamare @printf in LLVM tramite il sistema di creazione moduli
ho trovato le rispettive parti del manuale di riferimento LLVM che descrivono il codice IR per farlo, che è relativo chiara:
declare i32 @printf(i8* noalias nocapture, ...)
call i32 (i8*, ...)* @printf(i8* %msg, i32 12, i8 42)
ecc, ma io non sono in grado di trovare il modo di farlo utilizzando il IRBuilder <> classe. Ho controllato la classe di builder ma non sono riuscito a capire nulla.
Non voglio passare qualsiasi variabile di fantasia, fondamentalmente solo qualcosa come
printf("%lu", variable_64_bit);
in C o qualcosa del genere.
Qualcuno potrebbe darmi un'idea di cosa devo fare per chiamare la funzione printf attraverso il builder.
Grazie in anticipo
Vuoi dire il 'IRBuilder'? –
Sì, mi dispiace, ho corretto le mie domande su questo –