|
LLVM 24.0.0git
|
Classes | |
| struct | BitSetBuilder |
| struct | BitSetInfo |
| struct | ByteArrayBuilder |
| This class is used to build a byte array containing overlapping bit sets. More... | |
| class | GlobalLayoutBuilder |
| This class implements a layout algorithm for globals referenced by bit sets that tries to keep members of small bit sets together. More... | |
Enumerations | |
| enum class | DropTestKind { Assume , All } |
| Specifies how to drop type tests. More... | |
Functions | |
| LLVM_ABI bool | isJumpTableCanonical (Function *F) |
| LLVM_ABI bool | hasTypeMetadata (const GlobalObject &GO) |
| Returns whether a global or its associated global has attached type metadata. | |
| LLVM_ABI SetVector< GlobalValue * > | findCfiFunctions (Module &M) |
Finds all functions and aliases in M that may need CFI jump table entries. | |
| LLVM_ABI SetVector< uint64_t > | findCfiTypeIds (const Module &M) |
Finds all 64-bit numeric type identifiers in M used for cross-DSO CFI. | |
| LLVM_ABI void | createCfiMetadata (Module &DestM, const Module &SrcM, ArrayRef< GlobalValue * > CfiFunctions, ProfileSummaryInfo &PSI, function_ref< const BlockFrequencyInfo &(Function &)> BFIGetter) |
Creates cfi.functions, aliases, and symvers named metadata in DestM for CFI functions in CfiFunctions from source module SrcM. | |
|
strong |
Specifies how to drop type tests.
| Enumerator | |
|---|---|
| Assume | |
| All | Drop only llvm.assumes using type test value. |
Definition at line 236 of file LowerTypeTests.h.
| void llvm::lowertypetests::createCfiMetadata | ( | Module & | DestM, |
| const Module & | SrcM, | ||
| ArrayRef< GlobalValue * > | CfiFunctions, | ||
| ProfileSummaryInfo & | PSI, | ||
| function_ref< const BlockFrequencyInfo &(Function &)> | BFIGetter ) |
Creates cfi.functions, aliases, and symvers named metadata in DestM for CFI functions in CfiFunctions from source module SrcM.
Definition at line 545 of file LowerTypeTests.cpp.
References createCfiAliasesMetadata(), createCfiFunctionsMetadata(), and createCfiSymversMetadata().
| SetVector< GlobalValue * > llvm::lowertypetests::findCfiFunctions | ( | Module & | M | ) |
Finds all functions and aliases in M that may need CFI jump table entries.
Definition at line 316 of file LowerTypeTests.cpp.
References A(), llvm::dyn_cast(), F, hasTypeMetadata(), and llvm::SetVector< T, Vector, Set, N >::insert().
Finds all 64-bit numeric type identifiers in M used for cross-DSO CFI.
Definition at line 344 of file LowerTypeTests.cpp.
References assert(), llvm::cast(), extractNumericTypeId(), I, llvm::SetVector< T, Vector, Set, N >::insert(), and llvm::isa().
| bool llvm::lowertypetests::hasTypeMetadata | ( | const GlobalObject & | GO | ) |
Returns whether a global or its associated global has attached type metadata.
Definition at line 307 of file LowerTypeTests.cpp.
References llvm::dyn_cast(), llvm::dyn_cast_or_null(), llvm::GlobalObject::getMetadata(), and llvm::GlobalObject::hasMetadata().
Referenced by findCfiFunctions().
Definition at line 297 of file LowerTypeTests.cpp.
References llvm::mdconst::extract_or_null(), and F.
Referenced by createCfiFunctionsMetadata().