[llvm] r199269 - Use error_code in Module::materializeAll.

Rafael Espindola rafael.espindola at gmail.com
Tue Jan 14 15:02:01 PST 2014


Author: rafael
Date: Tue Jan 14 17:02:01 2014
New Revision: 199269

URL: http://llvm.org/viewvc/llvm-project?rev=199269&view=rev
Log:
Use error_code in Module::materializeAll.

Modified:
    llvm/trunk/include/llvm/IR/Module.h
    llvm/trunk/lib/IR/Module.cpp

Modified: llvm/trunk/include/llvm/IR/Module.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Module.h?rev=199269&r1=199268&r2=199269&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/Module.h (original)
+++ llvm/trunk/include/llvm/IR/Module.h Tue Jan 14 17:02:01 2014
@@ -22,6 +22,7 @@
 #include "llvm/IR/Metadata.h"
 #include "llvm/Support/CBindingWrapping.h"
 #include "llvm/Support/DataTypes.h"
+#include "llvm/Support/system_error.h"
 
 namespace llvm {
 
@@ -450,11 +451,8 @@ public:
   /// materialized lazily.  If !isDematerializable(), this method is a noop.
   void Dematerialize(GlobalValue *GV);
 
-  /// MaterializeAll - Make sure all GlobalValues in this Module are fully read.
-  /// If the module is corrupt, this returns true and fills in the optional
-  /// string with information about the problem.  If successful, this returns
-  /// false.
-  bool MaterializeAll(std::string *ErrInfo = 0);
+  /// Make sure all GlobalValues in this Module are fully read.
+  error_code materializeAll();
 
   /// MaterializeAllPermanently - Make sure all GlobalValues in this Module are
   /// fully read and clear the Materializer.  If the module is corrupt, this

Modified: llvm/trunk/lib/IR/Module.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Module.cpp?rev=199269&r1=199268&r2=199269&view=diff
==============================================================================
--- llvm/trunk/lib/IR/Module.cpp (original)
+++ llvm/trunk/lib/IR/Module.cpp Tue Jan 14 17:02:01 2014
@@ -377,20 +377,18 @@ void Module::Dematerialize(GlobalValue *
     return Materializer->Dematerialize(GV);
 }
 
-bool Module::MaterializeAll(std::string *ErrInfo) {
+error_code Module::materializeAll() {
   if (!Materializer)
-    return false;
-  error_code EC = Materializer->MaterializeModule(this);
-  if (!EC)
-    return false;
-  if (ErrInfo)
-    *ErrInfo = EC.message();
-  return true;
+    return error_code::success();
+  return Materializer->MaterializeModule(this);
 }
 
 bool Module::MaterializeAllPermanently(std::string *ErrInfo) {
-  if (MaterializeAll(ErrInfo))
+  if (error_code EC = materializeAll()) {
+    if (ErrInfo)
+      *ErrInfo = EC.message();
     return true;
+  }
   Materializer.reset();
   return false;
 }





More information about the llvm-commits mailing list