[llvm-branch-commits] [llvm] [SelectionDAG] Adaptation for FP operation lowering (PR #138553)

2025-05-12 Thread Serge Pavlov via llvm-branch-commits
@@ -8350,6 +8351,59 @@ void SelectionDAGBuilder::visitConstrainedFPIntrinsic( setValue(&FPI, FPResult); } +void SelectionDAGBuilder::visitFPOperationIntrinsic(const CallInst &CI, +unsigned Intrinsic) { + SDLoc sdl = getCur

[llvm-branch-commits] [llvm] [SelectionDAG] Adaptation for FP operation lowering (PR #138553)

2025-05-12 Thread Serge Pavlov via llvm-branch-commits
@@ -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

[llvm-branch-commits] [llvm] [SelectionDAG] Adaptation for FP operation lowering (PR #138553)

2025-05-05 Thread Serge Pavlov via llvm-branch-commits
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

[llvm-branch-commits] [llvm] Bundle operands to specify denormal modes (PR #136501)

2025-04-25 Thread Serge Pavlov via llvm-branch-commits
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

[llvm-branch-commits] [llvm] Bundle operands to specify denormal modes (PR #136501)

2025-04-24 Thread Serge Pavlov via llvm-branch-commits
@@ -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

[llvm-branch-commits] [llvm] Bundle operands to specify denormal modes (PR #136501)

2025-04-24 Thread Serge Pavlov via llvm-branch-commits
@@ -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

[llvm-branch-commits] [llvm] Bundle operands to specify denormal modes (PR #136501)

2025-04-24 Thread Serge Pavlov via llvm-branch-commits
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

[llvm-branch-commits] [llvm] Bundle operands to specify denormal modes (PR #136501)

2025-04-21 Thread Serge Pavlov via llvm-branch-commits
@@ -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

[llvm-branch-commits] [llvm] Add constrained fadd to FP operations (PR #136499)

2025-04-20 Thread Serge Pavlov via llvm-branch-commits
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

[llvm-branch-commits] [llvm] Bundle operands to specify denormal modes (PR #136501)

2025-04-20 Thread Serge Pavlov via llvm-branch-commits
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

[llvm-branch-commits] [clang] [llvm] [IR] Add FPOperation intrinsic property (PR #122313)

2025-01-14 Thread Serge Pavlov via llvm-branch-commits
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

[llvm-branch-commits] [clang] [llvm] [IR] Add FPOperation intrinsic property (PR #122313)

2025-01-12 Thread Serge Pavlov via llvm-branch-commits
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

[llvm-branch-commits] [clang] [llvm] [IR] Add FPOperation intrinsic property (PR #122313)

2025-01-09 Thread Serge Pavlov via llvm-branch-commits
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

[llvm-branch-commits] [clang] [llvm] [IR] Add FPOperation intrinsic property (PR #122313)

2025-01-09 Thread Serge Pavlov via llvm-branch-commits
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

[llvm-branch-commits] [clang] [llvm] [IR] Add FPOperation intrinsic property (PR #122313)

2025-01-09 Thread Serge Pavlov via 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

[llvm-branch-commits] [llvm] DAG: Handle lowering unordered compare with inf (PR #100378)

2024-08-28 Thread Serge Pavlov via llvm-branch-commits
@@ -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

[llvm-branch-commits] [llvm] DAG: Check if is_fpclass is custom, instead of isLegalOrCustom (PR #105577)

2024-08-28 Thread Serge Pavlov via llvm-branch-commits
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

[llvm-branch-commits] [llvm] DAG: Lower single infinity is.fpclass tests to fcmp (PR #100380)

2024-07-25 Thread Serge Pavlov via 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

[llvm-branch-commits] [cfe-branch] r323132 - [6.0.0 Release] Release notes for configuration files in clang

2018-01-24 Thread Serge Pavlov via llvm-branch-commits
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