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.