LLVM: include/llvm/CodeGen/TargetOpcodes.h Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_CODEGEN_TARGETOPCODES_H

14#define LLVM_CODEGEN_TARGETOPCODES_H

15

16namespace llvm {

17

18

19

21enum {

22#define HANDLE_TARGET_OPCODE(OPC) OPC,

23#define HANDLE_TARGET_OPCODE_MARKER(IDENT, OPC) IDENT = OPC,

24#include "llvm/Support/TargetOpcodes.def"

25};

26}

27

28

29

31 return Opcode >= TargetOpcode::PRE_ISEL_GENERIC_OPCODE_START &&

32 Opcode <= TargetOpcode::PRE_ISEL_GENERIC_OPCODE_END;

33}

34

35

37 return Opcode > TargetOpcode::PRE_ISEL_GENERIC_OPCODE_END;

38}

39

40

41

43 return Opcode >= TargetOpcode::PRE_ISEL_GENERIC_OPTIMIZATION_HINT_START &&

44 Opcode <= TargetOpcode::PRE_ISEL_GENERIC_OPTIMIZATION_HINT_END;

45}

46

47}

48

49#endif

Invariant opcodes: All instruction sets have these as their low opcodes.

Definition TargetOpcodes.h:20

This is an optimization pass for GlobalISel generic memory operations.

bool isPreISelGenericOpcode(unsigned Opcode)

Check whether the given Opcode is a generic opcode that is not supposed to appear after ISel.

Definition TargetOpcodes.h:30

bool isPreISelGenericOptimizationHint(unsigned Opcode)

Definition TargetOpcodes.h:42

bool isTargetSpecificOpcode(unsigned Opcode)

Check whether the given Opcode is a target-specific opcode.

Definition TargetOpcodes.h:36