<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Hi all,<br><br>Is below LLVM IR valid?<br><br></div>bb0:<br></div>  br i1 bb1, bb5<br><br></div>bb1:         ;pred = bb0<br></div>  br bb2<br><br></div>bb2:          ;pred = bb1, bb4<br>
</div>  %5 = phi float [%1, bb0], [%2, bb4]<br><br>....<br></div><br>bb4:<br></div>   br bb2<br><br></div>You can see bb1, bb4 are direct predecessor of bb2, but the phi node %5 does not contain an incoming value for bb1. Is this a valid LLVM IR generated from a C-like language?<br>
That is to say is it true that every phiNode within a basic block should contain an incoming value for every direct predecessor of the current block?<br><br></div><div>Thanks!<br>Ruiling<br></div></div>