LLVM: lib/Analysis/CFGSCCPrinter.cpp Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
12
13using namespace llvm;
14
17 unsigned SccNum = 0;
18 OS << "SCCs for Function " << F.getName() << " in PostOrder:";
20 const std::vector<BasicBlock *> &NextSCC = *SCCI;
21 OS << "\nSCC #" << ++SccNum << ": ";
22 bool First = true;
26 else
27 OS << ", ";
28 BB->printAsOperand(OS, false);
29 }
30 if (NextSCC.size() == 1 && SCCI.hasCycle())
31 OS << " (Has self-loop).";
32 }
33 OS << "\n";
34
36}
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)
Definition CFGSCCPrinter.cpp:15
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.