@@ -1205,13 +1205,13 @@ SDValue DAGCombiner::reassociateOpsCommutative(unsigned Opc, const SDLoc &DL,
12051205 SDValue N00 = N0.getOperand(0);
12061206 SDValue N01 = N0.getOperand(1);
12071207
1208- if (DAG.isConstantIntBuildVectorOrConstantInt(peekThroughBitcasts( N01) )) {
1208+ if (DAG.isConstantIntBuildVectorOrConstantInt(N01)) {
12091209 SDNodeFlags NewFlags;
12101210 if (N0.getOpcode() == ISD::ADD && N0->getFlags().hasNoUnsignedWrap() &&
12111211 Flags.hasNoUnsignedWrap())
12121212 NewFlags.setNoUnsignedWrap(true);
12131213
1214- if (DAG.isConstantIntBuildVectorOrConstantInt(peekThroughBitcasts(N1) )) {
1214+ if (DAG.isConstantIntBuildVectorOrConstantInt(N1 )) {
12151215 // Reassociate: (op (op x, c1), c2) -> (op x, (op c1, c2))
12161216 if (SDValue OpNode = DAG.FoldConstantArithmetic(Opc, DL, VT, {N01, N1}))
12171217 return DAG.getNode(Opc, DL, VT, N00, OpNode, NewFlags);
@@ -9931,10 +9931,10 @@ SDValue DAGCombiner::visitRotate(SDNode *N) {
99319931 // fold (rot* (rot* x, c2), c1)
99329932 // -> (rot* x, ((c1 % bitsize) +- (c2 % bitsize) + bitsize) % bitsize)
99339933 if (NextOp == ISD::ROTL || NextOp == ISD::ROTR) {
9934- SDNode * C1 = DAG.isConstantIntBuildVectorOrConstantInt(N1);
9935- SDNode * C2 = DAG.isConstantIntBuildVectorOrConstantInt(N0.getOperand(1));
9936- if (C1 && C2 && C1-> getValueType(0 ) == C2-> getValueType(0 )) {
9937- EVT ShiftVT = C1-> getValueType(0 );
9934+ bool C1 = DAG.isConstantIntBuildVectorOrConstantInt(N1);
9935+ bool C2 = DAG.isConstantIntBuildVectorOrConstantInt(N0.getOperand(1));
9936+ if (C1 && C2 && N1. getValueType() == N0.getOperand(1). getValueType()) {
9937+ EVT ShiftVT = N1. getValueType();
99389938 bool SameSide = (N->getOpcode() == NextOp);
99399939 unsigned CombineOp = SameSide ? ISD::ADD : ISD::SUB;
99409940 SDValue BitsizeC = DAG.getConstant(Bitsize, dl, ShiftVT);
@@ -16805,8 +16805,8 @@ SDValue DAGCombiner::visitVP_FADD(SDNode *N) {
1680516805SDValue DAGCombiner::visitFADD(SDNode *N) {
1680616806 SDValue N0 = N->getOperand(0);
1680716807 SDValue N1 = N->getOperand(1);
16808- SDNode * N0CFP = DAG.isConstantFPBuildVectorOrConstantFP(N0);
16809- SDNode * N1CFP = DAG.isConstantFPBuildVectorOrConstantFP(N1);
16808+ bool N0CFP = DAG.isConstantFPBuildVectorOrConstantFP(N0);
16809+ bool N1CFP = DAG.isConstantFPBuildVectorOrConstantFP(N1);
1681016810 EVT VT = N->getValueType(0);
1681116811 SDLoc DL(N);
1681216812 const TargetOptions &Options = DAG.getTarget().Options;
@@ -16903,10 +16903,8 @@ SDValue DAGCombiner::visitFADD(SDNode *N) {
1690316903 // of rounding steps.
1690416904 if (TLI.isOperationLegalOrCustom(ISD::FMUL, VT) && !N0CFP && !N1CFP) {
1690516905 if (N0.getOpcode() == ISD::FMUL) {
16906- SDNode *CFP00 =
16907- DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(0));
16908- SDNode *CFP01 =
16909- DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(1));
16906+ bool CFP00 = DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(0));
16907+ bool CFP01 = DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(1));
1691016908
1691116909 // (fadd (fmul x, c), x) -> (fmul x, c+1)
1691216910 if (CFP01 && !CFP00 && N0.getOperand(0) == N1) {
@@ -16926,10 +16924,8 @@ SDValue DAGCombiner::visitFADD(SDNode *N) {
1692616924 }
1692716925
1692816926 if (N1.getOpcode() == ISD::FMUL) {
16929- SDNode *CFP10 =
16930- DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(0));
16931- SDNode *CFP11 =
16932- DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(1));
16927+ bool CFP10 = DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(0));
16928+ bool CFP11 = DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(1));
1693316929
1693416930 // (fadd x, (fmul x, c)) -> (fmul x, c+1)
1693516931 if (CFP11 && !CFP10 && N1.getOperand(0) == N0) {
@@ -16949,8 +16945,7 @@ SDValue DAGCombiner::visitFADD(SDNode *N) {
1694916945 }
1695016946
1695116947 if (N0.getOpcode() == ISD::FADD) {
16952- SDNode *CFP00 =
16953- DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(0));
16948+ bool CFP00 = DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(0));
1695416949 // (fadd (fadd x, x), x) -> (fmul x, 3.0)
1695516950 if (!CFP00 && N0.getOperand(0) == N0.getOperand(1) &&
1695616951 (N0.getOperand(0) == N1)) {
@@ -16960,8 +16955,7 @@ SDValue DAGCombiner::visitFADD(SDNode *N) {
1696016955 }
1696116956
1696216957 if (N1.getOpcode() == ISD::FADD) {
16963- SDNode *CFP10 =
16964- DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(0));
16958+ bool CFP10 = DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(0));
1696516959 // (fadd x, (fadd x, x)) -> (fmul x, 3.0)
1696616960 if (!CFP10 && N1.getOperand(0) == N1.getOperand(1) &&
1696716961 N1.getOperand(0) == N0) {
0 commit comments