LLVM  4.0.0
Classes | Namespaces | 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
 Compute iterated dominance frontiers using a linear time algorithm.
 

Functions

void llvm::findDevirtualizableCallsForTypeTest (SmallVectorImpl< DevirtCallSite > &DevirtCalls, SmallVectorImpl< CallInst * > &Assumes, CallInst *CI)
 Given a call to the intrinsic .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, CallInst *CI)
 Given a call to the intrinsic .type.checked.load, find all devirtualizable call sites based on the call and return them in DevirtCalls. More...