[LLVMdev] PHINode in entry block

William Moses moses.williamsteven at gmail.com
Tue Jul 15 07:55:09 PDT 2014


All,

Consider the case where the entry block to a function acts like a loop
(e.g. it ends with a conditional break to itself and somewhere else). How
would one create a PHINode (representing an index perhaps) which has a
constant index (say 0) when entering the function, and (oldval+1) when
looping.

I understand how to do this if the loop were not in the entry block (by
simply using node->addIncoming(ConstantInt(...), entry),
node->addIncoming(builder.CreateAdd(node,...),loopBlock) ).

My question is how would one do this using the C++ API when there is no
predecessor since it is the entry block.

Thanks,
Billy Moses
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140715/11507998/attachment.html>


More information about the llvm-dev mailing list