reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
 7534   if (SDValue V = DAG.simplifyShift(N0, N1))
 7537   EVT VT = N0.getValueType();
 7543   if (DAG.ComputeNumSignBits(N0) == OpSizeInBits)
 7544     return N0;
 7555   ConstantSDNode *N0C = getAsNonOpaqueConstant(N0);
 7564   if (N1C && N0.getOpcode() == ISD::SHL && N1 == N0.getOperand(1)) {
 7564   if (N1C && N0.getOpcode() == ISD::SHL && N1 == N0.getOperand(1)) {
 7573                          N0.getOperand(0), DAG.getValueType(ExtVT));
 7578   if (N0.getOpcode() == ISD::SRA) {
 7594     if (ISD::matchBinaryPredicate(N1, N0.getOperand(1), SumOfShifts)) {
 7600       return DAG.getNode(ISD::SRA, DL, VT, N0.getOperand(0), ShiftValue);
 7609   if (N0.getOpcode() == ISD::SHL && N1C) {
 7611     const ConstantSDNode *N01C = isConstOrConstSplat(N0.getOperand(1));
 7633             getShiftAmountTy(N0.getOperand(0).getValueType()));
 7635                                     N0.getOperand(0), Amt);
 7647   if (!LegalTypes && N0.getOpcode() == ISD::ADD && N0.hasOneUse() && N1C &&
 7647   if (!LegalTypes && N0.getOpcode() == ISD::ADD && N0.hasOneUse() && N1C &&
 7648       N0.getOperand(0).getOpcode() == ISD::SHL &&
 7649       N0.getOperand(0).getOperand(1) == N1 && N0.getOperand(0).hasOneUse()) {
 7649       N0.getOperand(0).getOperand(1) == N1 && N0.getOperand(0).hasOneUse()) {
 7650     if (ConstantSDNode *AddC = isConstOrConstSplat(N0.getOperand(1))) {
 7651       SDValue Shl = N0.getOperand(0);
 7679       return DAG.getNode(ISD::SRA, SDLoc(N), VT, N0, NewOp1);
 7686   if (N0.getOpcode() == ISD::TRUNCATE &&
 7687       (N0.getOperand(0).getOpcode() == ISD::SRL ||
 7688        N0.getOperand(0).getOpcode() == ISD::SRA) &&
 7689       N0.getOperand(0).hasOneUse() &&
 7690       N0.getOperand(0).getOperand(1).hasOneUse() && N1C) {
 7691     SDValue N0Op0 = N0.getOperand(0);
 7712   if (DAG.SignBitIsZero(N0))
 7713     return DAG.getNode(ISD::SRL, SDLoc(N), VT, N0, N1);