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

References

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
 7725   if (SDValue V = DAG.simplifyShift(N0, N1))
 7728   EVT VT = N0.getValueType();
 7740   ConstantSDNode *N0C = getAsNonOpaqueConstant(N0);
 7753   if (N0.getOpcode() == ISD::SRL) {
 7761     if (ISD::matchBinaryPredicate(N1, N0.getOperand(1), MatchOutOfRange))
 7771     if (ISD::matchBinaryPredicate(N1, N0.getOperand(1), MatchInRange)) {
 7774       SDValue Sum = DAG.getNode(ISD::ADD, DL, ShiftVT, N1, N0.getOperand(1));
 7775       return DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0), Sum);
 7781   if (N1C && N0.getOpcode() == ISD::TRUNCATE &&
 7782       N0.getOperand(0).getOpcode() == ISD::SRL) {
 7783     if (auto N001C = isConstOrConstSplat(N0.getOperand(0).getOperand(1))) {
 7786       EVT InnerShiftVT = N0.getOperand(0).getValueType();
 7787       EVT ShiftCountVT = N0.getOperand(0).getOperand(1).getValueType();
 7791         SDLoc DL(N0);
 7796                                        N0.getOperand(0).getOperand(0),
 7805   if (N0.getOpcode() == ISD::SHL && N0.getOperand(1) == N1 &&
 7805   if (N0.getOpcode() == ISD::SHL && N0.getOperand(1) == N1 &&
 7811     return DAG.getNode(ISD::AND, DL, VT, N0.getOperand(0), Mask);
 7816   if (N1C && N0.getOpcode() == ISD::ANY_EXTEND) {
 7818     EVT SmallVT = N0.getOperand(0).getValueType();
 7825       SDLoc DL0(N0);
 7827                                        N0.getOperand(0),
 7842     if (N0.getOpcode() == ISD::SRA)
 7843       return DAG.getNode(ISD::SRL, SDLoc(N), VT, N0.getOperand(0), N1);
 7847   if (N1C && N0.getOpcode() == ISD::CTLZ &&
 7849     KnownBits Known = DAG.computeKnownBits(N0.getOperand(0));
 7853     if (Known.One.getBoolValue()) return DAG.getConstant(0, SDLoc(N0), VT);
 7858     if (UnknownBits == 0) return DAG.getConstant(1, SDLoc(N0), VT);
 7867       SDValue Op = N0.getOperand(0);
 7870         SDLoc DL(N0);
 7887       return DAG.getNode(ISD::SRL, SDLoc(N), VT, N0, NewOp1);