|
Jlm
|
#include <jlm/hls/backend/rvsdg2rhls/decouple-mem-state.hpp>#include <jlm/hls/backend/rvsdg2rhls/hls-function-util.hpp>#include <jlm/hls/backend/rvsdg2rhls/mem-conv.hpp>#include <jlm/hls/backend/rvsdg2rhls/mem-sep.hpp>#include <jlm/hls/backend/rvsdg2rhls/rhls-dne.hpp>#include <jlm/hls/ir/hls.hpp>#include <jlm/hls/util/view.hpp>#include <jlm/llvm/ir/LambdaMemoryState.hpp>#include <jlm/llvm/ir/operators/call.hpp>#include <jlm/llvm/ir/operators/lambda.hpp>#include <jlm/llvm/ir/operators/Load.hpp>#include <jlm/llvm/ir/operators/MemoryStateOperations.hpp>#include <jlm/llvm/ir/operators/Store.hpp>#include <jlm/rvsdg/node.hpp>#include <jlm/rvsdg/substitution.hpp>#include <jlm/rvsdg/theta.hpp>#include <jlm/rvsdg/traverser.hpp>#include <jlm/rvsdg/view.hpp>#include <algorithm>#include <deque>
Go to the source code of this file.
Namespaces | |
| namespace | jlm |
| namespace | jlm::hls |
Functions | |
| static rvsdg::Output * | jlm::hls::follow_state_edge (rvsdg::Input *state_edge, std::vector< rvsdg::SimpleNode * > &mem_ops, bool modify) |
| static rvsdg::Output * | jlm::hls::trace_edge (rvsdg::Input *state_edge, rvsdg::Output *new_edge, rvsdg::SimpleNode *target_call, rvsdg::Output *end) |
| static void | jlm::hls::handle_structural (std::vector< std::tuple< rvsdg::SimpleNode *, rvsdg::Input * > > &outstanding_dec_reqs, std::vector< rvsdg::SimpleNode * > &mem_ops, rvsdg::Input *state_edge_before, rvsdg::Output *state_edge_after) |
| static void | jlm::hls::optimize_single_mem_op_loop (std::vector< rvsdg::SimpleNode * > &mem_ops, rvsdg::Input *state_edge_before, rvsdg::Output *state_edge_after) |
| void | jlm::hls::convert_loop_state_to_lcb (rvsdg::Input *loop_state_input) |
| static void | jlm::hls::decouple_mem_state (rvsdg::RvsdgModule &rvsdgModule) |