Skip to content

Commit 65b02f3

Browse files
committed
Address review comment
1 parent 5ec0cca commit 65b02f3

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22752,14 +22752,13 @@ static SDValue scalarizeExtractedBinOp(SDNode *ExtElt, SelectionDAG &DAG,
2275222752
SDValue Vec = ExtElt->getOperand(0);
2275322753
SDValue Index = ExtElt->getOperand(1);
2275422754
auto *IndexC = dyn_cast<ConstantSDNode>(Index);
22755-
if (!IndexC ||
22756-
(!TLI.isBinOp(Vec.getOpcode()) && Vec.getOpcode() != ISD::SETCC) ||
22757-
!Vec.hasOneUse() || Vec->getNumValues() != 1)
22755+
unsigned Opc = Vec.getOpcode();
22756+
if (!IndexC || (!TLI.isBinOp(Opc) && Opc != ISD::SETCC) || !Vec.hasOneUse() ||
22757+
Vec->getNumValues() != 1)
2275822758
return SDValue();
2275922759

2276022760
EVT ResVT = ExtElt->getValueType(0);
22761-
if (Vec.getOpcode() == ISD::SETCC &&
22762-
ResVT != Vec.getValueType().getVectorElementType())
22761+
if (Opc == ISD::SETCC && ResVT != Vec.getValueType().getVectorElementType())
2276322762
return SDValue();
2276422763

2276522764
// Targets may want to avoid this to prevent an expensive register transfer.
@@ -22784,11 +22783,11 @@ static SDValue scalarizeExtractedBinOp(SDNode *ExtElt, SelectionDAG &DAG,
2278422783
Op0 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, OpVT, Op0, Index);
2278522784
Op1 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, OpVT, Op1, Index);
2278622785

22787-
if (Vec.getOpcode() == ISD::SETCC)
22786+
if (Opc == ISD::SETCC)
2278822787
return DAG.getSetCC(DL, ResVT, Op0, Op1,
2278922788
cast<CondCodeSDNode>(Vec->getOperand(2))->get());
2279022789
else
22791-
return DAG.getNode(Vec.getOpcode(), DL, ResVT, Op0, Op1);
22790+
return DAG.getNode(Opc, DL, ResVT, Op0, Op1);
2279222791
}
2279322792

2279422793
// Given a ISD::EXTRACT_VECTOR_ELT, which is a glorified bit sequence extract,

0 commit comments

Comments
 (0)