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