Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:EXTLOAD

182     void ReplaceLoadWithPromotedLoad(SDNode *Load, SDNode *ExtLoad);
192 SDValue Trunc, SDValue ExtLoad, SDLoc DL,
810 void DAGCombiner::ReplaceLoadWithPromotedLoad(SDNode *Load, SDNode *ExtLoad) {
813 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, dl, VT, SDValue(ExtLoad, 0));
822 DAG.ReplaceAllUsesOfValueWith(SDValue(Load, 1), SDValue(ExtLoad, 1));
835 : ISD::EXTLOAD)
1057 : ISD::EXTLOAD)
2712 // If we want to change an EXTLOAD to a ZEXTLOAD, ensure a ZEXTLOAD is
2727 case ISD::EXTLOAD: B = CanZextLoadProfitably; break;
2733 // If the load type was an EXTLOAD, convert to ZEXTLOAD in order to
2736 if (Load->getExtensionType() == ISD::EXTLOAD) {
2742 // Replace uses of the EXTLOAD with the new ZEXTLOAD.
2832 // fold (zext_inreg (extload x)) -> (zextload x)
2843 SDValue ExtLoad = DAG.getExtLoad(ISD::ZEXTLOAD, SDLoc(N0), VT,
2847 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1));
2863 SDValue ExtLoad = DAG.getExtLoad(ISD::ZEXTLOAD, SDLoc(N0), VT,
2867 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1));
2873 // fold (and (extload x, i16), 255) -> (zextload x, i8)
2874 // fold (and (any_ext (extload x, i16)), 255) -> (zextload x, i8)
4854 // "fold ({s|z|a}ext (load x)) -> ({s|z|a}ext (truncate ({s|z|a}extload x)))"
4918 SDValue Trunc, SDValue ExtLoad, SDLoc DL,
4928 Ops.push_back(ExtLoad);
4930 Ops.push_back(DAG.getNode(ExtType, DL, ExtLoad->getValueType(0), SOp));
5017 SDValue ExtLoad = DAG.getExtLoad(ISD::SEXTLOAD, SDLoc(N), VT,
5021 CombineTo(N, ExtLoad);
5023 N0.getValueType(), ExtLoad);
5024 CombineTo(N0.getNode(), Trunc, ExtLoad.getValue(1));
5025 ExtendSetCCUses(SetCCs, Trunc, ExtLoad, SDLoc(N),
5032 // fold (sext ( extload x)) -> (sext (truncate (sextload x)))
5039 SDValue ExtLoad = DAG.getExtLoad(ISD::SEXTLOAD, SDLoc(N), VT,
5043 CombineTo(N, ExtLoad);
5046 N0.getValueType(), ExtLoad),
5047 ExtLoad.getValue(1));
5068 SDValue ExtLoad = DAG.getExtLoad(ISD::SEXTLOAD, SDLoc(LN0), VT,
5075 ExtLoad, DAG.getConstant(Mask, VT));
5078 N0.getOperand(0).getValueType(), ExtLoad);
5080 CombineTo(N0.getOperand(0).getNode(), Trunc, ExtLoad.getValue(1));
5081 ExtendSetCCUses(SetCCs, Trunc, ExtLoad, SDLoc(N),
5311 SDValue ExtLoad = DAG.getExtLoad(ISD::ZEXTLOAD, SDLoc(N), VT,
5315 CombineTo(N, ExtLoad);
5317 N0.getValueType(), ExtLoad);
5318 CombineTo(N0.getNode(), Trunc, ExtLoad.getValue(1));
5320 ExtendSetCCUses(SetCCs, Trunc, ExtLoad, SDLoc(N),
5342 SDValue ExtLoad = DAG.getExtLoad(ISD::ZEXTLOAD, SDLoc(LN0), VT,
5349 ExtLoad, DAG.getConstant(Mask, VT));
5352 N0.getOperand(0).getValueType(), ExtLoad);
5354 CombineTo(N0.getOperand(0).getNode(), Trunc, ExtLoad.getValue(1));
5355 ExtendSetCCUses(SetCCs, Trunc, ExtLoad, SDLoc(N),
5363 // fold (zext ( extload x)) -> (zext (truncate (zextload x)))
5370 SDValue ExtLoad = DAG.getExtLoad(ISD::ZEXTLOAD, SDLoc(N), VT,
5374 CombineTo(N, ExtLoad);
5377 ExtLoad),
5378 ExtLoad.getValue(1));
5525 // fold (aext (load x)) -> (aext (truncate (extload x)))
5532 TLI.isLoadExtLegal(ISD::EXTLOAD, N0.getValueType()))) {
5539 SDValue ExtLoad = DAG.getExtLoad(ISD::EXTLOAD, SDLoc(N), VT,
5543 CombineTo(N, ExtLoad);
5545 N0.getValueType(), ExtLoad);
5546 CombineTo(N0.getNode(), Trunc, ExtLoad.getValue(1));
5547 ExtendSetCCUses(SetCCs, Trunc, ExtLoad, SDLoc(N),
5555 // fold (aext ( extload x)) -> (aext (truncate (extload x)))
5563 SDValue ExtLoad = DAG.getExtLoad(ExtType, SDLoc(N),
5566 CombineTo(N, ExtLoad);
5569 N0.getValueType(), ExtLoad),
5570 ExtLoad.getValue(1));
5723 // accessing any of the loaded bytes. If the load was a zextload/extload
5763 // If the load that we're shrinking is an extload and we're not just
5890 // fold (sext_inreg (extload x)) -> (sextload x)
5897 SDValue ExtLoad = DAG.getExtLoad(ISD::SEXTLOAD, SDLoc(N), VT,
5901 CombineTo(N, ExtLoad);
5902 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1));
5903 AddToWorkList(ExtLoad.getNode());
5913 SDValue ExtLoad = DAG.getExtLoad(ISD::SEXTLOAD, SDLoc(N), VT,
5917 CombineTo(N, ExtLoad);
5918 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1));
7214 // fold (fpext (load x)) -> (fpext (fptrunc (extload x)))
7217 TLI.isLoadExtLegal(ISD::EXTLOAD, N0.getValueType()))) {
7219 SDValue ExtLoad = DAG.getExtLoad(ISD::EXTLOAD, SDLoc(N), VT,
7223 CombineTo(N, ExtLoad);
7226 N0.getValueType(), ExtLoad, DAG.getIntPtrConstant(1)),
7227 ExtLoad.getValue(1));
9393 // Or check whether a truncstore and extload is legal.
9401 TLI.isLoadExtLegal(ISD::EXTLOAD, StoreTy))
9831 : ISD::EXTLOAD;
11020 // If this is an EXTLOAD, the VT's must match.
11022 // If this is an EXTLOAD, the kind of extension must match.
11025 LLD->getExtensionType() != ISD::EXTLOAD &&
11026 RLD->getExtensionType() != ISD::EXTLOAD) ||
11082 Load = DAG.getExtLoad(LLD->getExtensionType() == ISD::EXTLOAD ?