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

References

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
 9965   if (N0.getOpcode() == ISD::ANY_EXTEND  ||
 9966       N0.getOpcode() == ISD::ZERO_EXTEND ||
 9967       N0.getOpcode() == ISD::SIGN_EXTEND)
 9968     return DAG.getNode(N0.getOpcode(), SDLoc(N), VT, N0.getOperand(0));
 9968     return DAG.getNode(N0.getOpcode(), SDLoc(N), VT, N0.getOperand(0));
 9972   if (N0.getOpcode() == ISD::TRUNCATE) {
 9973     if (SDValue NarrowLoad = ReduceLoadWidth(N0.getNode())) {
 9974       SDNode *oye = N0.getOperand(0).getNode();
 9975       if (NarrowLoad.getNode() != N0.getNode()) {
 9976         CombineTo(N0.getNode(), NarrowLoad);
 9985   if (N0.getOpcode() == ISD::TRUNCATE)
 9986     return DAG.getAnyExtOrTrunc(N0.getOperand(0), SDLoc(N), VT);
 9990   if (N0.getOpcode() == ISD::AND &&
 9991       N0.getOperand(0).getOpcode() == ISD::TRUNCATE &&
 9992       N0.getOperand(1).getOpcode() == ISD::Constant &&
 9993       !TLI.isTruncateFree(N0.getOperand(0).getOperand(0).getValueType(),
 9994                           N0.getValueType())) {
 9996     SDValue X = N0.getOperand(0).getOperand(0);
 9998     APInt Mask = cast<ConstantSDNode>(N0.getOperand(1))->getAPIntValue();
10008   if (ISD::isNON_EXTLoad(N0.getNode()) && !VT.isVector() &&
10009       ISD::isUNINDEXEDLoad(N0.getNode()) &&
10010       TLI.isLoadExtLegal(ISD::EXTLOAD, VT, N0.getValueType())) {
10013     if (!N0.hasOneUse())
10014       DoXform = ExtendUsesToFormExtLoad(VT, N, N0, ISD::ANY_EXTEND, SetCCs,
10017       LoadSDNode *LN0 = cast<LoadSDNode>(N0);
10020                                        LN0->getBasePtr(), N0.getValueType(),
10022       ExtendSetCCUses(SetCCs, N0, ExtLoad, ISD::ANY_EXTEND);
10024       bool NoReplaceTrunc = N0.hasOneUse();
10030         SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SDLoc(N0),
10031                                     N0.getValueType(), ExtLoad);
10041   if (N0.getOpcode() == ISD::LOAD && !ISD::isNON_EXTLoad(N0.getNode()) &&
10041   if (N0.getOpcode() == ISD::LOAD && !ISD::isNON_EXTLoad(N0.getNode()) &&
10042       ISD::isUNINDEXEDLoad(N0.getNode()) && N0.hasOneUse()) {
10042       ISD::isUNINDEXEDLoad(N0.getNode()) && N0.hasOneUse()) {
10043     LoadSDNode *LN0 = cast<LoadSDNode>(N0);
10057   if (N0.getOpcode() == ISD::SETCC) {
10064       EVT N00VT = N0.getOperand(0).getValueType();
10065       if (getSetCCResultType(N00VT) == N0.getValueType())
10074         return DAG.getSetCC(SDLoc(N), VT, N0.getOperand(0),
10075                              N0.getOperand(1),
10076                              cast<CondCodeSDNode>(N0.getOperand(2))->get());
10083         DAG.getSetCC(SDLoc(N), MatchingVectorType, N0.getOperand(0),
10084                       N0.getOperand(1),
10085                       cast<CondCodeSDNode>(N0.getOperand(2))->get());
10092             DL, N0.getOperand(0), N0.getOperand(1), DAG.getConstant(1, DL, VT),
10092             DL, N0.getOperand(0), N0.getOperand(1), DAG.getConstant(1, DL, VT),
10094             cast<CondCodeSDNode>(N0.getOperand(2))->get(), true))