19 OS <<
"SCCs for Function " <<
F.getName() <<
" in PostOrder:";
21 const std::vector<BasicBlock *> &NextSCC = *SCCI;
22 OS <<
"\nSCC #" << ++SccNum <<
": ";
26 BB->printAsOperand(OS,
false);
28 if (NextSCC.size() == 1 && SCCI.hasCycle())
29 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 helper class to return the specified delimiter string after the first invocation of operator String...
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.
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.