@@ -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);
@@ -9932,10 +9932,10 @@ SDValue DAGCombiner::visitRotate(SDNode *N) {
99329932 // fold (rot* (rot* x, c2), c1)
99339933 // -> (rot* x, ((c1 % bitsize) +- (c2 % bitsize) + bitsize) % bitsize)
99349934 if (NextOp == ISD::ROTL || NextOp == ISD::ROTR) {
9935- SDNode * C1 = DAG.isConstantIntBuildVectorOrConstantInt(N1);
9936- SDNode * C2 = DAG.isConstantIntBuildVectorOrConstantInt(N0.getOperand(1));
9937- if (C1 && C2 && C1-> getValueType(0 ) == C2-> getValueType(0 )) {
9938- EVT ShiftVT = C1-> getValueType(0 );
9935+ bool C1 = DAG.isConstantIntBuildVectorOrConstantInt(N1);
9936+ bool C2 = DAG.isConstantIntBuildVectorOrConstantInt(N0.getOperand(1));
9937+ if (C1 && C2 && N1. getValueType() == N0.getOperand(1). getValueType()) {
9938+ EVT ShiftVT = N1. getValueType();
99399939 bool SameSide = (N->getOpcode() == NextOp);
99409940 unsigned CombineOp = SameSide ? ISD::ADD : ISD::SUB;
99419941 SDValue BitsizeC = DAG.getConstant(Bitsize, dl, ShiftVT);
@@ -16807,8 +16807,8 @@ SDValue DAGCombiner::visitVP_FADD(SDNode *N) {
1680716807SDValue DAGCombiner::visitFADD(SDNode *N) {
1680816808 SDValue N0 = N->getOperand(0);
1680916809 SDValue N1 = N->getOperand(1);
16810- SDNode * N0CFP = DAG.isConstantFPBuildVectorOrConstantFP(N0);
16811- SDNode * N1CFP = DAG.isConstantFPBuildVectorOrConstantFP(N1);
16810+ bool N0CFP = DAG.isConstantFPBuildVectorOrConstantFP(N0);
16811+ bool N1CFP = DAG.isConstantFPBuildVectorOrConstantFP(N1);
1681216812 EVT VT = N->getValueType(0);
1681316813 SDLoc DL(N);
1681416814 const TargetOptions &Options = DAG.getTarget().Options;
@@ -16905,10 +16905,8 @@ SDValue DAGCombiner::visitFADD(SDNode *N) {
1690516905 // of rounding steps.
1690616906 if (TLI.isOperationLegalOrCustom(ISD::FMUL, VT) && !N0CFP && !N1CFP) {
1690716907 if (N0.getOpcode() == ISD::FMUL) {
16908- SDNode *CFP00 =
16909- DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(0));
16910- SDNode *CFP01 =
16911- DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(1));
16908+ bool CFP00 = DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(0));
16909+ bool CFP01 = DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(1));
1691216910
1691316911 // (fadd (fmul x, c), x) -> (fmul x, c+1)
1691416912 if (CFP01 && !CFP00 && N0.getOperand(0) == N1) {
@@ -16928,10 +16926,8 @@ SDValue DAGCombiner::visitFADD(SDNode *N) {
1692816926 }
1692916927
1693016928 if (N1.getOpcode() == ISD::FMUL) {
16931- SDNode *CFP10 =
16932- DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(0));
16933- SDNode *CFP11 =
16934- DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(1));
16929+ bool CFP10 = DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(0));
16930+ bool CFP11 = DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(1));
1693516931
1693616932 // (fadd x, (fmul x, c)) -> (fmul x, c+1)
1693716933 if (CFP11 && !CFP10 && N1.getOperand(0) == N0) {
@@ -16951,8 +16947,7 @@ SDValue DAGCombiner::visitFADD(SDNode *N) {
1695116947 }
1695216948
1695316949 if (N0.getOpcode() == ISD::FADD) {
16954- SDNode *CFP00 =
16955- DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(0));
16950+ bool CFP00 = DAG.isConstantFPBuildVectorOrConstantFP(N0.getOperand(0));
1695616951 // (fadd (fadd x, x), x) -> (fmul x, 3.0)
1695716952 if (!CFP00 && N0.getOperand(0) == N0.getOperand(1) &&
1695816953 (N0.getOperand(0) == N1)) {
@@ -16962,8 +16957,7 @@ SDValue DAGCombiner::visitFADD(SDNode *N) {
1696216957 }
1696316958
1696416959 if (N1.getOpcode() == ISD::FADD) {
16965- SDNode *CFP10 =
16966- DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(0));
16960+ bool CFP10 = DAG.isConstantFPBuildVectorOrConstantFP(N1.getOperand(0));
1696716961 // (fadd x, (fadd x, x)) -> (fmul x, 3.0)
1696816962 if (!CFP10 && N1.getOperand(0) == N1.getOperand(1) &&
1696916963 N1.getOperand(0) == N0) {
0 commit comments