LLVM  8.0.1
Classes | Namespaces | Enumerations | Functions
TypeMetadataUtils.h File Reference
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/CallSite.h"
Include dependency graph for TypeMetadataUtils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::DevirtCallSite
 A call site that could be devirtualized. More...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Enumerations

enum  llvm::CfiFunctionLinkage { llvm::CFL_Definition = 0, llvm::CFL_Declaration = 1, llvm::CFL_WeakDeclaration = 2 }
 The type of CFI jumptable needed for a function. More...
 

Functions

void llvm::findDevirtualizableCallsForTypeTest (SmallVectorImpl< DevirtCallSite > &DevirtCalls, SmallVectorImpl< CallInst *> &Assumes, const CallInst *CI, DominatorTree &DT)
 Given a call to the intrinsic @llvm.type.test, find all devirtualizable call sites based on the call and return them in DevirtCalls. More...
 
void llvm::findDevirtualizableCallsForTypeCheckedLoad (SmallVectorImpl< DevirtCallSite > &DevirtCalls, SmallVectorImpl< Instruction *> &LoadedPtrs, SmallVectorImpl< Instruction *> &Preds, bool &HasNonCallUses, const CallInst *CI, DominatorTree &DT)
 Given a call to the intrinsic @llvm.type.checked.load, find all devirtualizable call sites based on the call and return them in DevirtCalls. More...