Я новичок в LLVM.Я хотел знать, как мы можем получить все номера строк для конкретной переменной из исходного кода, заданного LLVM IR?
Например (показывает фрагмент IR LLVM)
store i32 0, i32* %i, align 4, !dbg !12
!12 = !DILocation(line: 2, column: 6, scope: !7)
%4 = load i32*, i32** %ip, align 8, !dbg !30
!30 = !DILocation(line: 7, column: 4, scope: !25)
Я считаю,Из проверки IR LLVM получение деталей номера строки для любой переменной связано с доступом к !dbg
в конце инструкции.Но я не знаю, как получить доступ к этой информации.
Еще одно сомнение: если указатель используется для хранения адреса переменной, как мы узнаем, для какой переменной он хранит адрес?