O'Reilly logo

LLVM Essentials by Mayur Pandey, Suyog Sarda

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Emitting LLVM IR for loop

Similar to the if-else statement, loops can also be emitted using LLVM API's, with slight modification of the code. For example, we want to have LLVM IR for the following Loops:

for(i=1; i< b; i++)  {body}

The loop has induction variable i, which has some initial value that updates after each iteration. The induction variable is updated after each iteration by a step value that is 1 in the preceding example. Then there is a loop ending condition. In the preceding example, 'i=1' is the initial value, 'i<b' is the end condition of the loop, and 'i++' is the step value by which the induction variable 'i' is incremented after every iteration of the loop.

Before writing a function to create a loop, some Value and BasicBlock need ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required