Jlm
ControlFlowRestructuring.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2015 Nico Reißmann <nico.reissmann@gmail.com>
3  * See COPYING for terms of redistribution.
4  */
5 
6 #ifndef JLM_LLVM_FRONTEND_CONTROLFLOWRESTRUCTURING_HPP
7 #define JLM_LLVM_FRONTEND_CONTROLFLOWRESTRUCTURING_HPP
8 
9 namespace jlm::llvm
10 {
11 
12 class ControlFlowGraph;
13 
14 void
15 RestructureLoops(ControlFlowGraph & cfg);
16 
17 void
18 RestructureBranches(ControlFlowGraph & cfg);
19 
20 void
21 RestructureControlFlow(ControlFlowGraph & cfg);
22 
23 }
24 
25 #endif
Global memory state passed between functions.
static void RestructureBranches(ControlFlowGraphNode &entry, ControlFlowGraphNode &exit)
static void RestructureControlFlow(ControlFlowGraphNode &, ControlFlowGraphNode &, std::vector< TailControlledLoop > &)
static void RestructureLoops(ControlFlowGraphNode &regionEntry, ControlFlowGraphNode &regionExit, std::vector< TailControlledLoop > &loops)