@@ -8350,6 +8351,59 @@ void SelectionDAGBuilder::visitConstrainedFPIntrinsic(
setValue(&FPI, FPResult);
}
+void SelectionDAGBuilder::visitFPOperationIntrinsic(const CallInst &CI,
+unsigned Intrinsic) {
+ SDLoc sdl = getCur
@@ -6826,9 +6824,7 @@ void SelectionDAGBuilder::visitIntrinsicCall(const
CallInst &I,
case Intrinsic::exp10:Opcode = ISD::FEXP10;break;
case Intrinsic::floor:Opcode = ISD::FFLOOR;break;
case Intrinsic::ceil: Opcode = ISD::FCE
https://github.com/spavloff created
https://github.com/llvm/llvm-project/pull/138553
FP operations listed in FloatingPointOps.def are now lowered to DAG in the same
way as constrained intrinsics, using special DAG nodes like STRICT_NEARBYINT.
This is a temporary solution. Existing nodes like S
https://github.com/spavloff updated
https://github.com/llvm/llvm-project/pull/136501
>From 22742e24c1eef3ecc0fb4294dac9f42c9d160019 Mon Sep 17 00:00:00 2001
From: Serge Pavlov
Date: Thu, 17 Apr 2025 18:42:15 +0700
Subject: [PATCH 1/3] Bundle operands to specify denormal modes
Two new operands
@@ -678,6 +682,71 @@ fp::ExceptionBehavior CallBase::getExceptionBehavior()
const {
return fp::ebIgnore;
}
+DenormalMode::DenormalModeKind CallBase::getInputDenormMode() const {
+ if (auto InDenormBundle = getOperandBundle(LLVMContext::OB_fp_control)) {
+auto DenormOpe
@@ -678,6 +682,71 @@ fp::ExceptionBehavior CallBase::getExceptionBehavior()
const {
return fp::ebIgnore;
}
+DenormalMode::DenormalModeKind CallBase::getInputDenormMode() const {
+ if (auto InDenormBundle = getOperandBundle(LLVMContext::OB_fp_control)) {
+auto DenormOpe
https://github.com/spavloff updated
https://github.com/llvm/llvm-project/pull/136501
>From 22742e24c1eef3ecc0fb4294dac9f42c9d160019 Mon Sep 17 00:00:00 2001
From: Serge Pavlov
Date: Thu, 17 Apr 2025 18:42:15 +0700
Subject: [PATCH 1/2] Bundle operands to specify denormal modes
Two new operands
@@ -678,6 +682,71 @@ fp::ExceptionBehavior CallBase::getExceptionBehavior()
const {
return fp::ebIgnore;
}
+DenormalMode::DenormalModeKind CallBase::getInputDenormMode() const {
+ if (auto InDenormBundle = getOperandBundle(LLVMContext::OB_fp_control)) {
+auto DenormOpe
https://github.com/spavloff created
https://github.com/llvm/llvm-project/pull/136499
Constrained intrinsics are treated as regular intrinsicss from the perspective
of FP operand bundle mechanism, meaning they can have FP operand bundles. The
FP bundle API functions will report properties based
https://github.com/spavloff created
https://github.com/llvm/llvm-project/pull/136501
Two new operands are now supported in the "fp.control" operand bundle:
* "denorm.in=xxx" - specifies the inpot denormal mode.
* "denorm.out=xxx" - specifies the output denormal mode.
Here xxx must b
spavloff wrote:
Rounding mode is a parameter of a floating-point operation, its effect does not
depend on the fact that it comes from a register or is specified as an
immediate value. Implementing them differently does not look like a good
solution.
Implementing static rounding using differen
spavloff wrote:
This attribute is needed only for validation of FP operand bundles, to check if
a call may have such bundles. It addresses the concern that a call should have
FP bundles only when they make sense for the called function (e.g.
https://github.com/llvm/llvm-project/pull/118253#dis
spavloff wrote:
Sorry, I didn't provide enough documentation. Now the attribute is documented
in LangRef and the motivation for this change is presented in the PR
description.
> I think this is aiming too low. I think this should be a general floating
> point environment access that is specif
https://github.com/spavloff edited
https://github.com/llvm/llvm-project/pull/122313
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/spavloff updated
https://github.com/llvm/llvm-project/pull/122313
>From b6b73416ef8bdb10113c1311bfa88ea16847b365 Mon Sep 17 00:00:00 2001
From: Serge Pavlov
Date: Mon, 16 Dec 2024 19:21:33 +0700
Subject: [PATCH] [IR] Add FPOperation intrinsic property
The previous implementa
@@ -219,9 +219,13 @@ findSplitPointForStackProtector(MachineBasicBlock *BB,
/// (i.e. fewer instructions should be required to lower it). An example is
the
/// test "inf|normal|subnormal|zero", which is an inversion of "nan".
/// \param Test The test as specified in 'is_fpcla
https://github.com/spavloff approved this pull request.
LGTM.
https://github.com/llvm/llvm-project/pull/105577
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
spavloff wrote:
Just as with #100378 the changes in tests demonstrates that the produced code
becomes worse. In what cases this patch makes improvement? Can it be limited to
such cases?
https://github.com/llvm/llvm-project/pull/100380
___
llvm-branch
Author: sepavloff
Date: Mon Jan 22 08:44:29 2018
New Revision: 323132
URL: http://llvm.org/viewvc/llvm-project?rev=323132&view=rev
Log:
[6.0.0 Release] Release notes for configuration files in clang
Differential Revision: https://reviews.llvm.org/D42360
Modified:
cfe/branches/release_60/docs
19 matches
Mail list logo