LLVM  10.0.0svn
Classes | Namespaces | Functions
WholeProgramDevirt.h File Reference
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Transforms/IPO/FunctionImport.h"
#include <cassert>
#include <cstdint>
#include <set>
#include <utility>
#include <vector>
Include dependency graph for WholeProgramDevirt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::ArrayRef< T >
 ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory), i.e. More...
 
class  llvm::MutableArrayRef< T >
 MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memory), i.e. More...
 
struct  llvm::wholeprogramdevirt::AccumBitVector
 
struct  llvm::wholeprogramdevirt::VTableBits
 
struct  llvm::wholeprogramdevirt::TypeMemberInfo
 
struct  llvm::wholeprogramdevirt::VirtualCallTarget
 
struct  llvm::WholeProgramDevirtPass
 
struct  llvm::VTableSlotSummary
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::wholeprogramdevirt
 

Functions

uint64_t llvm::wholeprogramdevirt::findLowestOffset (ArrayRef< VirtualCallTarget > Targets, bool IsAfter, uint64_t Size)
 
void llvm::wholeprogramdevirt::setBeforeReturnValues (MutableArrayRef< VirtualCallTarget > Targets, uint64_t AllocBefore, unsigned BitWidth, int64_t &OffsetByte, uint64_t &OffsetBit)
 
void llvm::wholeprogramdevirt::setAfterReturnValues (MutableArrayRef< VirtualCallTarget > Targets, uint64_t AllocAfter, unsigned BitWidth, int64_t &OffsetByte, uint64_t &OffsetBit)
 
void llvm::runWholeProgramDevirtOnIndex (ModuleSummaryIndex &Summary, std::set< GlobalValue::GUID > &ExportedGUIDs, std::map< ValueInfo, std::vector< VTableSlotSummary >> &LocalWPDTargetsMap)
 Perform index-based whole program devirtualization on the Summary index. More...
 
void llvm::updateIndexWPDForExports (ModuleSummaryIndex &Summary, function_ref< bool(StringRef, GlobalValue::GUID)> isExported, std::map< ValueInfo, std::vector< VTableSlotSummary >> &LocalWPDTargetsMap)
 Call after cross-module importing to update the recorded single impl devirt target names for any locals that were exported. More...