14#ifndef LLVM_SUPPORT_CODEGEN_H
15#define LLVM_SUPPORT_CODEGEN_H
99 if (Name ==
"x86_fp80")
103 if (Name ==
"ppc_fp128")
160 inline std::optional<CodeGenOptLevel>
getLevel(
int OL) {
161 if (OL < 0 || OL > 3)
171 return getLevel(
static_cast<int>(
C -
'0'));
static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")
Represent a constant reference to a string, i.e.
This class is the base class for all object file types.
Define some predicates that are used for node matching.
std::optional< CodeGenOptLevel > getLevel(int OL)
Get the Level identified by the integer OL.
std::optional< CodeGenOptLevel > parseLevel(char C)
Parse C as a single digit integer and get matching CodeGenLevel.
std::optional< ABIType > parseABIType(StringRef S)
Parse the string spelling used by the "float-abi" IR module flag into an ABIType.
StringRef getABITypeName(ABIType ABI)
Returns the string spelling used by the "float-abi" IR module flag for a Soft or Hard ABIType.
This is an optimization pass for GlobalISel generic memory operations.
std::optional< LongDoubleFormat > parseLongDoubleFormat(StringRef Name)
Parses an IR floating-point type name into a LongDoubleFormat, returning std::nullopt if it does not ...
@ Unknown
Not known to have no common set bits.
StringRef getLongDoubleFormatName(LongDoubleFormat Format)
Returns the IR floating-point type name for a LongDoubleFormat.
LongDoubleFormat
The floating-point format used for the target's "long double" type.
@ SjLj
setjmp/longjmp based exceptions
@ ZOS
z/OS MVS Exception Handling.
@ AIX
AIX Exception Handling.
@ DwarfCFI
DWARF-like instruction based exceptions.
@ Wasm
WebAssembly Exception Handling.
@ Async
"Asynchronous" unwind tables (instr precise)
@ Sync
"Synchronous" unwind tables
CodeGenFileType
These enums are meant to be passed into addPassesToEmitFile to indicate what type of file to emit,...
CodeGenOptLevel
Code generation optimization level.
ControlFlowGuardMechanism
@ Enabled
Convert any .debug_str_offsets tables to DWARF64 if needed.
@ Disabled
Don't do any conversion of .debug_str_offsets tables.
@ Default
The result value is uniform if and only if all operands are uniform.
@ Keep
No function return thunk.
@ Extern
Replace returns with jump to thunk, don't emit thunk.