LLVM: llvm::SelectionDAGGenTargetInfo Class Reference (original) (raw)
Proxy class that targets should inherit from if they wish to use the generated node descriptions. More...
#include "[llvm/CodeGen/SelectionDAGTargetInfo.h](SelectionDAGTargetInfo%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| ~SelectionDAGGenTargetInfo () override | |
| const char * | getTargetNodeName (unsigned Opcode) const override |
| Returns the name of the given target-specific opcode, suitable for debug printing. | |
| bool | isTargetMemoryOpcode (unsigned Opcode) const override |
| Returns true if a node with the given target-specific opcode has a memory operand. | |
| bool | isTargetStrictFPOpcode (unsigned Opcode) const override |
| Returns true if a node with the given target-specific opcode has strict floating-point semantics. | |
| void | verifyTargetNode (const SelectionDAG &DAG, const SDNode *N) const override |
| Checks that the given target-specific node is valid. Aborts if it is not. | |
| Public Member Functions inherited from llvm::SelectionDAGTargetInfo | |
| SelectionDAGTargetInfo ()=default | |
| SelectionDAGTargetInfo (const SelectionDAGTargetInfo &)=delete | |
| SelectionDAGTargetInfo & | operator= (const SelectionDAGTargetInfo &)=delete |
| virtual | ~SelectionDAGTargetInfo () |
| virtual bool | mayRaiseFPException (unsigned Opcode) const |
| Returns true if a node with the given target-specific opcode may raise a floating-point exception. | |
| virtual SDValue | EmitTargetCodeForMemcpy (SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Op1, SDValue Op2, SDValue Op3, Align Alignment, bool isVolatile, bool AlwaysInline, MachinePointerInfo DstPtrInfo, MachinePointerInfo SrcPtrInfo) const |
| Emit target-specific code that performs a memcpy. | |
| virtual SDValue | EmitTargetCodeForMemmove (SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Op1, SDValue Op2, SDValue Op3, Align Alignment, bool isVolatile, MachinePointerInfo DstPtrInfo, MachinePointerInfo SrcPtrInfo) const |
| Emit target-specific code that performs a memmove. | |
| virtual SDValue | EmitTargetCodeForMemset (SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Op1, SDValue Op2, SDValue Op3, Align Alignment, bool isVolatile, bool AlwaysInline, MachinePointerInfo DstPtrInfo) const |
| Emit target-specific code that performs a memset. | |
| virtual std::pair< SDValue, SDValue > | EmitTargetCodeForMemcmp (SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Op1, SDValue Op2, SDValue Op3, const CallInst *CI) const |
| Emit target-specific code that performs a memcmp/bcmp, in cases where that is faster than a libcall. | |
| virtual std::pair< SDValue, SDValue > | EmitTargetCodeForMemchr (SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Src, SDValue Char, SDValue Length, MachinePointerInfo SrcPtrInfo) const |
| Emit target-specific code that performs a memchr, in cases where that is faster than a libcall. | |
| virtual std::pair< SDValue, SDValue > | EmitTargetCodeForStrcpy (SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dest, SDValue Src, MachinePointerInfo DestPtrInfo, MachinePointerInfo SrcPtrInfo, bool isStpcpy) const |
| Emit target-specific code that performs a strcpy or stpcpy, in cases where that is faster than a libcall. | |
| virtual std::pair< SDValue, SDValue > | EmitTargetCodeForStrcmp (SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Op1, SDValue Op2, MachinePointerInfo Op1PtrInfo, MachinePointerInfo Op2PtrInfo) const |
| Emit target-specific code that performs a strcmp, in cases where that is faster than a libcall. | |
| virtual std::pair< SDValue, SDValue > | EmitTargetCodeForStrlen (SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, const CallInst *CI) const |
| virtual std::pair< SDValue, SDValue > | EmitTargetCodeForStrnlen (SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, SDValue MaxLength, MachinePointerInfo SrcPtrInfo) const |
| virtual SDValue | EmitTargetCodeForSetTag (SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Addr, SDValue Size, MachinePointerInfo DstPtrInfo, bool ZeroData) const |
| virtual bool | disableGenericCombines (CodeGenOptLevel OptLevel) const |
Proxy class that targets should inherit from if they wish to use the generated node descriptions.
Definition at line 192 of file SelectionDAGTargetInfo.h.
| llvm::SelectionDAGGenTargetInfo::SelectionDAGGenTargetInfo ( const SDNodeInfo & GenNodeInfo) | inlineexplicitprotected |
|---|
Definition at line 196 of file SelectionDAGTargetInfo.h.
References GenNodeInfo.
Referenced by llvm::AArch64SelectionDAGInfo::AArch64SelectionDAGInfo(), llvm::AMDGPUSelectionDAGInfo::AMDGPUSelectionDAGInfo(), llvm::ARCSelectionDAGInfo::ARCSelectionDAGInfo(), llvm::ARMSelectionDAGInfo::ARMSelectionDAGInfo(), llvm::AVRSelectionDAGInfo::AVRSelectionDAGInfo(), llvm::BPFSelectionDAGInfo::BPFSelectionDAGInfo(), llvm::CSKYSelectionDAGInfo::CSKYSelectionDAGInfo(), llvm::LanaiSelectionDAGInfo::LanaiSelectionDAGInfo(), llvm::LoongArchSelectionDAGInfo::LoongArchSelectionDAGInfo(), llvm::M68kSelectionDAGInfo::M68kSelectionDAGInfo(), llvm::MipsSelectionDAGInfo::MipsSelectionDAGInfo(), llvm::MSP430SelectionDAGInfo::MSP430SelectionDAGInfo(), llvm::NVPTXSelectionDAGInfo::NVPTXSelectionDAGInfo(), llvm::PPCSelectionDAGInfo::PPCSelectionDAGInfo(), llvm::RISCVSelectionDAGInfo::RISCVSelectionDAGInfo(), llvm::SparcSelectionDAGInfo::SparcSelectionDAGInfo(), llvm::SystemZSelectionDAGInfo::SystemZSelectionDAGInfo(), llvm::VESelectionDAGInfo::VESelectionDAGInfo(), llvm::WebAssemblySelectionDAGInfo::WebAssemblySelectionDAGInfo(), llvm::XCoreSelectionDAGInfo::XCoreSelectionDAGInfo(), and llvm::XtensaSelectionDAGInfo::XtensaSelectionDAGInfo().
◆ ~SelectionDAGGenTargetInfo()
| SelectionDAGGenTargetInfo::~SelectionDAGGenTargetInfo ( ) | overridedefault |
|---|
◆ getTargetNodeName()
| const char * llvm::SelectionDAGGenTargetInfo::getTargetNodeName ( unsigned Opcode) const | inlineoverridevirtual |
|---|
Returns the name of the given target-specific opcode, suitable for debug printing.
Reimplemented from llvm::SelectionDAGTargetInfo.
Reimplemented in llvm::SystemZSelectionDAGInfo, llvm::VESelectionDAGInfo, and llvm::WebAssemblySelectionDAGInfo.
Definition at line 202 of file SelectionDAGTargetInfo.h.
References assert(), and GenNodeInfo.
Referenced by llvm::AMDGPUSelectionDAGInfo::getTargetNodeName(), llvm::ARMSelectionDAGInfo::getTargetNodeName(), llvm::MipsSelectionDAGInfo::getTargetNodeName(), llvm::NVPTXSelectionDAGInfo::getTargetNodeName(), llvm::PPCSelectionDAGInfo::getTargetNodeName(), llvm::SystemZSelectionDAGInfo::getTargetNodeName(), llvm::VESelectionDAGInfo::getTargetNodeName(), and llvm::WebAssemblySelectionDAGInfo::getTargetNodeName().
◆ isTargetMemoryOpcode()
| bool llvm::SelectionDAGGenTargetInfo::isTargetMemoryOpcode ( unsigned Opcode) const | inlineoverridevirtual |
|---|
◆ isTargetStrictFPOpcode()
| bool llvm::SelectionDAGGenTargetInfo::isTargetStrictFPOpcode ( unsigned Opcode) const | inlineoverridevirtual |
|---|
◆ verifyTargetNode()
◆ GenNodeInfo
The documentation for this class was generated from the following files:
- include/llvm/CodeGen/SelectionDAGTargetInfo.h
- lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp