diff options
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
-rw-r--r-- | llvm/lib/IR/Module.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/IR/Module.cpp b/llvm/lib/IR/Module.cpp index ac578d6dba0..0685c1a206d 100644 --- a/llvm/lib/IR/Module.cpp +++ b/llvm/lib/IR/Module.cpp @@ -394,8 +394,10 @@ std::error_code Module::materialize(GlobalValue *GV) { std::error_code Module::materializeAll() { if (!Materializer) return std::error_code(); - std::unique_ptr<GVMaterializer> M = std::move(Materializer); - return M->materializeModule(); + if (std::error_code EC = Materializer->materializeModule()) + return EC; + Materializer.reset(); + return std::error_code(); } std::error_code Module::materializeMetadata() { |