diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td index d0811a282c816..e425e16a4b1a6 100644 --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td @@ -1975,7 +1975,6 @@ def LLVM_LLVMFuncOp : LLVM_Op<"func", [ OptionalAttr:$reciprocal_estimates, OptionalAttr:$prefer_vector_width, OptionalAttr:$target_features, - OptionalAttr:$unsafe_fp_math, OptionalAttr:$no_infs_fp_math, OptionalAttr:$no_nans_fp_math, OptionalAttr:$no_signed_zeros_fp_math, diff --git a/mlir/lib/Target/LLVMIR/ModuleImport.cpp b/mlir/lib/Target/LLVMIR/ModuleImport.cpp index 857e31be6f259..d9891e3168820 100644 --- a/mlir/lib/Target/LLVMIR/ModuleImport.cpp +++ b/mlir/lib/Target/LLVMIR/ModuleImport.cpp @@ -2616,7 +2616,6 @@ static constexpr std::array kExplicitLLVMFuncOpAttributes{ StringLiteral("optnone"), StringLiteral("target-features"), StringLiteral("tune-cpu"), - StringLiteral("unsafe-fp-math"), StringLiteral("uwtable"), StringLiteral("vscale_range"), StringLiteral("willreturn"), @@ -2714,10 +2713,6 @@ void ModuleImport::processFunctionAttributes(llvm::Function *func, attr.isStringAttribute()) funcOp.setPreferVectorWidth(attr.getValueAsString()); - if (llvm::Attribute attr = func->getFnAttribute("unsafe-fp-math"); - attr.isStringAttribute()) - funcOp.setUnsafeFpMath(attr.getValueAsBool()); - if (llvm::Attribute attr = func->getFnAttribute("no-infs-fp-math"); attr.isStringAttribute()) funcOp.setNoInfsFpMath(attr.getValueAsBool()); diff --git a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp index 147613f96b884..2acbd036a020a 100644 --- a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp +++ b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp @@ -1560,9 +1560,6 @@ LogicalResult ModuleTranslation::convertOneFunction(LLVMFuncOp func) { getLLVMContext(), attr->getMinRange().getInt(), attr->getMaxRange().getInt())); - if (auto unsafeFpMath = func.getUnsafeFpMath()) - llvmFunc->addFnAttr("unsafe-fp-math", llvm::toStringRef(*unsafeFpMath)); - if (auto noInfsFpMath = func.getNoInfsFpMath()) llvmFunc->addFnAttr("no-infs-fp-math", llvm::toStringRef(*noInfsFpMath)); diff --git a/mlir/test/Dialect/LLVMIR/func.mlir b/mlir/test/Dialect/LLVMIR/func.mlir index 071f12431e5b7..cec4586b80074 100644 --- a/mlir/test/Dialect/LLVMIR/func.mlir +++ b/mlir/test/Dialect/LLVMIR/func.mlir @@ -258,12 +258,6 @@ module { llvm.return } - llvm.func @unsafe_fp_math_roundtrip() attributes {unsafe_fp_math = true} { - // CHECK: @unsafe_fp_math_roundtrip - // CHECK-SAME: attributes {unsafe_fp_math = true} - llvm.return - } - llvm.func @no_infs_fp_math_roundtrip() attributes {no_infs_fp_math = true} { // CHECK: @no_infs_fp_math_roundtrip // CHECK-SAME: attributes {no_infs_fp_math = true} diff --git a/mlir/test/Target/LLVMIR/Import/function-attributes.ll b/mlir/test/Target/LLVMIR/Import/function-attributes.ll index 00d09baea393e..83c0438840f35 100644 --- a/mlir/test/Target/LLVMIR/Import/function-attributes.ll +++ b/mlir/test/Target/LLVMIR/Import/function-attributes.ll @@ -303,18 +303,6 @@ declare void @align_decl() align 64 ; // ----- -; CHECK-LABEL: @func_attr_unsafe_fp_math_true -; CHECK-SAME: attributes {unsafe_fp_math = true} -declare void @func_attr_unsafe_fp_math_true() "unsafe-fp-math"="true" - -; // ----- - -; CHECK-LABEL: @func_attr_unsafe_fp_math_false -; CHECK-SAME: attributes {unsafe_fp_math = false} -declare void @func_attr_unsafe_fp_math_false() "unsafe-fp-math"="false" - -; // ----- - ; CHECK-LABEL: @func_attr_no_infs_fp_math_true ; CHECK-SAME: attributes {no_infs_fp_math = true} declare void @func_attr_no_infs_fp_math_true() "no-infs-fp-math"="true" diff --git a/mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir b/mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir index 7b11fdc6121f6..f76a6cf9d6fa1 100644 --- a/mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir +++ b/mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir @@ -1,23 +1,5 @@ // RUN: mlir-translate -mlir-to-llvmir -split-input-file %s | FileCheck %s -// CHECK-LABEL: define void @unsafe_fp_math_func_true() -// CHECK-SAME: #[[ATTRS:[0-9]+]] -llvm.func @unsafe_fp_math_func_true() attributes {unsafe_fp_math = true} { - llvm.return -} -// CHECK: attributes #[[ATTRS]] = { "unsafe-fp-math"="true" } - -// ----- - -// CHECK-LABEL: define void @unsafe_fp_math_func_false() -// CHECK-SAME: #[[ATTRS:[0-9]+]] -llvm.func @unsafe_fp_math_func_false() attributes {unsafe_fp_math = false} { - llvm.return -} -// CHECK: attributes #[[ATTRS]] = { "unsafe-fp-math"="false" } - -// ----- - // CHECK-LABEL: define void @no_infs_fp_math_func_true() // CHECK-SAME: #[[ATTRS:[0-9]+]] llvm.func @no_infs_fp_math_func_true() attributes {no_infs_fp_math = true} {