function_ref<StringRef(StringRef)> MapClassName2PassName) {
auto ClassName = AnalysisT::name();
auto PassName = MapClassName2PassName(ClassName);
- OS << "require<" << PassName << ">";
+ OS << "require<" << PassName << '>';
}
};
function_ref<StringRef(StringRef)> MapClassName2PassName) {
OS << "cgscc(";
Pass->printPipeline(OS, MapClassName2PassName);
- OS << ")";
+ OS << ')';
}
static bool isRequired() { return true; }
OS << "function";
if (EagerlyInvalidate)
OS << "<eager-inv>";
- OS << "(";
+ OS << '(';
Pass->printPipeline(OS, MapClassName2PassName);
- OS << ")";
+ OS << ')';
}
static bool isRequired() { return true; }
function_ref<StringRef(StringRef)> MapClassName2PassName) {
OS << "devirt<" << MaxIterations << ">(";
Pass->printPipeline(OS, MapClassName2PassName);
- OS << ")";
+ OS << ')';
}
private:
auto *P = Passes[Idx].get();
P->printPipeline(OS, MapClassName2PassName);
if (Idx + 1 < Size)
- OS << ",";
+ OS << ',';
}
}
function_ref<StringRef(StringRef)> MapClassName2PassName) {
auto ClassName = AnalysisT::name();
auto PassName = MapClassName2PassName(ClassName);
- OS << "require<" << PassName << ">";
+ OS << "require<" << PassName << '>';
}
static bool isRequired() { return true; }
};
function_ref<StringRef(StringRef)> MapClassName2PassName) {
auto ClassName = AnalysisT::name();
auto PassName = MapClassName2PassName(ClassName);
- OS << "invalidate<" << PassName << ">";
+ OS << "invalidate<" << PassName << '>';
}
};
function_ref<StringRef(StringRef)> MapClassName2PassName) {
OS << "repeat<" << Count << ">(";
P.printPipeline(OS, MapClassName2PassName);
- OS << ")";
+ OS << ')';
}
private:
function_ref<StringRef(StringRef)> MapClassName2PassName) {
auto ClassName = AnalysisT::name();
auto PassName = MapClassName2PassName(ClassName);
- OS << "require<" << PassName << ">";
+ OS << "require<" << PassName << '>';
}
};
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<StackLifetimePrinterPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
switch (Type) {
case StackLifetime::LivenessType::May:
OS << "may";
OS << "must";
break;
}
- OS << ">";
+ OS << '>';
}
OS << "function";
if (EagerlyInvalidate)
OS << "<eager-inv>";
- OS << "(";
+ OS << '(';
Pass->printPipeline(OS, MapClassName2PassName);
- OS << ")";
+ OS << ')';
}
PreservedAnalyses ModuleToFunctionPassAdaptor::run(Module &M,
void CoroConditionalWrapper::printPipeline(
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
OS << "coro-cond";
- OS << "(";
+ OS << '(';
PM.printPipeline(OS, MapClassName2PassName);
- OS << ")";
+ OS << ')';
}
// on Params and Mode).
if (!MPM.isEmpty()) {
MPM.printPipeline(OS, MapClassName2PassName);
- OS << ",";
+ OS << ',';
}
OS << "cgscc(";
if (MaxDevirtIterations != 0)
OS << "devirt<" << MaxDevirtIterations << ">(";
PM.printPipeline(OS, MapClassName2PassName);
if (MaxDevirtIterations != 0)
- OS << ")";
- OS << ")";
+ OS << ')';
+ OS << ')';
}
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<LoopExtractorPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
if (NumLoops == 1)
OS << "single";
- OS << ">";
+ OS << '>';
}
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<AddressSanitizerPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
if (Options.CompileKernel)
OS << "kernel";
- OS << ">";
+ OS << '>';
}
AddressSanitizerPass::AddressSanitizerPass(
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<HWAddressSanitizerPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
if (Options.CompileKernel)
OS << "kernel;";
if (Options.Recover)
OS << "recover";
- OS << ">";
+ OS << '>';
}
void HWAddressSanitizer::createHwasanCtorComdat() {
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<MemorySanitizerPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
if (Options.Recover)
OS << "recover;";
if (Options.Kernel)
if (Options.EagerChecks)
OS << "eager-checks;";
OS << "track-origins=" << Options.TrackOrigins;
- OS << ">";
+ OS << '>';
}
/// Create a non-const global initialized with the given string.
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<EarlyCSEPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
if (UseMemorySSA)
OS << "memssa";
- OS << ">";
+ OS << '>';
}
namespace {
static_cast<PassInfoMixin<GVNPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
if (Options.AllowPRE != std::nullopt)
OS << (*Options.AllowPRE ? "" : "no-") << "pre;";
if (Options.AllowLoadPRE != std::nullopt)
<< "split-backedge-load-pre;";
if (Options.AllowMemDep != std::nullopt)
OS << (*Options.AllowMemDep ? "" : "no-") << "memdep";
- OS << ">";
+ OS << '>';
}
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
static_cast<PassInfoMixin<LICMPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
OS << (Opts.AllowSpeculation ? "" : "no-") << "allowspeculation";
- OS << ">";
+ OS << '>';
}
PreservedAnalyses LNICMPass::run(LoopNest &LN, LoopAnalysisManager &AM,
static_cast<PassInfoMixin<LNICMPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
OS << (Opts.AllowSpeculation ? "" : "no-") << "allowspeculation";
- OS << ">";
+ OS << '>';
}
char LegacyLICMPass::ID = 0;
P->printPipeline(OS, MapClassName2PassName);
}
if (Idx + 1 < Size)
- OS << ",";
+ OS << ',';
}
}
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
OS << (UseMemorySSA ? "loop-mssa(" : "loop(");
Pass->printPipeline(OS, MapClassName2PassName);
- OS << ")";
+ OS << ')';
}
PreservedAnalyses FunctionToLoopPassAdaptor::run(Function &F,
FunctionAnalysisManager &AM) {
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<LoopUnrollPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
if (UnrollOpts.AllowPartial != std::nullopt)
OS << (*UnrollOpts.AllowPartial ? "" : "no-") << "partial;";
if (UnrollOpts.AllowPeeling != std::nullopt)
OS << (*UnrollOpts.AllowProfileBasedPeeling ? "" : "no-")
<< "profile-peeling;";
if (UnrollOpts.FullUnrollMaxCount != std::nullopt)
- OS << "full-unroll-max=" << UnrollOpts.FullUnrollMaxCount << ";";
- OS << "O" << UnrollOpts.OptLevel;
- OS << ">";
+ OS << "full-unroll-max=" << UnrollOpts.FullUnrollMaxCount << ';';
+ OS << 'O' << UnrollOpts.OptLevel;
+ OS << '>';
}
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<LowerMatrixIntrinsicsPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
if (Minimal)
OS << "minimal";
- OS << ">";
+ OS << '>';
}
namespace {
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<MergedLoadStoreMotionPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
OS << (Options.SplitFooterBB ? "" : "no-") << "split-footer-bb";
- OS << ">";
+ OS << '>';
}
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<SeparateConstOffsetFromGEPPass> *>(this)
->printPipeline(OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
if (LowerGEP)
OS << "lower-gep";
- OS << ">";
+ OS << '>';
}
PreservedAnalyses
static_cast<PassInfoMixin<SimpleLoopUnswitchPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
OS << (NonTrivial ? "" : "no-") << "nontrivial;";
OS << (Trivial ? "" : "no-") << "trivial";
- OS << ">";
+ OS << '>';
}
namespace {
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<SimplifyCFGPass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
- OS << "bonus-inst-threshold=" << Options.BonusInstThreshold << ";";
+ OS << '<';
+ OS << "bonus-inst-threshold=" << Options.BonusInstThreshold << ';';
OS << (Options.ForwardSwitchCondToPhi ? "" : "no-") << "forward-switch-cond;";
OS << (Options.ConvertSwitchRangeToICmp ? "" : "no-")
<< "switch-range-to-icmp;";
OS << (Options.NeedCanonicalLoop ? "" : "no-") << "keep-loops;";
OS << (Options.HoistCommonInsts ? "" : "no-") << "hoist-common-insts;";
OS << (Options.SinkCommonInsts ? "" : "no-") << "sink-common-insts";
- OS << ">";
+ OS << '>';
}
PreservedAnalyses SimplifyCFGPass::run(Function &F,
raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) {
static_cast<PassInfoMixin<llvm::EntryExitInstrumenterPass> *>(this)
->printPipeline(OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
if (PostInlining)
OS << "post-inline";
- OS << ">";
+ OS << '>';
}
static_cast<PassInfoMixin<LoopVectorizePass> *>(this)->printPipeline(
OS, MapClassName2PassName);
- OS << "<";
+ OS << '<';
OS << (InterleaveOnlyWhenForced ? "" : "no-") << "interleave-forced-only;";
OS << (VectorizeOnlyWhenForced ? "" : "no-") << "vectorize-forced-only;";
- OS << ">";
+ OS << '>';
}