add support for incorporating and purging functions to the value enumerator

llvm-svn: 36465
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
index 53431dd..1523395 100644
--- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -478,10 +478,12 @@
   }
 }
 
-
+/// WriteFunction - Emit a function body to the module stream.
 static void WriteFunction(const Function &F, ValueEnumerator &VE, 
                           BitstreamWriter &Stream) {
+  VE.incorporateFunction(F);
   
+  VE.purgeFunction();
 }
 
 /// WriteTypeSymbolTable - Emit a block for the specified type symtab.