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

References

lib/Target/X86/X86ISelDAGToDAG.cpp
 1847   SDLoc dl(N);
 1854     return matchAddressBase(N, AM);
 1866     if (ConstantSDNode *Cst = dyn_cast<ConstantSDNode>(N))
 1872   switch (N.getOpcode()) {
 1876       if (const auto *ESNode = dyn_cast<MCSymbolSDNode>(N.getOperand(0))) {
 1884     uint64_t Val = cast<ConstantSDNode>(N)->getSExtValue();
 1892     if (!matchWrapper(N, AM))
 1897     if (!matchLoadInAddress(cast<LoadSDNode>(N), AM))
 1906       AM.Base_FrameIndex = cast<FrameIndexSDNode>(N)->getIndex();
 1915     if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
 1923         SDValue ShVal = N.getOperand(0);
 1948     assert(N.getSimpleValueType().getSizeInBits() <= 64 &&
 1951     SDValue And = N.getOperand(0);
 1958     if (!isa<ConstantSDNode>(N.getOperand(1)) ||
 1961     uint64_t Mask = And.getConstantOperandVal(1) >> N.getConstantOperandVal(1);
 1965     if (!foldMaskAndShiftToScale(*CurDAG, N, Mask, N, X, AM))
 1965     if (!foldMaskAndShiftToScale(*CurDAG, N, Mask, N, X, AM))
 1973     if (N.getResNo() != 0) break;
 1981       if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N.getOperand(1)))
 1986           SDValue MulVal = N.getOperand(0);
 1999               Reg = N.getOperand(0);
 2001             Reg = N.getOperand(0);
 2020     HandleSDNode Handle(N);
 2024     if (matchAddressRecursively(N.getOperand(0), AM, Depth+1)) {
 2025       N = Handle.getValue();
 2029     N = Handle.getValue();
 2037     SDValue RHS = N.getOperand(1);
 2076     if (!matchAdd(N, AM, Depth))
 2087     if (CurDAG->haveNoCommonBitsSet(N.getOperand(0), N.getOperand(1)) &&
 2087     if (CurDAG->haveNoCommonBitsSet(N.getOperand(0), N.getOperand(1)) &&
 2088         !matchAdd(N, AM, Depth))
 2101     assert(N.getSimpleValueType().getSizeInBits() <= 64 &&
 2104     if (!isa<ConstantSDNode>(N.getOperand(1)))
 2107     if (N.getOperand(0).getOpcode() == ISD::SRL) {
 2108       SDValue Shift = N.getOperand(0);
 2111       uint64_t Mask = N.getConstantOperandVal(1);
 2114       if (!foldMaskAndShiftToExtract(*CurDAG, N, Mask, Shift, X, AM))
 2118       if (!foldMaskAndShiftToScale(*CurDAG, N, Mask, Shift, X, AM))
 2122       if (!foldMaskedShiftToBEXTR(*CurDAG, N, Mask, Shift, X, AM, *Subtarget))
 2128     if (!foldMaskedShiftToScaledMask(*CurDAG, N, AM))
 2138     if (N.getOperand(0).getOpcode() != ISD::SHL || !N.getOperand(0).hasOneUse())
 2138     if (N.getOperand(0).getOpcode() != ISD::SHL || !N.getOperand(0).hasOneUse())
 2142     SDValue Shl = N.getOperand(0);
 2155     MVT VT = N.getSimpleValueType();
 2156     SDLoc DL(N);
 2164     insertDAGNode(*CurDAG, N, Zext);
 2165     insertDAGNode(*CurDAG, N, NewShl);
 2166     CurDAG->ReplaceAllUsesWith(N, NewShl);
 2167     CurDAG->RemoveDeadNode(N.getNode());
 2172   return matchAddressBase(N, AM);