Vorrei passare attraverso alcuni codici IR LLVM che ho generato. Il codice è sintatticamente e tipo valido per quanto riguarda l'LLC e il Lli, ma i risultati non sono quelli che mi aspettavo.Esiste un debugger per LLVM IR?
I blocchi sono abbastanza grandi da non avere avuto successo nella semplice lettura del bug e ho difficoltà a produrre un esempio più piccolo con lo stesso bug.
Ho pensato che avrei potuto usare qualcosa come un debugger, ma per LLVM IR. In altre parole, voglio essere in grado di scorrere il codice llvm, esaminare i registri "infiniti" (dati i nomi nel file IR LLVM) e le posizioni di memoria, impostare i punti di interruzione, fino a trovare il punto in cui il mio codice è andato storto.
Ho esaminato lli
e lldb
, ma nessuno dei due sembra essere lo strumento che sto cercando. lli
eseguirà il mio codice ma non mi consentirà di andare passo dopo passo. lldb
sembra presupporre che il codice sia stato generato dai front-end C.
Mi sbaglio su lldb
e lli
? Qualcuno sa di uno strumento che fa anche il 50% di quello che voglio?
Come indovinare: è possibile eseguire il debug di 'lli' e osservare come interpreta ogni istruzione. Dovresti fare un po 'di hacking per impostare un breakpoint, però. – arrowd