Jlm
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 
8 namespace jlm::llvm
9 {
10 
11 LlvmGraphImport &
13 {
14  return Create(*region.graph(), ValueType(), ImportedType(), Name(), linkage(), isConstant());
15 }
16 
17 std::unique_ptr<rvsdg::RvsdgModule>
19 {
20  return std::make_unique<LlvmRvsdgModule>(
22  TargetTriple(),
23  DataLayout(),
24  Rvsdg().Copy());
25 }
26 
27 }
const std::shared_ptr< const jlm::rvsdg::Type > & ImportedType() const noexcept
Definition: RvsdgModule.hpp:72
const std::shared_ptr< const jlm::rvsdg::Type > & ValueType() const noexcept
Definition: RvsdgModule.hpp:58
bool isConstant() const noexcept
Definition: RvsdgModule.hpp:45
const Linkage & linkage() const noexcept
Definition: RvsdgModule.hpp:39
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, bool isConstant=false)
Definition: RvsdgModule.hpp:81
LlvmGraphImport & Copy(rvsdg::Region &region, rvsdg::StructuralInput *input) const override
Definition: RvsdgModule.cpp:12
const util::FilePath & SourceFileName() const noexcept
const std::string & TargetTriple() const noexcept
std::unique_ptr< RvsdgModule > copy() const override
Definition: RvsdgModule.cpp:18
const std::string & DataLayout() const noexcept
const std::string & Name() const noexcept
Definition: graph.hpp:25
rvsdg::Region * region() const noexcept
Definition: node.cpp:151
Represent acyclic RVSDG subgraphs.
Definition: region.hpp:213
Graph * graph() const noexcept
Definition: region.hpp:363
Graph & Rvsdg() noexcept
Definition: RvsdgModule.hpp:57
Global memory state passed between functions.