Make better use of getStringOperand() for MetadataExtractor.

This change also cleans up some of the code from a prior rebase.
It also captures two additional broken metadata cases (from corrupt
object slot and/or pragma metadata).

Change-Id: I61e161d2b0e211349683e36160d564493d802a12
diff --git a/lib/Core/Compiler.cpp b/lib/Core/Compiler.cpp
index 0d75ded..6a513ff 100644
--- a/lib/Core/Compiler.cpp
+++ b/lib/Core/Compiler.cpp
@@ -151,7 +151,6 @@
   llvm::MCContext *mc_context = nullptr;
 
   passes.add(createTargetTransformInfoWrapperPass(mTarget->getTargetIRAnalysis()));
-  //mTarget->addAnalysisPasses(passes);
 
   // Add our custom passes.
   if (!addCustomPasses(pScript, passes)) {
diff --git a/lib/Renderscript/RSEmbedInfo.cpp b/lib/Renderscript/RSEmbedInfo.cpp
index 731e778..65f7ed7 100644
--- a/lib/Renderscript/RSEmbedInfo.cpp
+++ b/lib/Renderscript/RSEmbedInfo.cpp
@@ -123,7 +123,7 @@
     }
     s << "isThreadable: " << ((isThreadable) ? "yes" : "no") << "\n";
 
-    if (buildChecksum != nullptr) {
+    if (buildChecksum != nullptr && buildChecksum[0]) {
       s << "buildChecksum: " << buildChecksum << "\n";
     }
 
diff --git a/lib/Renderscript/RSForEachExpand.cpp b/lib/Renderscript/RSForEachExpand.cpp
index 9e9b48c..fc05426 100644
--- a/lib/Renderscript/RSForEachExpand.cpp
+++ b/lib/Renderscript/RSForEachExpand.cpp
@@ -358,8 +358,6 @@
     llvm::PHINode *IV;
 
     CondBB = Builder.GetInsertBlock();
-    // DT = &getAnalysis<DominatorTree>();
-    // LI = &getAnalysis<LoopInfo>();
     AfterBB = llvm::SplitBlock(CondBB, Builder.GetInsertPoint(), nullptr, nullptr);
     HeaderBB = llvm::BasicBlock::Create(*Context, "Loop", CondBB->getParent());
 
diff --git a/lib/Renderscript/RSScriptGroupFusion.cpp b/lib/Renderscript/RSScriptGroupFusion.cpp
index 7ee79bf..e16445c 100644
--- a/lib/Renderscript/RSScriptGroupFusion.cpp
+++ b/lib/Renderscript/RSScriptGroupFusion.cpp
@@ -57,7 +57,7 @@
   metadata.extract();
 
   const char* functionName = metadata.getExportForEachNameList()[slot];
-  if (functionName == nullptr) {
+  if (functionName == nullptr || !functionName[0]) {
     return nullptr;
   }
 
diff --git a/lib/Support/Initialization.cpp b/lib/Support/Initialization.cpp
index 7e36e47..16447f6 100644
--- a/lib/Support/Initialization.cpp
+++ b/lib/Support/Initialization.cpp
@@ -51,7 +51,7 @@
   llvm::InitializeAllTargets();
   llvm::InitializeAllTargetMCs();
   llvm::InitializeAllAsmPrinters();
-  
+
   llvm::PassRegistry &Registry = *llvm::PassRegistry::getPassRegistry();
   llvm::initializeCore(Registry);
   llvm::initializeScalarOpts(Registry);