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