LLVM: llvm::TypeTestResolution Struct Reference (original) (raw)
#include "[llvm/IR/ModuleSummaryIndex.h](ModuleSummaryIndex%5F8h%5Fsource.html)"
Public Attributes | |
---|---|
enum llvm::TypeTestResolution::Kind | TheKind = Unknown |
unsigned | SizeM1BitWidth = 0 |
Range of size-1 expressed as a bit width. | |
uint64_t | AlignLog2 = 0 |
uint64_t | SizeM1 = 0 |
uint8_t | BitMask = 0 |
uint64_t | InlineBits = 0 |
Definition at line 1216 of file ModuleSummaryIndex.h.
◆ Kind
Specifies which kind of type check we should emit for this byte array.
See http://clang.llvm.org/docs/ControlFlowIntegrityDesign.html for full details on each kind of check; the enumerators are described with reference to that document.
Enumerator | |
---|---|
Unsat | Unsatisfiable type (i.e. no global has this type metadata) |
ByteArray | Test a byte array (first example) |
Inline | Inlined bit vector ("Short Inline Bit Vectors") |
Single | Single element (last example in "Short Inline Bit Vectors") |
AllOnes | All-ones bit vector ("Eliminating Bit Vector Checks for All-Ones Bit Vectors") |
Unknown | Unknown (analysis not performed, don't lower) |
Definition at line 1221 of file ModuleSummaryIndex.h.
◆ AlignLog2
uint64_t llvm::TypeTestResolution::AlignLog2 = 0
◆ BitMask
uint8_t llvm::TypeTestResolution::BitMask = 0
◆ InlineBits
uint64_t llvm::TypeTestResolution::InlineBits = 0
◆ SizeM1
uint64_t llvm::TypeTestResolution::SizeM1 = 0
◆ SizeM1BitWidth
unsigned llvm::TypeTestResolution::SizeM1BitWidth = 0
◆ TheKind
The documentation for this struct was generated from the following file:
- include/llvm/IR/ModuleSummaryIndex.h