Re-commit "Use StringRef in Support/Darf APIs (NFC)"
This reverts commit r283285 and re-commit r283275 with
a fix for format("%s", Str); where Str is a StringRef.
llvm-svn: 283298
diff --git a/llvm/lib/IR/AsmWriter.cpp b/llvm/lib/IR/AsmWriter.cpp
index fa67425..ac7c915 100644
--- a/llvm/lib/IR/AsmWriter.cpp
+++ b/llvm/lib/IR/AsmWriter.cpp
@@ -1418,7 +1418,8 @@
void MDFieldPrinter::printTag(const DINode *N) {
Out << FS << "tag: ";
- if (const char *Tag = dwarf::TagString(N->getTag()))
+ auto Tag = dwarf::TagString(N->getTag());
+ if (!Tag.empty())
Out << Tag;
else
Out << N->getTag();
@@ -1426,7 +1427,8 @@
void MDFieldPrinter::printMacinfoType(const DIMacroNode *N) {
Out << FS << "type: ";
- if (const char *Type = dwarf::MacinfoString(N->getMacinfoType()))
+ auto Type = dwarf::MacinfoString(N->getMacinfoType());
+ if (!Type.empty())
Out << Type;
else
Out << N->getMacinfoType();
@@ -1509,7 +1511,8 @@
return;
Out << FS << Name << ": ";
- if (const char *S = toString(Value))
+ auto S = toString(Value);
+ if (!S.empty())
Out << S;
else
Out << Value;
@@ -1843,8 +1846,8 @@
FieldSeparator FS;
if (N->isValid()) {
for (auto I = N->expr_op_begin(), E = N->expr_op_end(); I != E; ++I) {
- const char *OpStr = dwarf::OperationEncodingString(I->getOp());
- assert(OpStr && "Expected valid opcode");
+ auto OpStr = dwarf::OperationEncodingString(I->getOp());
+ assert(!OpStr.empty() && "Expected valid opcode");
Out << FS << OpStr;
for (unsigned A = 0, AE = I->getNumArgs(); A != AE; ++A)