9#ifndef LLVM_CLANG_LIB_CIR_CODEGEN_CIRGENBUILDER_H
10#define LLVM_CLANG_LIB_CIR_CODEGEN_CIRGENBUILDER_H
26 if (&format == &llvm::APFloat::IEEEdouble())
27 return cir::LongDoubleType::get(getContext(), typeCache.
DoubleTy);
28 if (&format == &llvm::APFloat::x87DoubleExtended())
29 return cir::LongDoubleType::get(getContext(), typeCache.
FP80Ty);
30 if (&format == &llvm::APFloat::IEEEquad())
31 return cir::LongDoubleType::get(getContext(), typeCache.
FP128Ty);
32 if (&format == &llvm::APFloat::PPCDoubleDouble())
33 llvm_unreachable(
"NYI: PPC double-double format for long double");
34 llvm_unreachable(
"Unsupported format for long double");
CIRBaseBuilderTy(mlir::MLIRContext &mlirContext)
CIRGenBuilderTy(mlir::MLIRContext &mlirContext, const CIRGenTypeCache &tc)
cir::LongDoubleType getLongDoubleTy(const llvm::fltSemantics &format) const
This structure provides a set of types that are commonly used during IR emission.