Jlm
alloca.cpp
Go to the documentation of this file.
1 /*
2  * Copyright 2017 Nico Reißmann <nico.reissmann@gmail.com>
3  * See COPYING for terms of redistribution.
4  */
5 
7 
8 namespace jlm::llvm
9 {
10 
11 AllocaOperation::~AllocaOperation() noexcept = default;
12 
13 bool
14 AllocaOperation::operator==(const Operation & other) const noexcept
15 {
16  // Avoid CNE for alloca operators
17  return this == &other;
18 }
19 
20 std::string
22 {
23  return "ALLOCA[" + value_type().debug_string() + "]";
24 }
25 
26 std::unique_ptr<rvsdg::Operation>
28 {
29  return std::make_unique<AllocaOperation>(*this);
30 }
31 
32 }
std::string debug_string() const override
Definition: alloca.cpp:21
~AllocaOperation() noexcept override
const rvsdg::Type & value_type() const noexcept
Definition: alloca.hpp:51
std::unique_ptr< Operation > copy() const override
Definition: alloca.cpp:27
virtual std::string debug_string() const =0
Global memory state passed between functions.