[PATCH] D63338: [NFC] PHINode: introduce setIncomingValueForBlock() function, and use it.
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 14 09:44:28 PDT 2019
fhahn added inline comments.
================
Comment at: llvm/include/llvm/IR/Instructions.h:2729
+ void setIncomingValueForBlock(const BasicBlock *BB, Value *V) {
+ assert(BB && "PHI node got a null basic block!");
+ for (unsigned Op = 0, NumOps = getNumOperands(); Op != NumOps; ++Op)
----------------
Whitney wrote:
> fhahn wrote:
> > can this just be
> > ```
> > int Idx = getBasicBlockIndex(BB);
> > assert(Idx >= 0 && "Invalid basic block argument!");
> > return setIncomingValue(Idx, V);
> > ```
> >
> > similar to getIncomingValueForBlock above?
> I thought of doing that, but sometimes a phi node may have multiple operands of the same incoming block (not sure why). I am using a similar code pattern as in replaceIncomingBlockWith().
Ah right. I think it is worth mentioning in the doc comment that it will replace all values coming from BB?
For the places that use getbasicBlockIndex, this is not a NFC I think, as they would only replace the incoming value of the first occurrence.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63338/new/
https://reviews.llvm.org/D63338
More information about the llvm-commits
mailing list