<div dir="auto">Thanks Michael,<div dir="auto">Indeed as you said the Instruction.getName() returns an empty string. I think I should have mentioned that I'm trying to print it from the visitLoadInst() method of my class that extends Interpreter.</div><div dir="auto"><br></div><div dir="auto">Anyway I'll try as you suggested and get back to you.</div><div dir="auto"><br></div><div dir="auto">Thanks again</div><br><br><div class="gmail_quote" dir="auto"><div dir="ltr">On Wed, Dec 12, 2018, 23:29 Michael Kruse <<a href="mailto:llvmdev@meinersbur.de">llvmdev@meinersbur.de</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am Mi., 12. Dez. 2018 um 17:05 Uhr schrieb Alberto Barbaro<br>
<<a href="mailto:barbaro.alberto@gmail.com" target="_blank" rel="noreferrer">barbaro.alberto@gmail.com</a>>:<br>
> Thanks Joshua and Michael,<br>
> Just to to clarify, I'm experimenting with the Interpreter class and observing the instructions that are executed by it. Just for becoming more confident with LLVM in general I'd like for each instruction to access to the various parts of it. In this instance I would like to access to the %Name that is shown in the textual representation. When I call Instruction.dump() all is printed correctly so I thought there was a way to get the %Name ( in my case 5). So my final goal is to obtain it. I understand that is dinamically generated based on. The execution but I think that in my case I could access to it. Am I wrong? I hope now all is more clear :)<br>
<br>
As Joshua and others already explained, the instruction and the value<br>
it computes are both the same object: the 'Instruction' you are<br>
calling dump() on. For instance, to enumerate where this values is<br>
used, try:<br>
<br>
    for (auto &U : Instruction.uses()) { ... }<br>
<br>
If you want the name of the value/instruction as string, as it appears<br>
on stdout when calling Instruction::dump()?<br>
<br>
Short version: Use Instruction.getName()<br>
<br>
Long version: In you example, getName() will return the empty string,<br>
i.e. it has no name. There is some disambiguation going on to print<br>
unique names. You can get the uniqued name using<br>
Instruction.printAsOperand(). You will have to pass a string stream<br>
(such as llvm::raw_string_ostream) and extract the string using<br>
raw_string_ostream::str().<br>
<br>
Michael<br>
<br>
Michael<br>
</blockquote></div></div>