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: