Jlm
Public Member Functions | Static Public Member Functions | Static Private Member Functions | List of all members
jlm::llvm::FMulAddIntrinsicOperation Class Referencefinal

#include <SpecializedArithmeticIntrinsicOperations.hpp>

Inheritance diagram for jlm::llvm::FMulAddIntrinsicOperation:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::FMulAddIntrinsicOperation:
Collaboration graph
[legend]

Public Member Functions

 ~FMulAddIntrinsicOperation () noexcept override
 
 FMulAddIntrinsicOperation (const std::shared_ptr< const rvsdg::Type > &type)
 
bool operator== (const Operation &other) const noexcept override
 
std::string debug_string () const override
 
std::unique_ptr< Operation > copy () const override
 
- Public Member Functions inherited from jlm::rvsdg::SimpleOperation
 ~SimpleOperation () noexcept override
 
 SimpleOperation (std::vector< std::shared_ptr< const jlm::rvsdg::Type >> operands, std::vector< std::shared_ptr< const jlm::rvsdg::Type >> results)
 
size_t narguments () const noexcept
 
const std::shared_ptr< const rvsdg::Type > & argument (size_t index) const noexcept
 
size_t nresults () const noexcept
 
const std::shared_ptr< const rvsdg::Type > & result (size_t index) const noexcept
 
- Public Member Functions inherited from jlm::rvsdg::Operation
virtual ~Operation () noexcept
 
virtual bool operator== (const Operation &other) const noexcept=0
 
bool operator!= (const Operation &other) const noexcept
 

Static Public Member Functions

static rvsdg::SimpleNodeCreateNode (rvsdg::Output &multiplier, rvsdg::Output &multiplicand, rvsdg::Output &summand)
 
static std::unique_ptr< ThreeAddressCodeCreateTac (const Variable &multiplier, const Variable &multiplicand, const Variable &summand)
 

Static Private Member Functions

static void CheckType (const std::shared_ptr< const rvsdg::Type > &type)
 

Detailed Description

Represents LLVM's llvm.fmuladd.* intrinsic

See LLVM Language Reference Manual for more details.

Definition at line 22 of file SpecializedArithmeticIntrinsicOperations.hpp.

Constructor & Destructor Documentation

◆ ~FMulAddIntrinsicOperation()

jlm::llvm::FMulAddIntrinsicOperation::~FMulAddIntrinsicOperation ( )
overridedefaultnoexcept

◆ FMulAddIntrinsicOperation()

jlm::llvm::FMulAddIntrinsicOperation::FMulAddIntrinsicOperation ( const std::shared_ptr< const rvsdg::Type > &  type)
inlineexplicit

Definition at line 27 of file SpecializedArithmeticIntrinsicOperations.hpp.

Member Function Documentation

◆ CheckType()

void jlm::llvm::FMulAddIntrinsicOperation::CheckType ( const std::shared_ptr< const rvsdg::Type > &  type)
staticprivate

Definition at line 34 of file SpecializedArithmeticIntrinsicOperations.cpp.

◆ copy()

std::unique_ptr< rvsdg::Operation > jlm::llvm::FMulAddIntrinsicOperation::copy ( ) const
overridevirtual

◆ CreateNode()

static rvsdg::SimpleNode& jlm::llvm::FMulAddIntrinsicOperation::CreateNode ( rvsdg::Output multiplier,
rvsdg::Output multiplicand,
rvsdg::Output summand 
)
inlinestatic

Definition at line 43 of file SpecializedArithmeticIntrinsicOperations.hpp.

◆ CreateTac()

static std::unique_ptr<ThreeAddressCode> jlm::llvm::FMulAddIntrinsicOperation::CreateTac ( const Variable multiplier,
const Variable multiplicand,
const Variable summand 
)
inlinestatic

Definition at line 51 of file SpecializedArithmeticIntrinsicOperations.hpp.

◆ debug_string()

std::string jlm::llvm::FMulAddIntrinsicOperation::debug_string ( ) const
overridevirtual

◆ operator==()

bool jlm::llvm::FMulAddIntrinsicOperation::operator== ( const Operation &  other) const
overridenoexcept

Definition at line 15 of file SpecializedArithmeticIntrinsicOperations.cpp.


The documentation for this class was generated from the following files: