LLVM: include/llvm/Support/CodeGen.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

14#ifndef LLVM_SUPPORT_CODEGEN_H

15#define LLVM_SUPPORT_CODEGEN_H

16

17#include

18#include

19

20namespace llvm {

21

22

27

28

33

38

42

43

52

64

72

80

81

88

90

91

92

93 inline std::optional getLevel(int OL) {

94 if (OL < 0 || OL > 3)

95 return std::nullopt;

97 }

98

99

100

101 inline std::optional parseLevel(char C) {

102 if (C < '0')

103 return std::nullopt;

104 return getLevel(static_cast<int>(C - '0'));

105 }

106 }

107

108

109

110

116

117

125

126

131

133

135

137

139

141

143

145

147

149

151 };

152 }

153

160

166

175

176 }

177

178#endif

This class is the base class for all object file types.

Define some predicates that are used for node matching.

@ C

The default llvm calling convention, compatible with C.

std::optional< CodeGenOptLevel > getLevel(int OL)

Get the Level identified by the integer OL.

Definition CodeGen.h:93

std::optional< CodeGenOptLevel > parseLevel(char C)

Parse C as a single digit integer and get matching CodeGenLevel.

Definition CodeGen.h:101

Model

Definition CodeGen.h:31

@ Medium

Definition CodeGen.h:31

@ Large

Definition CodeGen.h:31

@ Tiny

Definition CodeGen.h:31

@ Small

Definition CodeGen.h:31

@ Kernel

Definition CodeGen.h:31

ABIType

Definition CodeGen.h:66

@ Hard

Definition CodeGen.h:69

@ Soft

Definition CodeGen.h:68

@ Default

Definition CodeGen.h:67

Level

Definition CodeGen.h:36

@ NotPIC

Definition CodeGen.h:36

@ BigPIC

Definition CodeGen.h:36

@ SmallPIC

Definition CodeGen.h:36

Level

Definition CodeGen.h:40

@ Large

Definition CodeGen.h:40

@ Default

Definition CodeGen.h:40

@ Small

Definition CodeGen.h:40

Model

Definition CodeGen.h:25

@ Static

Definition CodeGen.h:25

@ RWPI

Definition CodeGen.h:25

@ DynamicNoPIC

Definition CodeGen.h:25

@ ROPI

Definition CodeGen.h:25

@ ROPI_RWPI

Definition CodeGen.h:25

@ PIC_

Definition CodeGen.h:25

Model

Definition CodeGen.h:45

@ LocalDynamic

Definition CodeGen.h:47

@ InitialExec

Definition CodeGen.h:48

@ GeneralDynamic

Definition CodeGen.h:46

@ LocalExec

Definition CodeGen.h:49

const unsigned ONLY_GPR

Definition CodeGen.h:129

const unsigned ONLY_USED

Definition CodeGen.h:128

ZeroCallUsedRegsKind

Definition CodeGen.h:132

@ Used

Definition CodeGen.h:142

@ UsedGPRArg

Definition CodeGen.h:136

@ AllGPR

Definition CodeGen.h:146

@ AllGPRArg

Definition CodeGen.h:144

@ Skip

Definition CodeGen.h:134

@ UsedGPR

Definition CodeGen.h:138

@ AllArg

Definition CodeGen.h:148

@ All

Definition CodeGen.h:150

@ UsedArg

Definition CodeGen.h:140

const unsigned ONLY_ARG

Definition CodeGen.h:130

This is an optimization pass for GlobalISel generic memory operations.

FramePointerKind

Definition CodeGen.h:118

@ NonLeafNoReserve

Definition CodeGen.h:123

@ NonLeaf

Definition CodeGen.h:120

ExceptionHandling

Definition CodeGen.h:53

@ SjLj

setjmp/longjmp based exceptions

Definition CodeGen.h:56

@ ZOS

z/OS MVS Exception Handling.

Definition CodeGen.h:61

@ AIX

AIX Exception Handling.

Definition CodeGen.h:60

@ DwarfCFI

DWARF-like instruction based exceptions.

Definition CodeGen.h:55

@ Wasm

WebAssembly Exception Handling.

Definition CodeGen.h:59

UWTableKind

Definition CodeGen.h:154

@ Async

"Asynchronous" unwind tables (instr precise)

Definition CodeGen.h:157

@ Sync

"Synchronous" unwind tables

Definition CodeGen.h:156

CodeGenFileType

These enums are meant to be passed into addPassesToEmitFile to indicate what type of file to emit,...

Definition CodeGen.h:111

@ Null

Definition CodeGen.h:114

@ AssemblyFile

Definition CodeGen.h:112

CodeGenOptLevel

Code generation optimization level.

Definition CodeGen.h:82

@ Less

-O1

Definition CodeGen.h:84

@ Aggressive

-O3

Definition CodeGen.h:86

EABI

Definition CodeGen.h:73

@ EABI5

Definition CodeGen.h:77

@ GNU

Definition CodeGen.h:78

@ EABI4

Definition CodeGen.h:76

@ Disabled

Don't do any conversion of .debug_str_offsets tables.

@ Default

The result values are uniform if and only if all operands are uniform.

WinX64EHUnwindV2Mode

Definition CodeGen.h:167

@ BestEffort

Definition CodeGen.h:171

@ Required

Definition CodeGen.h:173

FunctionReturnThunksKind

Definition CodeGen.h:161

@ Keep

No function return thunk.

Definition CodeGen.h:162

@ Extern

Replace returns with jump to thunk, don't emit thunk.

Definition CodeGen.h:163