[llvm] 2051736 - [llvm][Transforms] Avoid 'raw_string_ostream::str' (NFC)
Youngsuk Kim via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 30 07:29:26 PDT 2024
Author: Youngsuk Kim
Date: 2024-06-30T09:03:29-05:00
New Revision: 2051736f7bc3fb1a8daaeecc854f93604a590aba
URL: https://github.com/llvm/llvm-project/commit/2051736f7bc3fb1a8daaeecc854f93604a590aba
DIFF: https://github.com/llvm/llvm-project/commit/2051736f7bc3fb1a8daaeecc854f93604a590aba.diff
LOG: [llvm][Transforms] Avoid 'raw_string_ostream::str' (NFC)
Since `raw_string_ostream` doesn't own the string buffer, it is
desirable (in terms of memory safety) for users to directly reference
the string buffer rather than use `raw_string_ostream::str()`.
Work towards TODO comment to remove `raw_string_ostream::str()`.
Added:
Modified:
llvm/lib/Transforms/IPO/AttributorAttributes.cpp
llvm/lib/Transforms/IPO/IROutliner.cpp
llvm/lib/Transforms/IPO/OpenMPOpt.cpp
llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/IPO/AttributorAttributes.cpp b/llvm/lib/Transforms/IPO/AttributorAttributes.cpp
index 7997bd8686472..a47f97667668e 100644
--- a/llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+++ b/llvm/lib/Transforms/IPO/AttributorAttributes.cpp
@@ -8866,7 +8866,7 @@ struct AADenormalFPMathImpl : public AADenormalFPMath {
if (Known.ModeF32.isValid())
OS << " denormal-fp-math-f32=" << Known.ModeF32;
OS << ']';
- return OS.str();
+ return Str;
}
};
@@ -8979,7 +8979,7 @@ struct AAValueConstantRangeImpl : AAValueConstantRange {
OS << " / ";
getAssumed().print(OS);
OS << ">";
- return OS.str();
+ return Str;
}
/// Helper function to get a SCEV expr for the associated value at program
@@ -9656,7 +9656,7 @@ struct AAPotentialConstantValuesImpl : AAPotentialConstantValues {
std::string Str;
llvm::raw_string_ostream OS(Str);
OS << getState();
- return OS.str();
+ return Str;
}
/// See AbstractAttribute::updateImpl(...).
@@ -10778,7 +10778,7 @@ struct AAPotentialValuesImpl : AAPotentialValues {
std::string Str;
llvm::raw_string_ostream OS(Str);
OS << getState();
- return OS.str();
+ return Str;
}
template <typename AAType>
diff --git a/llvm/lib/Transforms/IPO/IROutliner.cpp b/llvm/lib/Transforms/IPO/IROutliner.cpp
index 29f9264f2fc24..96c803c0186ef 100644
--- a/llvm/lib/Transforms/IPO/IROutliner.cpp
+++ b/llvm/lib/Transforms/IPO/IROutliner.cpp
@@ -678,7 +678,7 @@ Function *IROutliner::createFunction(Module &M, OutlinableGroup &Group,
Mg.getNameWithPrefix(MangledNameStream, F, false);
DISubprogram *OutlinedSP = DB.createFunction(
- Unit /* Context */, F->getName(), MangledNameStream.str(),
+ Unit /* Context */, F->getName(), Dummy,
Unit /* File */,
0 /* Line 0 is reserved for compiler-generated code. */,
DB.createSubroutineType(
diff --git a/llvm/lib/Transforms/IPO/OpenMPOpt.cpp b/llvm/lib/Transforms/IPO/OpenMPOpt.cpp
index 7271dadb3d4f4..9e658e91a71a4 100644
--- a/llvm/lib/Transforms/IPO/OpenMPOpt.cpp
+++ b/llvm/lib/Transforms/IPO/OpenMPOpt.cpp
@@ -1667,21 +1667,21 @@ struct OpenMPOpt {
BP->print(Printer);
Printer << Separator;
}
- LLVM_DEBUG(dbgs() << "\t\toffload_baseptrs: " << Printer.str() << "\n");
+ LLVM_DEBUG(dbgs() << "\t\toffload_baseptrs: " << ValuesStr << "\n");
ValuesStr.clear();
for (auto *P : OAs[1].StoredValues) {
P->print(Printer);
Printer << Separator;
}
- LLVM_DEBUG(dbgs() << "\t\toffload_ptrs: " << Printer.str() << "\n");
+ LLVM_DEBUG(dbgs() << "\t\toffload_ptrs: " << ValuesStr << "\n");
ValuesStr.clear();
for (auto *S : OAs[2].StoredValues) {
S->print(Printer);
Printer << Separator;
}
- LLVM_DEBUG(dbgs() << "\t\toffload_sizes: " << Printer.str() << "\n");
+ LLVM_DEBUG(dbgs() << "\t\toffload_sizes: " << ValuesStr << "\n");
}
/// Returns the instruction where the "wait" counterpart \p RuntimeCall can be
diff --git a/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp b/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
index 9de0432695b50..19bc841b10529 100644
--- a/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
+++ b/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
@@ -1616,7 +1616,7 @@ std::string DevirtModule::getGlobalName(VTableSlot Slot,
for (uint64_t Arg : Args)
OS << '_' << Arg;
OS << '_' << Name;
- return OS.str();
+ return FullName;
}
bool DevirtModule::shouldExportConstantsAsAbsoluteSymbols() {
diff --git a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
index 0908a60cb259f..20e8e37af2e27 100644
--- a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -5080,7 +5080,7 @@ bool InstCombinerImpl::run() {
#ifndef NDEBUG
std::string OrigI;
#endif
- LLVM_DEBUG(raw_string_ostream SS(OrigI); I->print(SS); OrigI = SS.str(););
+ LLVM_DEBUG(raw_string_ostream SS(OrigI); I->print(SS););
LLVM_DEBUG(dbgs() << "IC: Visiting: " << OrigI << '\n');
if (Instruction *Result = visit(*I)) {
diff --git a/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp b/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
index d10b58b17f42f..35b1bbf21be97 100644
--- a/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
+++ b/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
@@ -2264,7 +2264,7 @@ static std::string getSimpleNodeName(const BasicBlock *Node) {
std::string SimpleNodeName;
raw_string_ostream OS(SimpleNodeName);
Node->printAsOperand(OS, false);
- return OS.str();
+ return SimpleNodeName;
}
void llvm::setProfMetadata(Module *M, Instruction *TI,
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index e233de89a33f1..c4876bb92a1ce 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -16211,7 +16211,7 @@ bool SLPVectorizerPass::tryToVectorizeList(ArrayRef<Value *> VL, BoUpSLP &R,
Ty->print(rso);
return OptimizationRemarkMissed(SV_NAME, "UnsupportedType", I0)
<< "Cannot SLP vectorize list: type "
- << rso.str() + " is unsupported by vectorizer";
+ << TypeStr + " is unsupported by vectorizer";
});
return false;
}
More information about the llvm-commits
mailing list