[LLVMdev] how to code a loop in llvm assembly
Patrick Meredith
pmeredit at uiuc.edu
Sat Apr 15 12:34:13 PDT 2006
Using an alloca'd variable with loads and stores would work well
too. To date this
is how every llvm language front end works. You would want to avoid
malloc for
such a purpose generally. mem2reg is nice enough to take your local
load
and stores and promote them to registers with PHINodes :-)
On Apr 15, 2006, at 4:43 AM, Ralph Corderoy wrote:
>
> Hi Simon,
>
>> I've read over the "LLVM Language Reference Manual" a few times, and
>> writing some ll code, but i'm stuck at a very basic point. How to
>> decrement a counter variable ?
>
> As Oscar pointed out, you need a phi-node. I read some of the
> published
> papers on LLVM before the Language Reference Manual and found them
> to be
> of use. You may also find Wikipedia's explanation of SSA useful,
> especially the key paragraph
>
> http://en.wikipedia.org/wiki/Static_single_assignment_form
>
> "Note: the phi functions are not actually implemented; instead,
> they're just markers for the compiler to place the value of all
> the
> variables grouped together by the phi function, in the same
> location
> in memory (or same register)."
>
> Cheers,
>
>
> Ralph.
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list