Jlm
LambdaMemoryState.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2018 Nico Reißmann <nico.reissmann@gmail.com>
3  * Copyright 2025 Helge Bahmann <hcb@chaoticmind.net>
4  * See COPYING for terms of redistribution.
5  */
6 
7 #ifndef JLM_LLVM_IR_LAMBDAMEMORYSTATE_HPP
8 #define JLM_LLVM_IR_LAMBDAMEMORYSTATE_HPP
9 
20 
21 namespace jlm::llvm
22 {
23 
37 [[nodiscard]] rvsdg::Output &
38 GetMemoryStateRegionArgument(const rvsdg::LambdaNode & lambdaNode) noexcept;
39 
53 [[nodiscard]] rvsdg::Input &
54 GetMemoryStateRegionResult(const rvsdg::LambdaNode & lambdaNode) noexcept;
55 
72 rvsdg::SimpleNode *
73 tryGetMemoryStateEntrySplit(const rvsdg::LambdaNode & lambdaNode) noexcept;
74 
91 [[nodiscard]] rvsdg::SimpleNode *
92 tryGetMemoryStateExitMerge(const rvsdg::LambdaNode & lambdaNode) noexcept;
93 
94 }
95 
96 #endif
Global memory state passed between functions.
rvsdg::SimpleNode * tryGetMemoryStateEntrySplit(const rvsdg::LambdaNode &lambdaNode) noexcept
rvsdg::Input & GetMemoryStateRegionResult(const rvsdg::LambdaNode &lambdaNode) noexcept
rvsdg::SimpleNode * tryGetMemoryStateExitMerge(const rvsdg::LambdaNode &lambdaNode) noexcept
rvsdg::Output & GetMemoryStateRegionArgument(const rvsdg::LambdaNode &lambdaNode) noexcept