61 if (ArgumentTypes_.size() !=
fn->ArgumentTypes_.size()
62 || ResultTypes_.size() !=
fn->ResultTypes_.size())
66 for (std::size_t
n = 0;
n < ArgumentTypes_.size(); ++
n)
68 if (*ArgumentTypes_[
n] != *
fn->ArgumentTypes_[
n])
73 for (std::size_t
n = 0;
n < ResultTypes_.size(); ++
n)
75 if (*ResultTypes_[
n] != *
fn->ResultTypes_[
n])
114std::shared_ptr<const FunctionType>
116 std::vector<std::shared_ptr<const jlm::rvsdg::Type>>
argumentTypes,
117 std::vector<std::shared_ptr<const jlm::rvsdg::Type>>
resultTypes)
std::vector< std::shared_ptr< const jlm::rvsdg::Type > > ResultTypes_
static std::shared_ptr< const FunctionType > Create(std::vector< std::shared_ptr< const jlm::rvsdg::Type > > argumentTypes, std::vector< std::shared_ptr< const jlm::rvsdg::Type > > resultTypes)
~FunctionType() noexcept override
std::string debug_string() const override
bool operator==(const jlm::rvsdg::Type &other) const noexcept override
TypeKind Kind() const noexcept override
Return the kind of this type.
std::vector< std::shared_ptr< const jlm::rvsdg::Type > > ArgumentTypes_
std::size_t ComputeHash() const noexcept override
virtual std::string debug_string() const =0
TypeKind
The kinds of types supported in rvsdg.
@ Value
Designate a value type.
NodeType * TryGetOwnerNode(const rvsdg::Input &input) noexcept
Checks if this is an input to a node of specified type.
void combineHashesWithSeed(std::size_t &seed, std::size_t hash, Args... args)