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;
44 return "NVPTX DAG->DAG Pattern Instruction Selection";
49 bool SelectInlineAsmMemoryOperand(
const SDValue &
Op,
50 unsigned ConstraintID,
51 std::vector<SDValue> &OutOps)
override;
54 #include "NVPTXGenDAGISel.inc"
57 bool tryIntrinsicNoChain(
SDNode *
N);
58 bool tryIntrinsicChain(
SDNode *
N);
59 void SelectTexSurfHandle(
SDNode *
N);
68 void SelectAddrSpaceCast(
SDNode *
N);
69 bool tryTextureIntrinsic(
SDNode *
N);
70 bool trySurfaceIntrinsic(
SDNode *
N);
73 inline SDValue getI32Imm(
unsigned Imm,
const SDLoc &DL) {
74 return CurDAG->getTargetConstant(Imm, DL,
MVT::i32);
94 bool ChkMemSDNodeAddressSpace(
SDNode *
N,
unsigned int spN)
const;
96 static unsigned GetConvertOpcode(
MVT DestTy,
MVT SrcTy,
bool IsSigned);
const NVPTXSubtarget * Subtarget
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
MVT - Machine Value Type.
#define LLVM_LIBRARY_VISIBILITY
LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked into a shared library...
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...
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...