[PATCH] D146988: [CodeGen] Enable processing of interconnected complex number operations
Nicholas Guy via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 28 03:29:46 PDT 2023
NickGuy added inline comments.
================
Comment at: llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp:143
- // the multiply instructions of a partial multiply operation.
- SmallVector<Instruction *> InternalInstructions;
ComplexDeinterleavingRotation Rotation;
----------------
What's the rationale behind removing this? I might be missing something, but it looks like you're removing it then looking for the internal instructions on-demand in `checkNodes` later
================
Comment at: llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp:905-910
+ if (!FinalInstructions.count(I)) {
+ for (Value *Op : I->operands()) {
+ if (auto *OpI = dyn_cast<Instruction>(Op))
+ ToDo.emplace_back(OpI);
+ }
}
----------------
How is this expected to behave with operands that leave the chain? (i.e. Phi nodes or instructions in a different basic block). Is there a risk of `AllInstructions` containing the most of the function in some cases?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146988/new/
https://reviews.llvm.org/D146988
More information about the llvm-commits
mailing list