LLVM 24.0.0git
LowerTypeTests.h File Reference
#include <cstdint>
#include <cstring>
#include <limits>
#include <set>
#include <vector>
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/FunctionExtras.h"
#include "llvm/ADT/STLFunctionalExtras.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Support/Compiler.h"

Go to the source code of this file.

Classes

struct  llvm::lowertypetests::BitSetInfo
struct  llvm::lowertypetests::BitSetBuilder
class  llvm::lowertypetests::GlobalLayoutBuilder
 This class implements a layout algorithm for globals referenced by bit sets that tries to keep members of small bit sets together. More...
struct  llvm::lowertypetests::ByteArrayBuilder
 This class is used to build a byte array containing overlapping bit sets. More...
class  llvm::LowerTypeTestsPass
class  llvm::DropTypeTestsPass
class  llvm::SimplifyTypeTestsPass

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::lowertypetests

Enumerations

enum class  llvm::lowertypetests::DropTestKind { llvm::lowertypetests::Assume , llvm::lowertypetests::All }
 Specifies how to drop type tests. More...

Functions

LLVM_ABI bool llvm::lowertypetests::isJumpTableCanonical (Function *F)
LLVM_ABI bool llvm::lowertypetests::hasTypeMetadata (const GlobalObject &GO)
 Returns whether a global or its associated global has attached type metadata.
LLVM_ABI SetVector< GlobalValue * > llvm::lowertypetests::findCfiFunctions (Module &M)
 Finds all functions and aliases in M that may need CFI jump table entries.
LLVM_ABI SetVector< uint64_tllvm::lowertypetests::findCfiTypeIds (const Module &M)
 Finds all 64-bit numeric type identifiers in M used for cross-DSO CFI.
LLVM_ABI void llvm::lowertypetests::createCfiMetadata (Module &DestM, const Module &SrcM, ArrayRef< GlobalValue * > CfiFunctions)
 Creates cfi.functions, aliases, and symvers named metadata in DestM for CFI functions in CfiFunctions from source module SrcM.