Switch optimization level from metadata to bitcode wrapper.

Change-Id: Ieb547d38f2ad1c84af30717da9172d0ac928e52d
diff --git a/lib/ExecutionEngine/Compiler.cpp b/lib/ExecutionEngine/Compiler.cpp
index b35b191..8f7a292 100644
--- a/lib/ExecutionEngine/Compiler.cpp
+++ b/lib/ExecutionEngine/Compiler.cpp
@@ -121,11 +121,6 @@
 // synced with slang_rs_metadata.h)
 const llvm::StringRef Compiler::ObjectSlotMetadataName = "#rs_object_slots";
 
-// Name of metadata node where RS optimization level resides (should be
-// synced with slang_rs_metadata.h)
-const llvm::StringRef OptimizationLevelMetadataName = "#optimization_level";
-
-
 
 //////////////////////////////////////////////////////////////////////////////
 // Compiler
@@ -292,16 +287,7 @@
   llvm::NamedMDNode const *ExportFuncMetadata;
   llvm::NamedMDNode const *ObjectSlotMetadata;
 
-  llvm::NamedMDNode const *OptimizationLevelMetadata =
-    mModule->getNamedMetadata(OptimizationLevelMetadataName);
-
-  // Default to maximum optimization in the absence of named metadata node
-  int OptimizationLevel = 3;
-  if (OptimizationLevelMetadata) {
-    llvm::ConstantInt* OL = llvm::dyn_cast<llvm::ConstantInt>(
-      OptimizationLevelMetadata->getOperand(0)->getOperand(0));
-    OptimizationLevel = OL->getZExtValue();
-  }
+  uint32_t OptimizationLevel = mpResult->getOptimizationLevel();
 
   if (OptimizationLevel == 0) {
     CodeGenOptLevel = llvm::CodeGenOpt::None;