10 #ifndef LLVM_LINKER_IRMOVER_H
11 #define LLVM_LINKER_IRMOVER_H
27 struct StructTypeKeyInfo {
38 static unsigned getHashValue(
const KeyTy &Key);
82 bool LinkModuleInlineAsm,
bool IsPerformingImport);
87 IdentifiedStructTypeSet IdentifiedStructTypes;
A Module instance is used to store all the information related to an LLVM module. ...
ArrayRef< Type * > ETypes
bool operator!=(const KeyTy &that) const
void addOpaque(StructType *Ty)
Implements a dense probed hash-table based set.
StructType * findNonOpaque(ArrayRef< Type * > ETypes, bool IsPacked)
void switchToNonOpaque(StructType *Ty)
Class to represent struct types.
static bool isEqual(const Function &Caller, const Function &Callee)
bool operator==(const KeyTy &that) const
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
bool hasType(StructType *Ty)
static GCRegistry::Add< CoreCLRGC > E("coreclr","CoreCLR-compatible GC")
Error move(std::unique_ptr< Module > Src, ArrayRef< GlobalValue * > ValuesToLink, std::function< void(GlobalValue &GV, ValueAdder Add)> AddLazyFor, bool LinkModuleInlineAsm, bool IsPerformingImport)
Move in the provide values in ValuesToLink from Src.
KeyTy(ArrayRef< Type * > E, bool P)
void addNonOpaque(StructType *Ty)
std::function< void(GlobalValue &)> ValueAdder
Lightweight error class with error context and mandatory checking.
print Print MemDeps of function