[llvm] 49384f1 - Cleanup of Complex Deinterleaving pass (NFCI)
Nicholas Guy via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 14 05:11:30 PDT 2023
Author: Nicholas Guy
Date: 2023-03-14T12:11:09Z
New Revision: 49384f14113b402e2c6feb8cef476beda4527be7
URL: https://github.com/llvm/llvm-project/commit/49384f14113b402e2c6feb8cef476beda4527be7
DIFF: https://github.com/llvm/llvm-project/commit/49384f14113b402e2c6feb8cef476beda4527be7.diff
LOG: Cleanup of Complex Deinterleaving pass (NFCI)
Differential Revision: https://reviews.llvm.org/D143177
Added:
Modified:
llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp b/llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
index 9b1f7117fa57..3945913040fc 100644
--- a/llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
+++ b/llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
@@ -271,8 +271,6 @@ class ComplexDeinterleavingGraph {
bool identifyNodes(Instruction *RootI);
/// Perform the actual replacement of the underlying instruction graph.
- /// Returns false if the deinterleaving operation should be cancelled for the
- /// current graph.
void replaceNodes();
};
@@ -598,8 +596,16 @@ ComplexDeinterleavingGraph::identifyPartialMul(Instruction *Real,
Rotation == ComplexDeinterleavingRotation::Rotation_270)
? CommonOperand
: nullptr);
- NodePtr CNode = identifyNodeWithImplicitAdd(
- cast<Instruction>(CR), cast<Instruction>(CI), PartialMatch);
+
+ auto *CRInst = dyn_cast<Instruction>(CR);
+ auto *CIInst = dyn_cast<Instruction>(CI);
+
+ if (!CRInst || !CIInst) {
+ LLVM_DEBUG(dbgs() << " - Common operands are not instructions.\n");
+ return nullptr;
+ }
+
+ NodePtr CNode = identifyNodeWithImplicitAdd(CRInst, CIInst, PartialMatch);
if (!CNode) {
LLVM_DEBUG(dbgs() << " - No cnode identified\n");
return nullptr;
@@ -788,8 +794,10 @@ ComplexDeinterleavingGraph::identifyNode(Instruction *Real, Instruction *Imag) {
PlaceholderNode->ReplacementNode = RealShuffle->getOperand(0);
return submitCompositeNode(PlaceholderNode);
}
- if (RealShuffle || ImagShuffle)
+ if (RealShuffle || ImagShuffle) {
+ LLVM_DEBUG(dbgs() << " - There's a shuffle where there shouldn't be.\n");
return nullptr;
+ }
auto *VTy = cast<FixedVectorType>(Real->getType());
auto *NewVTy =
More information about the llvm-commits
mailing list