LLVM: include/llvm/Target/TargetOptions.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_TARGET_TARGETOPTIONS_H
15#define LLVM_TARGET_TARGETOPTIONS_H
16
22
23#include
24
25namespace llvm {
29
37
48
55
67
68
69
70
71
72
73
74
75
76
77
78
79
80
88
89
90
96
97
107
108
109
118
120public:
145
146
147
149
150
151
152
154
155
156
158
159
160
161
162
164
165
166
167
168
170
171
172
173
175
176
177
178
179
181
182
183
184
185
187
188
189
190
191
192
193
194
197
198
199
200
202
203
204
205
206
207
208
210
211
212
213
214
216
217
218
219
221
222
224
225
226
228
229
230
233
234
235
237
238
240
241
243
244
246
247
249
250
252
254
255
257
258
260
261
263
264
265
267
268
270
271
272
274
275
277
278
280
281
283
284
286
287
289
290
292
293
295
296
298
299
300
302
303
305
306
307
309
310
312
313
314
315
317
319
320
321
322
324
325
327
328
329
330
332
333
335
336
338
339
340
342
343
345
346
348
349
351
352
354
355
356
358
359
360
362
363
364
365
366
368
369
370
371
373
374
376
377
378
379
380
381
382
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
402
403
404
406
407
409
410
412
413
415
416private:
417
419
420
421
423
424public:
426
428
430
432
434
435
437
438
440
441
442
443
445};
446
447}
448
449#endif
Utilities for dealing with flags related to floating point properties and mode controls.
static cl::opt< RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode > Mode("regalloc-enable-advisor", cl::Hidden, cl::init(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Default), cl::desc("Enable regalloc advisor mode"), cl::values(clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Default, "default", "Default"), clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Release, "release", "precompiled"), clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Development, "development", "for training")))
This interface provides simple read-only access to a block of memory, and provides simple methods for...
void setFP32DenormalMode(DenormalMode Mode)
Definition TargetOptions.h:427
unsigned VerifyArgABICompliance
When set to true, call/return argument extensions of narrow integers are verified in the target backe...
Definition TargetOptions.h:367
unsigned EnableTLSDESC
EnableTLSDESC - This flag enables TLS Descriptors.
Definition TargetOptions.h:276
unsigned EmitStackSizeSection
Emit section containing metadata on function stack sizes.
Definition TargetOptions.h:282
unsigned XCOFFReadOnlyPointers
When set to true, const objects with relocatable address values are put into the RO data section.
Definition TargetOptions.h:361
unsigned EmitAddrsig
Emit address-significance table.
Definition TargetOptions.h:297
unsigned EnableAIXExtendedAltivecABI
EnableAIXExtendedAltivecABI - This flag returns true when -vec-extabi is specified.
Definition TargetOptions.h:186
unsigned UseInitArray
UseInitArray - Use .init_array instead of .ctors for static constructors.
Definition TargetOptions.h:236
DenormalMode getRawFPDenormalMode() const
Definition TargetOptions.h:429
LLVM_ABI DenormalMode getDenormalMode(const fltSemantics &FPType) const
LLVM_ABI bool HonorSignDependentRoundingFPMath() const
HonorSignDependentRoundingFPMath - Return true if the codegen must assume that the rounding mode of t...
unsigned StackSymbolOrdering
StackSymbolOrdering - When true, this will allow CodeGen to order the local stack symbols (for code s...
Definition TargetOptions.h:215
MCTargetOptions MCOptions
Machine level options.
Definition TargetOptions.h:439
FloatABI::ABIType FloatABIType
FloatABIType - This setting is set by -float-abi=xxx option is specfied on the command line.
Definition TargetOptions.h:383
unsigned BBAddrMap
Definition TargetOptions.h:301
std::pair< int, int > BinutilsVersion
If greater than 0, override the default value of MCAsmInfo::BinutilsVersion.
Definition TargetOptions.h:157
VectorLibrary VecLib
Vector math library to use.
Definition TargetOptions.h:414
void setFPDenormalMode(DenormalMode Mode)
Definition TargetOptions.h:425
unsigned ForceDwarfFrameSection
Emit DWARF debug frame section.
Definition TargetOptions.h:334
unsigned NoInfsFPMath
NoInfsFPMath - This flag is enabled when the -enable-no-infs-fp-math flag is specified on the command...
Definition TargetOptions.h:163
unsigned NoZerosInBSS
NoZerosInBSS - By default some codegens place zero-initialized data to .bss section.
Definition TargetOptions.h:201
unsigned EmitCallSiteInfo
The flag enables call site info production.
Definition TargetOptions.h:316
std::string ObjectFilenameForDebug
Stores the filename/path of the final .o/.obj file, to be written in the debug information.
Definition TargetOptions.h:444
unsigned MisExpect
When set to true, enable MisExpect Diagnostics By default, it is set to false.
Definition TargetOptions.h:357
unsigned EnableMachineOutliner
Enables the MachineOutliner pass.
Definition TargetOptions.h:285
unsigned SeparateNamedSections
Emit named sections with the same name into different sections.
Definition TargetOptions.h:259
SwiftAsyncFramePointerMode SwiftAsyncFramePointer
Control when and how the Swift async frame pointer bit should be set.
Definition TargetOptions.h:231
unsigned SupportsDebugEntryValues
Set if the target supports the debug entry values by default.
Definition TargetOptions.h:318
EABI EABIVersion
EABIVersion - This flag specifies the EABI version.
Definition TargetOptions.h:408
DenormalMode getRawFP32DenormalMode() const
Definition TargetOptions.h:431
unsigned Hotpatch
Emit the hotpatch flag in CodeView debug.
Definition TargetOptions.h:344
BasicBlockSection BBSections
Emit basic blocks into separate sections.
Definition TargetOptions.h:304
unsigned HonorSignDependentRoundingFPMathOption
HonorSignDependentRoundingFPMath - This returns true when the -enable-sign-dependent-rounding-fp-math...
Definition TargetOptions.h:195
unsigned ValueTrackingVariableLocations
Definition TargetOptions.h:331
GlobalISelAbortMode GlobalISelAbort
EnableGlobalISelAbort - Control abort behaviour when global instruction selection fails to lower/sele...
Definition TargetOptions.h:227
unsigned XCOFFTracebackTable
Emit XCOFF traceback table.
Definition TargetOptions.h:251
DebuggerKind DebuggerTuning
Which debugger to tune for.
Definition TargetOptions.h:411
unsigned IgnoreXCOFFVisibility
Do not emit visibility attribute for xcoff.
Definition TargetOptions.h:248
unsigned NoSignedZerosFPMath
NoSignedZerosFPMath - This flag is enabled when the -enable-no-signed-zeros-fp-math is specified on t...
Definition TargetOptions.h:180
unsigned EnableCFIFixup
Enable the CFIFixup pass.
Definition TargetOptions.h:353
unsigned DebugStrictDwarf
When set to true, don't use DWARF extensions in later DWARF versions.
Definition TargetOptions.h:341
unsigned SupportsDefaultOutlining
Set if the target supports default outlining behaviour.
Definition TargetOptions.h:294
unsigned PPCGenScalarMASSEntries
Enables scalar MASS conversions.
Definition TargetOptions.h:347
unsigned UniqueBasicBlockSectionNames
Use unique names for basic block sections.
Definition TargetOptions.h:256
LLVM_ABI bool FramePointerIsReserved(const MachineFunction &MF) const
FramePointerIsReserved - This returns true if the frame pointer must always either point to a new fra...
unsigned LoopAlignment
If greater than 0, override TargetLoweringBase::PrefLoopAlignment.
Definition TargetOptions.h:375
unsigned TLSSize
Bit size of immediate TLS offsets (0 == use the default).
Definition TargetOptions.h:269
unsigned EnableStaticDataPartitioning
Enables the StaticDataSplitter pass.
Definition TargetOptions.h:291
LLVM_ABI bool DisableFramePointerElim(const MachineFunction &MF) const
DisableFramePointerElim - This returns true if frame pointer elimination optimization should be disab...
unsigned UniqueSectionNames
Definition TargetOptions.h:253
unsigned NoNaNsFPMath
NoNaNsFPMath - This flag is enabled when the -enable-no-nans-fp-math flag is specified on the command...
Definition TargetOptions.h:169
unsigned EnableFastISel
EnableFastISel - This flag enables fast-path instruction selection which trades away generated code q...
Definition TargetOptions.h:220
std::shared_ptr< MemoryBuffer > BBSectionsFuncListBuf
Memory Buffer that contains information on sampled basic blocks and used to selectively generate basi...
Definition TargetOptions.h:308
unsigned FunctionSections
Emit functions into separate sections.
Definition TargetOptions.h:242
unsigned EnableMachineFunctionSplitter
Enables the MachineFunctionSplitter pass.
Definition TargetOptions.h:288
std::string StackUsageOutput
Name of the stack usage file (i.e., .su file) if user passes -fstack-usage.
Definition TargetOptions.h:372
unsigned EnableIPRA
This flag enables InterProcedural Register Allocation (IPRA).
Definition TargetOptions.h:279
unsigned NoTrapAfterNoreturn
Do not emit a trap instruction for 'unreachable' IR instructions behind noreturn calls,...
Definition TargetOptions.h:266
unsigned EnableGlobalISel
EnableGlobalISel - This flag enables global instruction selection.
Definition TargetOptions.h:223
unsigned DataSections
Emit data into separate sections.
Definition TargetOptions.h:245
unsigned GuaranteedTailCallOpt
GuaranteedTailCallOpt - This flag is enabled when -tailcallopt is specified on the commandline.
Definition TargetOptions.h:209
ThreadModel::Model ThreadModel
ThreadModel - This flag specifies the type of threading model to assume for things like atomics.
Definition TargetOptions.h:405
unsigned TrapUnreachable
Emit target-specific trap instruction for 'unreachable' IR instructions.
Definition TargetOptions.h:262
unsigned EmulatedTLS
EmulatedTLS - This flag enables emulated TLS model, using emutls function in the runtime library.
Definition TargetOptions.h:273
unsigned EnableDebugEntryValues
When set to true, the EnableDebugEntryValues option forces production of debug entry values even if t...
Definition TargetOptions.h:323
unsigned XRayFunctionIndex
Emit XRay Function Index section.
Definition TargetOptions.h:337
TargetOptions()
Definition TargetOptions.h:121
unsigned NoTrappingFPMath
NoTrappingFPMath - This flag is enabled when the -enable-no-trapping-fp-math is specified on the comm...
Definition TargetOptions.h:174
unsigned DisableIntegratedAS
Disable the integrated assembler.
Definition TargetOptions.h:239
LLVM_ABI bool ShouldEmitDebugEntryValues() const
NOTE: There are targets that still do not support the debug entry values production.
unsigned EmitCallGraphSection
Emit section containing call graph metadata.
Definition TargetOptions.h:311
ExceptionHandling ExceptionModel
What exception model to use.
Definition TargetOptions.h:436
unsigned JMCInstrument
Enable JustMyCode instrumentation.
Definition TargetOptions.h:350
FPOpFusion::FPOpFusionMode AllowFPOpFusion
AllowFPOpFusion - This flag is set by the -fp-contract=xxx option.
Definition TargetOptions.h:401
Definition TargetOptions.h:30
FPOpFusionMode
Definition TargetOptions.h:31
@ Strict
Definition TargetOptions.h:34
@ Fast
Definition TargetOptions.h:32
@ Standard
Definition TargetOptions.h:33
Definition TargetOptions.h:38
JumpTableType
Definition TargetOptions.h:39
@ Arity
Definition TargetOptions.h:41
@ Single
Definition TargetOptions.h:40
@ Simplified
Definition TargetOptions.h:42
@ Full
Definition TargetOptions.h:45
Definition TargetOptions.h:49
Model
Definition TargetOptions.h:50
@ Single
Definition TargetOptions.h:52
@ POSIX
Definition TargetOptions.h:51
This is an optimization pass for GlobalISel generic memory operations.
CodeObjectVersionKind
Enumeration value for AMDGPU code object version, which is the code object version times 100.
Definition TargetOptions.h:110
@ COV_None
Definition TargetOptions.h:111
@ COV_2
Definition TargetOptions.h:112
@ COV_6
Definition TargetOptions.h:116
@ COV_4
Definition TargetOptions.h:114
@ COV_5
Definition TargetOptions.h:115
@ COV_3
Definition TargetOptions.h:113
@ None
No exception support.
SwiftAsyncFramePointerMode
Indicates when and how the Swift async frame pointer bit should be set.
Definition TargetOptions.h:98
@ Always
Always set the bit.
Definition TargetOptions.h:103
@ Never
Never set the bit.
Definition TargetOptions.h:105
@ DeploymentBased
Determine whether to set the bit statically or dynamically based on the deployment target.
Definition TargetOptions.h:101
BasicBlockSection
Definition TargetOptions.h:56
@ List
Definition TargetOptions.h:59
@ None
Definition TargetOptions.h:65
@ Preset
Definition TargetOptions.h:62
VectorLibrary
List of known vector-functions libraries.
DebuggerKind
Identify a debugger for "tuning" the debug info.
Definition TargetOptions.h:81
@ SCE
Tune debug info for SCE targets (e.g. PS4).
Definition TargetOptions.h:85
@ DBX
Tune debug info for dbx.
Definition TargetOptions.h:86
@ Default
No specific tuning requested.
Definition TargetOptions.h:82
@ GDB
Tune debug info for gdb.
Definition TargetOptions.h:83
@ LLDB
Tune debug info for lldb.
Definition TargetOptions.h:84
@ Always
Always emit .debug_str_offsets talbes as DWARF64 for testing.
@ Default
The result values are uniform if and only if all operands are uniform.
GlobalISelAbortMode
Enable abort calls when global instruction selection fails to lower/select an instruction.
Definition TargetOptions.h:91
@ Enable
Definition TargetOptions.h:93
@ DisableWithDiag
Definition TargetOptions.h:94
Represent subnormal handling kind for floating point instruction inputs and outputs.