14 #ifndef LLVM_LIB_TARGET_NVPTX_NVPTXISELDAGTODAG_H 15 #define LLVM_LIB_TARGET_NVPTX_NVPTXISELDAGTODAG_H 33 int getDivF32Level()
const;
34 bool usePrecSqrtF32()
const;
35 bool useF32FTZ()
const;
36 bool allowFMA()
const;
37 bool allowUnsafeFPMath()
const;
38 bool useShortPointers()
const;
46 return "NVPTX DAG->DAG Pattern Instruction Selection";
51 bool SelectInlineAsmMemoryOperand(
const SDValue &
Op,
52 unsigned ConstraintID,
53 std::vector<SDValue> &OutOps)
override;
56 #include "NVPTXGenDAGISel.inc" 59 bool tryIntrinsicNoChain(
SDNode *
N);
60 bool tryIntrinsicChain(
SDNode *
N);
61 void SelectTexSurfHandle(
SDNode *
N);
70 void SelectAddrSpaceCast(
SDNode *
N);
71 bool tryTextureIntrinsic(
SDNode *
N);
72 bool trySurfaceIntrinsic(
SDNode *
N);
74 bool tryConstantFP16(
SDNode *
N);
75 bool SelectSETP_F16X2(
SDNode *
N);
76 bool tryEXTRACT_VECTOR_ELEMENT(
SDNode *
N);
78 inline SDValue getI32Imm(
unsigned Imm,
const SDLoc &DL) {
79 return CurDAG->getTargetConstant(Imm, DL,
MVT::i32);
98 bool ChkMemSDNodeAddressSpace(
SDNode *
N,
unsigned int spN)
const;
100 static unsigned GetConvertOpcode(
MVT DestTy,
MVT SrcTy,
bool IsSigned);
This class represents lattice values for constants.
const NVPTXSubtarget * Subtarget
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
Wrapper class for IR location info (IR ordering and DebugLoc) to be passed into SDNode creation funct...
Represents one node in the SelectionDAG.
SelectionDAGISel - This is the common base class used for SelectionDAG-based pattern-matching instruc...
#define LLVM_LIBRARY_VISIBILITY
LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked into a shared library...
StringRef - Represent a constant reference to a string, i.e.
Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation...