[LLVMdev] on type annotations of LLVM IR

Rekha R rekharamapai at nitc.ac.in
Mon Oct 27 10:40:51 PDT 2014


Thank you David.
My question was from a machine independent code analyzer/optimizer
perspective where types are of less importance. Hence I felt difficult to
understand the IR with the types.


On Mon, Oct 27, 2014 at 6:44 PM, David Chisnall <David.Chisnall at cl.cam.ac.uk
> wrote:

> On 27 Oct 2014, at 12:46, Rekha R <rekharamapai at nitc.ac.in> wrote:
> > Why wasn't the C style of explicit declaration of variables (or values
> in LLVM context) followed by their uses model not adopted here?
> For the simple reason that there are no variables in LLVM IR.  The SSA
> form means that every value is declared and initialised exactly once.  Some
> values, such as constant integers, are created (in the text serialisation)
> inline in their use so there is no point where they are declared.
> > or may be even annotate the value (result of the Instruction) with type
> rather than annotating each operands on the Instruction?
> >
> > Just felt that by annotating each operand with types may make the
> Instruction 'complex' to understand. May be I am wrong.
> You will find it much easier to read when you are debugging.  The IR is
> not intended to be read or written by humans, the text serialisation is
> there as a debugging aid when something has gone wrong.  It is *very*
> useful to be able to look at a single instruction and see all of the types,
> without having to chase through a load of other parts of the code to find
> where things were declared.
> David

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141027/83c3e984/attachment.html>

More information about the llvm-dev mailing list