LLVM: include/llvm/Bitcode/LLVMBitCodes.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17#ifndef LLVM_BITCODE_LLVMBITCODES_H

18#define LLVM_BITCODE_LLVMBITCODES_H

19

20

21

22

24

25namespace llvm {

26namespace bitc {

27

29

31

32

35

38

39

40

41

43

47

49

51

54

56

58

60

62

64

66};

67

68

69

73};

74

75

76

77

78

79

80

82

83

90

91

93

94

95

97

98

99

101

102

104

107

109

110

112

114

115

117

118

120

121

123};

124

125

127

129

133

134

137

138

146

148

149

151

154

155

156

157

161

163

165

169

171

173

176

178

180};

181

184};

185

188};

189

190

195

198

199

203};

204

205

206

208

209

211

212

213

215

217

218

220

221

222

224

226

228

230

232

234

235

236

238

239

240

241

243

244

245

246

248

249

250

252

253

254

256

257

258

260

261

262

264

265

266

268

269

270

271

273

275

276

277

278

279

281

282

283

284

285

286

287

288

289

290

291

292

293

295

296

297

298

299

301

303

304

306

307

309

310

311

313

314

315

317

318

319

320

322

323

325

326

327

328

329

330

331

332

334

335

336

338};

339

356 METADATA_FILE = 16,

382

383

388};

389

390

391

411

417

423

424

427

428

429

433};

434

435

436

437

438

454

455

456

457

458

462

463

464

465

466

482

483

484

485

507

508

509

514

515

516

521

522

523

524

535

536

538

539

540

542

543

544

546

547

549

550

551

556};

557

558

559

561

562

572

573

580 CALL_FMF = 17

582

583

584

587

596

601

603

605

606

609

610

612

613

614

616

619

620

622

626

628

630

634

635

637

638

641 40,

643

645

650

651

658 52,

659

660

664

667

668

670

672 61,

674 62,

676 63,

677

679 64,

681};

682

687

689

792};

793

800};

801

804};

805

808};

809

810}

811}

812

813#endif

TypeCodes

TYPE blocks have codes for each type primitive they use.

@ TYPE_CODE_OPAQUE_POINTER

@ METADATA_TEMPLATE_VALUE

@ METADATA_LEXICAL_BLOCK_FILE

@ METADATA_SUBROUTINE_TYPE

@ METADATA_GLOBAL_DECL_ATTACHMENT

@ METADATA_IMPORTED_ENTITY

@ METADATA_GENERIC_SUBRANGE

@ METADATA_COMPOSITE_TYPE

@ METADATA_GLOBAL_VAR_EXPR

RMWOperations

These are values used in the bitcode files to encode AtomicRMW operations.

GlobalValueSummarySymtabCodes

@ FS_CONTEXT_RADIX_TREE_ARRAY

@ FS_COMBINED_GLOBALVAR_INIT_REFS

@ FS_TYPE_CHECKED_LOAD_VCALLS

@ FS_COMBINED_ORIGINAL_NAME

@ FS_PERMODULE_VTABLE_GLOBALVAR_INIT_REFS

@ FS_TYPE_TEST_ASSUME_CONST_VCALL

@ FS_PERMODULE_GLOBALVAR_INIT_REFS

@ FS_TYPE_TEST_ASSUME_VCALLS

@ FS_COMBINED_CALLSITE_INFO

@ FS_PERMODULE_CALLSITE_INFO

@ FS_PERMODULE_ALLOC_INFO

@ FS_TYPE_CHECKED_LOAD_CONST_VCALL

PossiblyNonNegInstOptionalFlags

Flags for serializing PossiblyNonNegInst's SubclassOptionalData contents.

IdentificationCodes

Identification block contains a string that describes the producer details, and an epoch that defines...

@ IDENTIFICATION_CODE_EPOCH

@ IDENTIFICATION_CODE_STRING

@ CST_CODE_CE_INBOUNDS_GEP

@ CST_CODE_INLINEASM_OLD3

@ CST_CODE_CE_GEP_WITH_INRANGE_INDEX_OLD

@ CST_CODE_DSO_LOCAL_EQUIVALENT

@ CST_CODE_INLINEASM_OLD2

@ CST_CODE_CE_GEP_WITH_INRANGE

GetElementPtrOptionalFlags

GetElementPtrOptionalFlags - Flags for serializing GEPOperator's SubclassOptionalData contents.

CallMarkersFlags

Markers and flags for call instruction.

@ VST_CODE_COMBINED_ENTRY

PossiblyExactOperatorOptionalFlags

PossiblyExactOperatorOptionalFlags - Flags for serializing PossiblyExactOperator's SubclassOptionalDa...

@ COMDAT_SELECTION_KIND_LARGEST

@ COMDAT_SELECTION_KIND_ANY

@ COMDAT_SELECTION_KIND_SAME_SIZE

@ COMDAT_SELECTION_KIND_EXACT_MATCH

@ COMDAT_SELECTION_KIND_NO_DUPLICATES

@ ATTR_KIND_STACK_PROTECT

@ ATTR_KIND_STACK_PROTECT_STRONG

@ ATTR_KIND_SANITIZE_MEMORY

@ ATTR_KIND_OPTIMIZE_FOR_SIZE

@ ATTR_KIND_INACCESSIBLEMEM_ONLY

@ ATTR_KIND_FNRETTHUNK_EXTERN

@ ATTR_KIND_NO_DIVERGENCE_SOURCE

@ ATTR_KIND_SANITIZE_ADDRESS

@ ATTR_KIND_NO_IMPLICIT_FLOAT

@ ATTR_KIND_DEAD_ON_UNWIND

@ ATTR_KIND_STACK_ALIGNMENT

@ ATTR_KIND_INACCESSIBLEMEM_OR_ARGMEMONLY

@ ATTR_KIND_STACK_PROTECT_REQ

@ ATTR_KIND_NULL_POINTER_IS_VALID

@ ATTR_KIND_SANITIZE_HWADDRESS

@ ATTR_KIND_RETURNS_TWICE

@ ATTR_KIND_SHADOWCALLSTACK

@ ATTR_KIND_OPT_FOR_FUZZING

@ ATTR_KIND_SANITIZE_NUMERICAL_STABILITY

@ ATTR_KIND_ALLOCATED_POINTER

@ ATTR_KIND_DISABLE_SANITIZER_INSTRUMENTATION

@ ATTR_KIND_CORO_ELIDE_SAFE

@ ATTR_KIND_NON_LAZY_BIND

@ ATTR_KIND_DEREFERENCEABLE

@ ATTR_KIND_OPTIMIZE_NONE

@ ATTR_KIND_HYBRID_PATCHABLE

@ ATTR_KIND_DEREFERENCEABLE_OR_NULL

@ ATTR_KIND_SANITIZE_REALTIME

@ ATTR_KIND_SPECULATIVE_LOAD_HARDENING

@ ATTR_KIND_ALWAYS_INLINE

@ ATTR_KIND_SANITIZE_TYPE

@ ATTR_KIND_PRESPLIT_COROUTINE

@ ATTR_KIND_NO_SANITIZE_COVERAGE

@ ATTR_KIND_SANITIZE_REALTIME_BLOCKING

@ ATTR_KIND_NO_SANITIZE_BOUNDS

@ ATTR_KIND_SANITIZE_MEMTAG

@ ATTR_KIND_CORO_ONLY_DESTROY_WHEN_COMPLETE

@ ATTR_KIND_SANITIZE_THREAD

@ ATTR_KIND_OPTIMIZE_FOR_DEBUGGING

OverflowingBinaryOperatorOptionalFlags

OverflowingBinaryOperatorOptionalFlags - Flags for serializing OverflowingBinaryOperator's SubclassOp...

TruncInstOptionalFlags

TruncInstOptionalFlags - Flags for serializing TruncInstOptionalFlags's SubclassOptionalData contents...

UnaryOpcodes

UnaryOpcodes - These are values used in the bitcode files to encode which unop a CST_CODE_CE_UNOP or ...

@ SYNC_SCOPE_NAMES_BLOCK_ID

@ PARAMATTR_GROUP_BLOCK_ID

@ IDENTIFICATION_BLOCK_ID

@ GLOBALVAL_SUMMARY_BLOCK_ID

@ FULL_LTO_GLOBALVAL_SUMMARY_BLOCK_ID

@ OPERAND_BUNDLE_TAGS_BLOCK_ID

MetadataOperandBundleValueMarker

Mark to distinguish metadata from value in an operator bundle.

CastOpcodes

CastOpcodes - These are values used in the bitcode files to encode which cast a CST_CODE_CE_CAST or a...

@ FIRST_APPLICATION_BLOCKID

ModuleCodes

MODULE blocks have a number of optional fields and subblocks.

@ MODULE_CODE_SOURCE_FILENAME

@ MODULE_CODE_SECTIONNAME

@ MODULE_CODE_METADATA_VALUES_UNUSED

@ FUNC_CODE_INST_ATOMICRMW_OLD

@ FUNC_CODE_INST_CATCHRET

@ FUNC_CODE_INST_LANDINGPAD

@ FUNC_CODE_INST_EXTRACTVAL

@ FUNC_CODE_INST_CATCHPAD

@ FUNC_CODE_INST_CATCHSWITCH

@ FUNC_CODE_INST_INBOUNDS_GEP_OLD

@ FUNC_CODE_INST_STOREATOMIC_OLD

@ FUNC_CODE_INST_CLEANUPRET

@ FUNC_CODE_INST_LANDINGPAD_OLD

@ FUNC_CODE_DEBUG_RECORD_VALUE

@ FUNC_CODE_INST_LOADATOMIC

@ FUNC_CODE_DEBUG_RECORD_ASSIGN

@ FUNC_CODE_INST_STOREATOMIC

@ FUNC_CODE_INST_ATOMICRMW

@ FUNC_CODE_DEBUG_LOC_AGAIN

@ FUNC_CODE_INST_EXTRACTELT

@ FUNC_CODE_INST_INDIRECTBR

@ FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE

@ FUNC_CODE_INST_INSERTVAL

@ FUNC_CODE_DECLAREBLOCKS

@ FUNC_CODE_DEBUG_RECORD_LABEL

@ FUNC_CODE_INST_INSERTELT

@ FUNC_CODE_BLOCKADDR_USERS

@ FUNC_CODE_INST_CLEANUPPAD

@ FUNC_CODE_INST_SHUFFLEVEC

@ FUNC_CODE_INST_STORE_OLD

@ FUNC_CODE_INST_UNREACHABLE

@ FUNC_CODE_INST_CMPXCHG_OLD

@ FUNC_CODE_DEBUG_RECORD_DECLARE

@ FUNC_CODE_OPERAND_BUNDLE

ICmpOptionalFlags

ICmpOptionalFlags - Flags for serializing ICmpOptionalFlags's SubclassOptionalData contents.

PossiblyDisjointInstOptionalFlags

PossiblyDisjointInstOptionalFlags - Flags for serializing PossiblyDisjointInst's SubclassOptionalData...

FastMathMap

FastMath Flags This is a fixed layout derived from the bitcode emitted by LLVM 5.0 intended to decoup...

AttributeCodes

PARAMATTR blocks have code for defining a parameter attribute set.

@ PARAMATTR_CODE_ENTRY_OLD

@ PARAMATTR_GRP_CODE_ENTRY

BinaryOpcodes

BinaryOpcodes - These are values used in the bitcode files to encode which binop a CST_CODE_CE_BINOP ...

AtomicOrderingCodes

Encoded AtomicOrdering values.

This is an optimization pass for GlobalISel generic memory operations.