7 #ifndef RETDEC_LLVMIR2HLL_LLVM_LLVMIR2BIR_CONVERTER_LLVM_FCMP_CONVERTER_H
8 #define RETDEC_LLVMIR2HLL_LLVM_LLVMIR2BIR_CONVERTER_LLVM_FCMP_CONVERTER_H
A converter from LLVM fcmp instruction to expression in BIR.
Definition: llvm_fcmp_converter.h:28
ShPtr< Expression > getOrdFCmpExpr(ShPtr< Expression > op1, ShPtr< Expression > op2) const
Returns logical expression which represents a comparison of two float operands op1 and op2,...
Definition: llvm_fcmp_converter.cpp:155
bool optionStrictFPUSemantics
Use strict FPU semantics?
Definition: llvm_fcmp_converter.h:53
LLVMFCmpConverter()=default
~LLVMFCmpConverter()=default
ShPtr< Expression > convertToExpression(ShPtr< Expression > op1, ShPtr< Expression > op2, unsigned predicate)
Converts the given LLVM fcmp instruction inst into an expression in BIR.
Definition: llvm_fcmp_converter.cpp:34
ShPtr< Expression > getUnordFCmpExpr(ShPtr< Expression > op1, ShPtr< Expression > op2) const
Returns logical expression which represents a comparison of two float operands op1 and op2,...
Definition: llvm_fcmp_converter.cpp:167
ShPtr< Expression > getExprIsQNAN(ShPtr< Expression > op) const
Returns expression which determines if given Expression op is a QNAN.
Definition: llvm_fcmp_converter.cpp:136
ShPtr< Expression > getExprIsNotQNAN(ShPtr< Expression > op) const
Returns expression which determines if given Expression op is not a QNAN.
Definition: llvm_fcmp_converter.cpp:144
void setOptionStrictFPUSemantics(bool strict=true)
Enables/disables the use of strict FPU semantics.
Definition: llvm_fcmp_converter.cpp:129
A mixin to make classes non-copyable.
Definition: non_copyable.h:27
Definition: itanium_ast_ctypes_parser.h:12
A library providing API for working with back-end IR.
std::shared_ptr< T > ShPtr
An alias for a shared pointer.
Definition: smart_ptr.h:18
Definition: archive_wrapper.h:19
A mixin to make classes non-copyable.
Declarations, aliases, macros, etc. for the use of smart pointers.
Aliases for several useful types.