Lines Matching full:pipeline
328 "print-pipeline-passes",
329 cl::desc("Print a '-passes' compatible string describing the pipeline "
492 // We almost always want the default alias analysis pipeline.
1212 /// Tests whether a pass name starts with a valid prefix for a default pipeline
1221 /// When parsing a pipeline text, the type of the outermost pipeline may be
1240 // Manually handle aliases for pre-configured pipeline fragments.
1392 std::vector<PipelineElement> &Pipeline = *PipelineStack.back();
1394 Pipeline.push_back({Text.substr(0, Pos), {}});
1407 // Push the inner pipeline onto the stack to continue processing.
1408 PipelineStack.push_back(&Pipeline.back().InnerPipeline);
1414 // empty strings in the pipeline.
1416 // If we try to pop the outer pipeline we have unbalanced parentheses.
1427 // Otherwise, the end of an inner pipeline always has to be followed by
1438 "Wrong pipeline at the bottom of the stack!");
1489 formatv("invalid use of '{0}' pass as module pipeline", Name).str(),
1494 // Manually handle aliases for pre-configured pipeline fragments.
1499 formatv("unknown default pipeline alias '{0}'", Name).str(),
1522 // When UnifiedLTO is enabled, use the ThinLTO pre-link pipeline. This
1524 // LTO pipeline "unified" for both LTO modes.
1659 formatv("invalid use of '{0}' pass as cgscc pipeline", Name).str(),
1756 bool UseBFI = llvm::any_of(InnerPipeline, [](auto Pipeline) {
1757 return Pipeline.Name.contains("simple-loop-unswitch");
1759 bool UseBPI = llvm::any_of(InnerPipeline, [](auto Pipeline) {
1760 return Pipeline.Name == "loop-predication";
1780 formatv("invalid use of '{0}' pass as function pipeline", Name).str(),
1865 formatv("invalid use of '{0}' pass as loop pipeline", Name).str(),
1914 return make_error<StringError>("invalid pipeline",
1980 MachineFunctionPassManager &MFPM, ArrayRef<PipelineElement> Pipeline) {
1981 for (const auto &Element : Pipeline) {
1989 ArrayRef<PipelineElement> Pipeline) {
1990 for (const auto &Element : Pipeline) {
1998 FunctionPassManager &FPM, ArrayRef<PipelineElement> Pipeline) {
1999 for (const auto &Element : Pipeline) {
2007 ArrayRef<PipelineElement> Pipeline) {
2008 for (const auto &Element : Pipeline) {
2040 ArrayRef<PipelineElement> Pipeline) {
2041 for (const auto &Element : Pipeline) {
2048 // Primary pass pipeline description parsing routine for a \c ModulePassManager
2053 auto Pipeline = parsePipelineText(PipelineText);
2054 if (!Pipeline || Pipeline->empty())
2056 formatv("invalid pipeline '{0}'", PipelineText).str(),
2059 // If the first name isn't at the module layer, wrap the pipeline up
2061 StringRef FirstName = Pipeline->front().Name;
2066 Pipeline = {{"cgscc", std::move(*Pipeline)}};
2069 Pipeline = {{"function", std::move(*Pipeline)}};
2072 Pipeline = {{"function", {{UseMemorySSA ? "loop-mssa" : "loop",
2073 std::move(*Pipeline)}}}};
2076 Pipeline = {{"function", {{UseMemorySSA ? "loop-mssa" : "loop",
2077 std::move(*Pipeline)}}}};
2080 Pipeline = {{"function", {{"machine-function", std::move(*Pipeline)}}}};
2083 if (C(MPM, *Pipeline))
2086 // Unknown pass or pipeline name!
2087 auto &InnerPipeline = Pipeline->front().InnerPipeline;
2090 (InnerPipeline.empty() ? "pass" : "pipeline"), FirstName)
2096 if (auto Err = parseModulePassPipeline(MPM, *Pipeline))
2101 // Primary pass pipeline description parsing routine for a \c CGSCCPassManager
2104 auto Pipeline = parsePipelineText(PipelineText);
2105 if (!Pipeline || Pipeline->empty())
2107 formatv("invalid pipeline '{0}'", PipelineText).str(),
2110 StringRef FirstName = Pipeline->front().Name;
2113 formatv("unknown cgscc pass '{0}' in pipeline '{1}'", FirstName,
2118 if (auto Err = parseCGSCCPassPipeline(CGPM, *Pipeline))
2123 // Primary pass pipeline description parsing routine for a \c
2127 auto Pipeline = parsePipelineText(PipelineText);
2128 if (!Pipeline || Pipeline->empty())
2130 formatv("invalid pipeline '{0}'", PipelineText).str(),
2133 StringRef FirstName = Pipeline->front().Name;
2136 formatv("unknown function pass '{0}' in pipeline '{1}'", FirstName,
2141 if (auto Err = parseFunctionPassPipeline(FPM, *Pipeline))
2146 // Primary pass pipeline description parsing routine for a \c LoopPassManager
2149 auto Pipeline = parsePipelineText(PipelineText);
2150 if (!Pipeline || Pipeline->empty())
2152 formatv("invalid pipeline '{0}'", PipelineText).str(),
2155 if (auto Err = parseLoopPassPipeline(CGPM, *Pipeline))
2163 auto Pipeline = parsePipelineText(PipelineText);
2164 if (!Pipeline || Pipeline->empty())
2166 formatv("invalid machine pass pipeline '{0}'", PipelineText).str(),
2169 if (auto Err = parseMachinePassPipeline(MFPM, *Pipeline))
2176 // If the pipeline just consists of the word 'default' just replace the AA