Jlm
Loading...
Searching...
No Matches
RvsdgModule.cpp
Go to the documentation of this file.
1/*
2 * Copyright 2019 Nico Reißmann <nico.reissmann@gmail.com>
3 * See COPYING for terms of redistribution.
4 */
5
7#include <jlm/util/common.hpp>
8
9namespace jlm::llvm
10{
11
12LlvmGraphImport &
14{
15 // The copy interface is more general that what we support
17 JLM_ASSERT(input == nullptr);
18
19 return create(
20 *region.graph(),
21 ValueType(),
23 Name(),
24 linkage(),
26 isConstant(),
27 getAlignment());
28}
29
30std::unique_ptr<rvsdg::RvsdgModule>
32{
33 return std::make_unique<LlvmRvsdgModule>(
36 DataLayout(),
37 Rvsdg().Copy());
38}
39
40}
bool isConstant() const noexcept
static LlvmGraphImport & create(rvsdg::Graph &graph, std::shared_ptr< const rvsdg::Type > valueType, std::shared_ptr< const rvsdg::Type > importedType, std::string name, Linkage linkage, CallingConvention callingConvention, const bool isConstant, const size_t alignment)
const Linkage & linkage() const noexcept
const CallingConvention & callingConvention() const noexcept
size_t getAlignment() const noexcept
LlvmGraphImport & Copy(rvsdg::Region &region, rvsdg::StructuralInput *input) const override
const std::shared_ptr< const jlm::rvsdg::Type > & ImportedType() const noexcept
const std::shared_ptr< const jlm::rvsdg::Type > & ValueType() const noexcept
const util::FilePath & SourceFileName() const noexcept
const std::string & DataLayout() const noexcept
std::unique_ptr< RvsdgModule > copy() const override
const std::string & TargetTriple() const noexcept
const std::string & Name() const noexcept
Definition graph.hpp:25
rvsdg::Region * region() const noexcept
Definition node.cpp:151
StructuralInput * input() const noexcept
Definition region.hpp:69
Represent acyclic RVSDG subgraphs.
Definition region.hpp:213
Graph * graph() const noexcept
Definition region.hpp:267
bool IsRootRegion() const noexcept
Definition region.cpp:173
Graph & Rvsdg() noexcept
#define JLM_ASSERT(x)
Definition common.hpp:16
Global memory state passed between functions.