diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td index aa7cd460030d..5530c5dd0f99 100644 --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td @@ -80,7 +80,9 @@ def LLVM_AnyFloat : Type< CPred<"$_self.isa<::mlir::LLVM::LLVMBFloatType, " "::mlir::LLVM::LLVMHalfType, " "::mlir::LLVM::LLVMFloatType, " - "::mlir::LLVM::LLVMDoubleType>()">, + "::mlir::LLVM::LLVMDoubleType, " + "::mlir::LLVM::LLVMFP128Type, " + "::mlir::LLVM::LLVMX86FP80Type>()">, "floating point LLVM type">; // Type constraint accepting any LLVM pointer type. diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h b/mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h index 811f27935208..f92bdf9e3041 100644 --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h @@ -41,6 +41,8 @@ class LLVMBFloatType; class LLVMHalfType; class LLVMFloatType; class LLVMDoubleType; +class LLVMFP128Type; +class LLVMX86FP80Type; class LLVMIntegerType; //===----------------------------------------------------------------------===// @@ -89,9 +91,12 @@ public: bool isHalfTy() { return isa(); } bool isFloatTy() { return isa(); } bool isDoubleTy() { return isa(); } + bool isFP128Ty() { return isa(); } + bool isX86_FP80Ty() { return isa(); } bool isFloatingPointTy() { return isa() || isa() || - isa() || isa(); + isa() || isa() || + isa() || isa(); } /// Array type utilities.