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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17#ifndef LLVM_LIB_TARGET_RISCV_MCA_RISCVCUSTOMBEHAVIOUR_H

18#define LLVM_LIB_TARGET_RISCV_MCA_RISCVCUSTOMBEHAVIOUR_H

19

25

26namespace llvm {

27namespace mca {

28

40

52

54public:

57

60

61

63

65

66

67

68 unsigned

71};

72

73}

74}

75

76#endif

This file defines the base class CustomBehaviour which can be inherited from by specific targets (ex.

This file defines the SmallVector class.

Instances of this class represent a single low-level machine instruction.

Interface to description of machine instruction set.

Generic base class for all target subtargets.

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

StringRef - Represent a constant reference to a string, i.e.

The instances of the Type class are immutable: once they are created, they are never changed.

InstrumentManager(const MCSubtargetInfo &STI, const MCInstrInfo &MCII, bool EnableInstruments=true)

const MCSubtargetInfo & STI

Instrument(StringRef Desc, StringRef Data)

bool supportsInstrumentType(StringRef Type) const override

unsigned getSchedClassID(const MCInstrInfo &MCII, const MCInst &MCI, const SmallVector< Instrument * > &IVec) const override

Using the Instrument, returns a SchedClassID to use instead of the SchedClassID that belongs to the M...

UniqueInstrument createInstrument(StringRef Desc, StringRef Data) override

Create a Instrument for RISC-V target.

SmallVector< UniqueInstrument > createInstruments(const MCInst &Inst) override

Return a list of unique pointers to Instruments, where each Instrument is allocated by this function.

bool shouldIgnoreInstruments() const override

Returns true if llvm-mca should ignore instruments.

Definition RISCVCustomBehaviour.h:58

RISCVInstrumentManager(const MCSubtargetInfo &STI, const MCInstrInfo &MCII)

Definition RISCVCustomBehaviour.h:55

static bool isDataValid(StringRef Data)

~RISCVLMULInstrument() override=default

static const StringRef DESC_NAME

Definition RISCVCustomBehaviour.h:31

RISCVLMULInstrument(StringRef Data)

Definition RISCVCustomBehaviour.h:34

static bool isDataValid(StringRef Data)

RISCVSEWInstrument(StringRef Data)

Definition RISCVCustomBehaviour.h:46

static const StringRef DESC_NAME

Definition RISCVCustomBehaviour.h:43

~RISCVSEWInstrument() override=default

std::unique_ptr< Instrument > UniqueInstrument

This is an optimization pass for GlobalISel generic memory operations.

FunctionAddr VTableAddr uintptr_t uintptr_t Data