18 OS <<
"SCCs for Function " <<
F.getName() <<
" in PostOrder:";
20 const std::vector<BasicBlock *> &NextSCC = *SCCI;
21 OS <<
"\nSCC #" << ++SccNum <<
": ";
28 BB->printAsOperand(OS,
false);
30 if (NextSCC.size() == 1 && SCCI.hasCycle())
31 OS <<
" (Has self-loop).";
This file provides various utilities for inspecting and working with the control flow graph in LLVM I...
This builds on the llvm/ADT/GraphTraits.h file to find the strongly connected components (SCCs) of a ...
LLVM Basic Block Representation.
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
A set of analyses that are preserved following a run of a transformation pass.
static PreservedAnalyses all()
Construct a special preserved set that preserves all passes.
Enumerate the SCCs of a directed graph in reverse topological order of the SCC DAG.
bool isAtEnd() const
Direct loop termination test which is more efficient than comparison with end().
This is an optimization pass for GlobalISel generic memory operations.
scc_iterator< T > scc_begin(const T &G)
Construct the begin iterator for a deduced graph type T.
@ First
Helpers to iterate all locations in the MemoryEffectsBase class.
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.