#include <jlm/llvm/ir/aggregation.hpp>
#include <jlm/llvm/ir/cfg-structure.hpp>
#include <deque>
#include <functional>
#include <unordered_map>
Go to the source code of this file.
|
| namespace | jlm |
| |
| namespace | jlm::llvm |
| | Global memory state passed between functions.
|
| |
|
| static bool | jlm::llvm::is_sese_basic_block (const ControlFlowGraphNode *node) noexcept |
| |
| static bool | jlm::llvm::is_branch_split (const ControlFlowGraphNode *node) noexcept |
| |
| static bool | jlm::llvm::is_branch_join (const ControlFlowGraphNode *node) noexcept |
| |
| static bool | jlm::llvm::is_branch (const ControlFlowGraphNode *split) noexcept |
| |
| static bool | jlm::llvm::is_linear (const ControlFlowGraphNode *node) noexcept |
| |
| static ControlFlowGraphNode * | jlm::llvm::aggregate (ControlFlowGraphNode *, ControlFlowGraphNode *, AggregationMap &) |
| |
| static void | jlm::llvm::reduceLoop (const StronglyConnectedComponentStructure &sccStruct, AggregationMap &map) |
| |
| static ControlFlowGraphNode * | jlm::llvm::reduce_branch (ControlFlowGraphNode *split, ControlFlowGraphNode **entry, AggregationMap &map) |
| |
| static ControlFlowGraphNode * | jlm::llvm::reduce_linear (ControlFlowGraphNode *source, ControlFlowGraphNode **entry, ControlFlowGraphNode **exit, AggregationMap &map) |
| |
| static void | jlm::llvm::aggregate_loops (ControlFlowGraphNode *entry, ControlFlowGraphNode *exit, AggregationMap &map) |
| |
| static void | jlm::llvm::aggregate_acyclic_sese (ControlFlowGraphNode *node, ControlFlowGraphNode **entry, ControlFlowGraphNode **exit, AggregationMap &map) |
| |
| std::unique_ptr< AggregationNode > | jlm::llvm::aggregate (ControlFlowGraph &cfg) |
| | Aggregate a properly structured CFG to a aggregation tree.
|
| |
| size_t | jlm::llvm::ntacs (const AggregationNode &root) |
| |