FLANG
|
Helper to facilitate lowering of COMPLEX manipulations in FIR. More...
#include <flang/Optimizer/Builder/Complex.h>
Public Types | |
enum class | Part { Real = 0 , Imag = 1 } |
Public Member Functions | |
Complex (FirOpBuilder &builder, mlir::Location loc) | |
Complex (const Complex &)=delete | |
mlir::Type | getComplexPartType (mlir::Value cplx) const |
Get the Complex Type. Determine the type. Do not create MLIR operations. | |
mlir::Type | getComplexPartType (mlir::Type complexType) const |
mlir::Value | createComplex (mlir::Type complexType, mlir::Value real, mlir::Value imag) |
Create a complex value. | |
mlir::Value | createComplex (mlir::Value real, mlir::Value imag) |
mlir::Value | extractComplexPart (mlir::Value cplx, bool isImagPart) |
Returns the Real/Imag part of cplx . | |
std::pair< mlir::Value, mlir::Value > | extractParts (mlir::Value cplx) |
Returns (Real, Imag) pair of cplx . | |
mlir::Value | insertComplexPart (mlir::Value cplx, mlir::Value part, bool isImagPart) |
Helper to facilitate lowering of COMPLEX manipulations in FIR.
mlir::Value fir::factory::Complex::createComplex | ( | mlir::Value | real, |
mlir::Value | imag | ||
) |
Create a complex value given the real and imag parts real type (which must be the same).