Generalize MVT::ValueType and associated functions to be able to represent
[oota-llvm.git] / include / llvm / ModuleProvider.h
index a5f001ee8cccc0cc261663f4bae4b1838f390467..0a91cd1f01d7879d4930ded578f565822b334bae 100644 (file)
@@ -43,6 +43,13 @@ public:
   ///
   virtual bool materializeFunction(Function *F, std::string *ErrInfo = 0) = 0;
 
+  /// dematerializeFunction - If the given function is read in, and if the
+  /// module provider supports it, release the memory for the function, and set
+  /// it up to be materialized lazily.  If the provider doesn't support this
+  /// capability, this method is a noop.
+  ///
+  virtual void dematerializeFunction(Function *F) {}
+  
   /// materializeModule - make sure the entire Module has been completely read.
   /// On error, return null and fill in the error string if specified.
   ///