<div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif;font-size:large">Hello, all<br><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:large"> I don't quite understand the llvm::use class, from the class ref, I read that:<br><p><i>"A <a class="" href="http://llvm.org/docs/doxygen/html/classllvm_1_1Use.html" title="A Use represents the edge between a Value definition and its users.">Use</a> represents the edge between a <a class="" href="http://llvm.org/docs/doxygen/html/classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> definition and its users.This is notionally a two-dimensional linked list"</i></p><p>I can image that it's like an edge between the operand<->User, but how to comprehend the "two-dimensional linked list" ?</p><p>(*Instruction derives from User that derives from Value*)</p><p>And I found "use_iterator()" in Value, for example: a Value 'v',  if it's an operand of many Instructions 'i1,i2,i3...', then in my understanding, uses of v are just i1, i2, i3... but what's the difference between use and user in this case ??</p><p>Besides, if the Value 'v' here is itself an Instruction, then what are its 'uses' and 'users' ?? I feel that the result of an instruction can be an operand of another instruction, but it should not be regarded as the instruction itself right ??</p><p>Very confused...hope I can get some help to clarify my thoughts....</p><p>thanks<br></p><p><br></p><p><br></p></div><br>-- <br><div class="gmail_signature">Best regards<br><br><br>Hui Zhang<br></div>
</div>