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/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;
}