LLVM
8.0.1
|
#include "llvm/Linker/IRMover.h"
Classes | |
class | IdentifiedStructTypeSet |
Public Types | |
typedef std::function< void(GlobalValue &)> | ValueAdder |
Public Member Functions | |
IRMover (Module &M) | |
Error | move (std::unique_ptr< Module > Src, ArrayRef< GlobalValue *> ValuesToLink, std::function< void(GlobalValue &GV, ValueAdder Add)> AddLazyFor, bool IsPerformingImport) |
Move in the provide values in ValuesToLink from Src . More... | |
Module & | getModule () |
typedef std::function<void(GlobalValue &)> llvm::IRMover::ValueAdder |
IRMover::IRMover | ( | Module & | M | ) |
Definition at line 1466 of file IRMover.cpp.
References llvm::IRMover::IdentifiedStructTypeSet::addNonOpaque(), llvm::IRMover::IdentifiedStructTypeSet::addOpaque(), and llvm::TypeFinder::run().
|
inline |
Definition at line 79 of file IRMover.h.
Referenced by getMinVisibility().
Error IRMover::move | ( | std::unique_ptr< Module > | Src, |
ArrayRef< GlobalValue *> | ValuesToLink, | ||
std::function< void(GlobalValue &GV, ValueAdder Add)> | AddLazyFor, | ||
bool | IsPerformingImport | ||
) |
Move in the provide values in ValuesToLink
from Src
.
AddLazyFor
is a call back that the IRMover will call when a global value is referenced by one of the ValuesToLink (transitively) but was not present in ValuesToLink. The GlobalValue and a ValueAdder callback are passed as an argument, and the callback is expected to be called if the GlobalValue needs to be added to the ValuesToLink
and linked.IsPerformingImport
is true when this IR link is to perform ThinLTO function importing from Src. Definition at line 1483 of file IRMover.cpp.
References llvm::Module::dropTriviallyDeadConstantArrays(), and E.
Referenced by getMinVisibility().