[LLVMdev] How to transform loop to if-else using LLVM?

Dmitry Mikushin dmitry at kernelgen.org
Wed Apr 17 04:16:15 PDT 2013


Hi, Zhiyuan Yang,

Are you trying to replace the for-loop with equivalent if-goto loop? In
this case, do you also need a goto after i++?
LLVM IR in fact already contains exactly the goto-form of any loop, because
IR has no high-level constructs like for or while.

- D.

2013/4/17 zhiyuan yang <sjtu.yzy at gmail.com>

> Hello everyone,
>
> Sorry to bother you. I'm an undergraduate, and I'm trying to finish my
> graduation project using LLVM. In this project, I hope to transform all
> loop in program to condition statement. For example,
> Before transformation: for (int i = 0; i < 5; i++) a++;
> After transformation: int i = 0; if (i < 5) a++; i++;
> The idea is very clear, however, I'm a newbie to LLVM. After read code of
> some LLVM's transformation, I still have no idea of how to implement this
> idea.
> Hope you can give me some hint. Thank you very much!
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130417/0f60fbd9/attachment.html>


More information about the llvm-dev mailing list