|
LLVM 22.0.0git
|
#include "Target/PowerPC/PPCSelectionDAGInfo.h"
Public Member Functions | |
| PPCSelectionDAGInfo () | |
| ~PPCSelectionDAGInfo () override | |
| const char * | getTargetNodeName (unsigned Opcode) const override |
| Returns the name of the given target-specific opcode, suitable for debug printing. | |
| void | verifyTargetNode (const SelectionDAG &DAG, const SDNode *N) const override |
| Checks that the given target-specific node is valid. Aborts if it is not. | |
| std::pair< SDValue, SDValue > | EmitTargetCodeForMemcmp (SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Op1, SDValue Op2, SDValue Op3, const CallInst *CI) const override |
| Emit target-specific code that performs a memcmp/bcmp, in cases where that is faster than a libcall. | |
| std::pair< SDValue, SDValue > | EmitTargetCodeForStrlen (SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, const CallInst *CI) const override |
| Public Member Functions inherited from llvm::SelectionDAGGenTargetInfo | |
| ~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 > | 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 > | 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 |
Additional Inherited Members | |
| Protected Member Functions inherited from llvm::SelectionDAGGenTargetInfo | |
| SelectionDAGGenTargetInfo (const SDNodeInfo &GenNodeInfo) | |
| Protected Attributes inherited from llvm::SelectionDAGGenTargetInfo | |
| const SDNodeInfo & | GenNodeInfo |
Definition at line 64 of file PPCSelectionDAGInfo.h.
| PPCSelectionDAGInfo::PPCSelectionDAGInfo | ( | ) |
Definition at line 17 of file PPCSelectionDAGInfo.cpp.
References llvm::SelectionDAGGenTargetInfo::SelectionDAGGenTargetInfo().
|
overridevirtual |
Emit target-specific code that performs a memcmp/bcmp, in cases where that is faster than a libcall.
The first returned SDValue is the result of the memcmp and the second is the chain. Both SDValues can be null if a normal libcall should be used.
Reimplemented from llvm::SelectionDAGTargetInfo.
Definition at line 78 of file PPCSelectionDAGInfo.cpp.
References llvm::SelectionDAG::getMemcmp().
|
overridevirtual |
Reimplemented from llvm::SelectionDAGTargetInfo.
Definition at line 85 of file PPCSelectionDAGInfo.cpp.
References DL, and llvm::SelectionDAG::getStrlen().
Returns the name of the given target-specific opcode, suitable for debug printing.
Reimplemented from llvm::SelectionDAGTargetInfo.
Definition at line 22 of file PPCSelectionDAGInfo.cpp.
References llvm::PPCISD::ANDI_rec_1_EQ_BIT, llvm::PPCISD::ANDI_rec_1_GT_BIT, llvm::PPCISD::BDNZ, llvm::PPCISD::BDZ, llvm::SelectionDAGGenTargetInfo::getTargetNodeName(), llvm::PPCISD::GlobalBaseReg, llvm::PPCISD::MFOCRF, llvm::PPCISD::PPC32_PICGOT, llvm::PPCISD::READ_TIME_BASE, llvm::PPCISD::SRA_ADDZE, and llvm::PPCISD::VADD_SPLAT.
|
overridevirtual |
Checks that the given target-specific node is valid. Aborts if it is not.
Reimplemented from llvm::SelectionDAGTargetInfo.
Definition at line 49 of file PPCSelectionDAGInfo.cpp.
References N, and llvm::SelectionDAGGenTargetInfo::verifyTargetNode().