LLVM: llvm::WebAssemblySelectionDAGInfo Class Reference (original) (raw)
#include "[Target/WebAssembly/WebAssemblySelectionDAGInfo.h](WebAssemblySelectionDAGInfo%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| WebAssemblySelectionDAGInfo () | |
| ~WebAssemblySelectionDAGInfo () override | |
| const char * | getTargetNodeName (unsigned Opcode) const override |
| Returns the name of the given target-specific opcode, suitable for debug printing. | |
| 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 override |
| Emit target-specific code that performs a memcpy. | |
| SDValue | EmitTargetCodeForMemmove (SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Op1, SDValue Op2, SDValue Op3, Align Alignment, bool isVolatile, MachinePointerInfo DstPtrInfo, MachinePointerInfo SrcPtrInfo) const override |
| Emit target-specific code that performs a memmove. | |
| SDValue | EmitTargetCodeForMemset (SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Op1, SDValue Op2, SDValue Op3, Align Alignment, bool IsVolatile, bool AlwaysInline, MachinePointerInfo DstPtrInfo) const override |
| Emit target-specific code that performs a memset. | |
| Public Member Functions inherited from llvm::SelectionDAGGenTargetInfo | |
| ~SelectionDAGGenTargetInfo () override | |
| 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 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 |
| WebAssemblySelectionDAGInfo::WebAssemblySelectionDAGInfo | ( | ) |
|---|
◆ ~WebAssemblySelectionDAGInfo()
| WebAssemblySelectionDAGInfo::~WebAssemblySelectionDAGInfo ( ) | overridedefault |
|---|
References DL.
◆ EmitTargetCodeForMemcpy()
| SDValue WebAssemblySelectionDAGInfo::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 | overridevirtual |
|---|
◆ EmitTargetCodeForMemmove()
Emit target-specific code that performs a memmove.
This can be used by targets to provide code sequences for cases that don't fit the target's parameters for simple loads/stores and can be more efficient than using a library call. This function can return a null SDValue if the target declines to use custom code and a different lowering strategy should be used.
Reimplemented from llvm::SelectionDAGTargetInfo.
Definition at line 60 of file WebAssemblySelectionDAGInfo.cpp.
References DL, and EmitTargetCodeForMemcpy().
◆ EmitTargetCodeForMemset()
◆ getTargetNodeName()
| const char * WebAssemblySelectionDAGInfo::getTargetNodeName ( unsigned Opcode) const | overridevirtual |
|---|
The documentation for this class was generated from the following files:
- lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
- lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp