6 #ifndef JLM_LLVM_IR_VARIABLE_HPP
7 #define JLM_LLVM_IR_VARIABLE_HPP
30 :
name_(std::move(other.name_)),
31 type_(std::move(other.type_))
40 name_ = std::move(other.name_);
41 type_ = std::move(other.type_);
49 inline const std::string &
61 inline const std::shared_ptr<const jlm::rvsdg::Type>
69 std::shared_ptr<const jlm::rvsdg::Type>
type_;
77 std::is_base_of<llvm::Variable, T>::value,
78 "Template parameter T must be derived from jlm::Variable.");
80 return dynamic_cast<const T *
>(variable) !=
nullptr;
~GlobalVariable() noexcept override
Variable & operator=(Variable &&other) noexcept
const std::string & name() const noexcept
const jlm::rvsdg::Type & type() const noexcept
virtual std::string debug_string() const
Variable(Variable &&other) noexcept
std::shared_ptr< const jlm::rvsdg::Type > type_
virtual ~Variable() noexcept
const std::shared_ptr< const jlm::rvsdg::Type > Type() const noexcept
Global memory state passed between functions.
static bool is(const AggregationNode *node)