LLVM: lib/Target/RISCV/RISCVSelectionDAGInfo.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_LIB_TARGET_RISCV_RISCVSELECTIONDAGINFO_H

10#define LLVM_LIB_TARGET_RISCV_RISCVSELECTIONDAGINFO_H

11

14

15#define GET_SDNODE_ENUM

16#include "RISCVGenSDNodeInfo.inc"

17

18namespace llvm {

19

27

29public:

31

33

35 const SDNode *N) const override;

36

40 bool isVolatile, bool AlwaysInline,

42

46

50

52 switch (static_castRISCVISD::GenNodeType\(MulOpcode)) {

53 default:

55 case RISCVISD::VWMUL_VL:

56 return RISCVISD::VWMACC_VL;

57 case RISCVISD::VWMULU_VL:

58 return RISCVISD::VWMACCU_VL;

59 case RISCVISD::VWMULSU_VL:

60 return RISCVISD::VWMACCSU_VL;

61 }

62 }

63};

64

65}

66

67#endif

SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src, SDValue Size, Align Alignment, bool isVolatile, bool AlwaysInline, MachinePointerInfo DstPtrInfo) const override

Emit target-specific code that performs a memset.

void verifyTargetNode(const SelectionDAG &DAG, const SDNode *N) const override

Checks that the given target-specific node is valid. Aborts if it is not.

bool hasMaskOp(unsigned Opcode) const

Definition RISCVSelectionDAGInfo.h:47

unsigned getMAccOpcode(unsigned MulOpcode) const

Definition RISCVSelectionDAGInfo.h:51

~RISCVSelectionDAGInfo() override

bool hasPassthruOp(unsigned Opcode) const

Definition RISCVSelectionDAGInfo.h:43

Wrapper class for IR location info (IR ordering and DebugLoc) to be passed into SDNode creation funct...

Represents one node in the SelectionDAG.

Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation.

const SDNodeInfo & GenNodeInfo

SelectionDAGGenTargetInfo(const SDNodeInfo &GenNodeInfo)

This is used to represent a portion of an LLVM function in a low-level Data Dependence DAG representa...

#define llvm_unreachable(msg)

Marks that the current location is not supposed to be reachable.

@ HasPassthruOpMask

Definition RISCVSelectionDAGInfo.h:23

@ HasMaskOpMask

Definition RISCVSelectionDAGInfo.h:24

This is an optimization pass for GlobalISel generic memory operations.

This struct is a compact representation of a valid (non-zero power of two) alignment.

This class contains a discriminated union of information about pointers in memory operands,...