/// Sets the GVMaterializer to GVM. This module must not yet have a
/// Materializer. To reset the materializer for a module that already has one,
- /// call MaterializeAllPermanently first. Destroying this module will destroy
+ /// call materializeAll first. Destroying this module will destroy
/// its materializer without materializing any more GlobalValues. Without
/// destroying the Module, there is no way to detach or destroy a materializer
/// without materializing all the GVs it controls, to avoid leaving orphan
/// problem. If successful, this returns false.
std::error_code materialize(GlobalValue *GV);
- /// Make sure all GlobalValues in this Module are fully read.
- std::error_code materializeAll();
-
/// Make sure all GlobalValues in this Module are fully read and clear the
/// Materializer. If the module is corrupt, this DOES NOT clear the old
/// Materializer.
- std::error_code materializeAllPermanently();
+ std::error_code materializeAll();
std::error_code materializeMetadata();
if (MaterializeAll) {
// Read in the entire module, and destroy the BitcodeReader.
- if (std::error_code EC = M->materializeAllPermanently())
+ if (std::error_code EC = M->materializeAll())
return cleanupOnError(EC);
} else {
// Resolve forward references from blockaddresses.
ExecutionEngine *Interpreter::create(std::unique_ptr<Module> M,
std::string *ErrStr) {
// Tell this Module to materialize everything and release the GVMaterializer.
- if (std::error_code EC = M->materializeAllPermanently()) {
+ if (std::error_code EC = M->materializeAll()) {
if (ErrStr)
*ErrStr = EC.message();
// We got an error, just return 0
//
void Module::setMaterializer(GVMaterializer *GVM) {
assert(!Materializer &&
- "Module already has a GVMaterializer. Call MaterializeAllPermanently"
+ "Module already has a GVMaterializer. Call materializeAll"
" to clear it out before setting another one.");
Materializer.reset(GVM);
}
std::error_code Module::materializeAll() {
if (!Materializer)
return std::error_code();
- return Materializer->materializeModule(this);
-}
-
-std::error_code Module::materializeAllPermanently() {
- if (std::error_code EC = materializeAll())
+ if (std::error_code EC = Materializer->materializeModule(this))
return EC;
-
Materializer.reset();
return std::error_code();
}
// If not jitting lazily, load the whole bitcode file eagerly too.
if (NoLazyCompilation) {
- if (std::error_code EC = Mod->materializeAllPermanently()) {
+ if (std::error_code EC = Mod->materializeAll()) {
errs() << argv[0] << ": bitcode didn't read correctly.\n";
errs() << "Reason: " << EC.message() << "\n";
exit(1);
ErrorOr<std::unique_ptr<Module>> MOrErr =
getStreamedBitcodeModule(DisplayFilename, std::move(Streamer), Context);
M = std::move(*MOrErr);
- M->materializeAllPermanently();
+ M->materializeAll();
} else {
errs() << argv[0] << ": " << ErrorMessage << '\n';
return 1;