6 #ifndef JLM_HLS_BACKEND_RHLS2FIRRTL_BASE_HLS_HPP
7 #define JLM_HLS_BACKEND_RHLS2FIRRTL_BASE_HLS_HPP
44 std::unordered_map<const rvsdg::Node *, std::string>
node_map;
45 std::unordered_map<jlm::rvsdg::Output *, std::string>
output_map;
74 std::vector<rvsdg::RegionArgument *>
77 std::vector<rvsdg::RegionArgument *> mem_resps;
80 if (rvsdg::is<BundleType>(arg->Type()))
81 mem_resps.push_back(arg);
92 std::vector<rvsdg::RegionResult *>
95 std::vector<rvsdg::RegionResult *> mem_resps;
98 if (rvsdg::is<BundleType>(result->Type()))
99 mem_resps.push_back(result);
111 std::vector<rvsdg::RegionArgument *>
114 std::vector<rvsdg::RegionArgument *> args;
117 if (!rvsdg::is<BundleType>(argument->Type()))
118 args.push_back(argument);
129 std::vector<rvsdg::RegionResult *>
132 std::vector<rvsdg::RegionResult *> results;
135 if (!rvsdg::is<BundleType>(result->Type()))
136 results.push_back(result);
std::string run(llvm::LlvmRvsdgModule &rm)
std::vector< rvsdg::RegionArgument * > get_reg_args(const rvsdg::LambdaNode &lambda)
std::unordered_map< const rvsdg::Node *, std::string > node_map
virtual std::string GetText(llvm::LlvmRvsdgModule &rm)=0
virtual std::string extension()=0
std::vector< rvsdg::RegionResult * > get_reg_results(const rvsdg::LambdaNode &lambda)
std::vector< rvsdg::RegionResult * > get_mem_reqs(const rvsdg::LambdaNode &lambda)
static std::string get_port_name(jlm::rvsdg::Input *port)
void create_node_names(rvsdg::Region *r)
static int JlmSize(const jlm::rvsdg::Type *type)
std::unordered_map< jlm::rvsdg::Output *, std::string > output_map
const rvsdg::LambdaNode * get_hls_lambda(llvm::LlvmRvsdgModule &rm)
std::string get_node_name(const rvsdg::Node *node)
std::vector< rvsdg::RegionArgument * > get_mem_resps(const rvsdg::LambdaNode &lambda)
static std::string get_base_file_name(const llvm::LlvmRvsdgModule &rm)
rvsdg::Region * subregion() const noexcept
Represent acyclic RVSDG subgraphs.
RegionArgumentRange Arguments() noexcept
RegionResultRange Results() noexcept
bool isForbiddenChar(char c)
static std::string type(const Node *n)