[PATCH] D79218: Process gep (phi ptr1, ptr2) in SROA
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 29 09:13:57 PDT 2020
arsenm added inline comments.
================
Comment at: llvm/lib/Transforms/Scalar/SROA.cpp:3497
+ PHINode *PHI = cast<PHINode>(GEPI.getPointerOperand());
+ if (!llvm::all_of(PHI->incoming_values(), [](Value *In)
+ { return isa<Instruction>(In) &&
----------------
any_of and invert?
================
Comment at: llvm/lib/Transforms/Scalar/SROA.cpp:3498-3501
+ { return isa<Instruction>(In) &&
+ !isa<GetElementPtrInst>(In) &&
+ !isa<PHINode>(In) &&
+ cast<Instruction>(In)->getParent()->isLegalToHoistInto();
----------------
dyn_cast instead of isa && cast?
================
Comment at: llvm/lib/Transforms/Scalar/SROA.cpp:3524-3525
+ NewPN->addIncoming(NewVal, PHI->getIncomingBlock(I));
+ if (isa<Instruction>(NewVal))
+ visit(cast<Instruction>(NewVal));
+ }
----------------
dyn_cast instead of isa && cast
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79218/new/
https://reviews.llvm.org/D79218
More information about the llvm-commits
mailing list