[LLVMdev] For clarifying the "<Result>" in Instructions
Xiaolong Tang
xiaolong.snake at gmail.com
Thu Jun 10 09:00:22 PDT 2010
Hello Reid,
Thanks.
> Yes, it's an integral part of the Instruction. You can change it by
> providing a name when you create the instruction.
Following your hint, can I understand in this following way?
The name (denoted by "<result>") is actually a referrer to the instruction .
Consider this instruction:
%this_addr = alloca %struct.String* ; <%struct.String**> [#uses=4]
Here "%this_addr" (which is not a argument) is actually a string.
Am I right?
And this name is recorded in the symbol table of a module. In case that an
instruction does not have a name, what then happens? I mean, will the
symbol table contains an entry for it?
Thanks,
Best,
Xiaolong
> On Thu, Jun 10, 2010 at 8:34 AM, Xiaolong Tang <xiaolong.snake at gmail.com> wrote:
> >
> > In the language specifications, many instructions have this form:
> >
> > <result> = ...
> >
> > So, where is "<result>" defined? Is it an integral part of an instruction?
> > Consider the "getelementptr" instruction:
> >
> > <result> = getelementptr <pty>* <ptrval>{, <ty> <idx>}*
> >
> > How is the "<result>" represented?
More information about the llvm-dev
mailing list