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.