kpneal wrote:
OK, I'll head in the direction you've pointed. Thanks for your time!
https://github.com/llvm/llvm-project/pull/74883
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/kpneal closed https://github.com/llvm/llvm-project/pull/74883
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/rjmccall requested changes to this pull request.
I'm sorry for failing to notice this in my previous review, but I don't think
this patch is right. A global initializer should be FP-constrained based on
whether the variable is defined in an FP-constrained context. This is
https://github.com/kpneal updated
https://github.com/llvm/llvm-project/pull/74883
>From eb43ba5adbf57988fdd5f490a74dc59d72f495e5 Mon Sep 17 00:00:00 2001
From: "Kevin P. Neal"
Date: Fri, 8 Dec 2023 14:43:50 -0500
Subject: [PATCH 1/5] [FPEnv] Add strictfp in some C++ constructors lacking a
@@ -6,14 +7,80 @@ float z();
#pragma float_control(except, on)
class ON {
float w = 2 + y() * z();
- // CHECK-LABEL: define {{.*}} @_ZN2ONC2Ev{{.*}}
- // CHECK: llvm.experimental.constrained.fmul{{.*}}tonearest{{.*}}strict
};
ON on;
#pragma float_control(except, off)
@@ -5520,6 +5520,12 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo
,
CGM.AdjustMemoryAttribute(CalleePtr->getName(), Callee.getAbstractInfo(),
Attrs);
}
+ // We may not have a FunctionDecl*, but we still need to support
@@ -6,14 +7,80 @@ float z();
#pragma float_control(except, on)
class ON {
float w = 2 + y() * z();
- // CHECK-LABEL: define {{.*}} @_ZN2ONC2Ev{{.*}}
- // CHECK: llvm.experimental.constrained.fmul{{.*}}tonearest{{.*}}strict
};
ON on;
#pragma float_control(except, off)
@@ -5587,10 +5593,12 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo
,
!isa_and_nonnull(TargetDecl))
EmitKCFIOperandBundle(ConcreteCallee, BundleList);
+#if 0 // XXX Why is this here? Duplicate!
if (const FunctionDecl *FD =
https://github.com/kpneal updated
https://github.com/llvm/llvm-project/pull/74883
>From eb43ba5adbf57988fdd5f490a74dc59d72f495e5 Mon Sep 17 00:00:00 2001
From: "Kevin P. Neal"
Date: Fri, 8 Dec 2023 14:43:50 -0500
Subject: [PATCH 1/3] [FPEnv] Add strictfp in some C++ constructors lacking a
@@ -6,14 +7,80 @@ float z();
#pragma float_control(except, on)
class ON {
float w = 2 + y() * z();
- // CHECK-LABEL: define {{.*}} @_ZN2ONC2Ev{{.*}}
- // CHECK: llvm.experimental.constrained.fmul{{.*}}tonearest{{.*}}strict
};
ON on;
#pragma float_control(except, off)
@@ -5587,10 +5593,12 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo
,
!isa_and_nonnull(TargetDecl))
EmitKCFIOperandBundle(ConcreteCallee, BundleList);
+#if 0 // XXX Why is this here? Duplicate!
if (const FunctionDecl *FD =
llvmbot wrote:
@llvm/pr-subscribers-clang
Author: Kevin P. Neal (kpneal)
Changes
Some C++ constructors require the strictfp attribute on all function calls but
don't get it because the comstructor lacks a FunctionDecl. Use the IRBuilder's
strictfp mode to communicate that the strictfp
https://github.com/kpneal created
https://github.com/llvm/llvm-project/pull/74883
Some C++ constructors require the strictfp attribute on all function calls but
don't get it because the comstructor lacks a FunctionDecl. Use the IRBuilder's
strictfp mode to communicate that the strictfp
13 matches
Mail list logo