[llvm-branch-commits] [clang] release/21.x: [clang-format] Fix a crash on BAS_BlockIndent (#164047) (PR #164126)

2025-10-19 Thread via llvm-branch-commits

https://github.com/owenca milestoned 
https://github.com/llvm/llvm-project/pull/164126
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] [LoongArch] Add patterns to support vector type average instructions generation (PR #161079)

2025-10-19 Thread via llvm-branch-commits

tangaac wrote:

We could make these `ISD` legal.
```bash
  AVGFLOORS -> avg
  AVGFLOORU -> avg.u
  AVGCEILS -> avgr
  AVGCEILU -> avgr.u
```

https://github.com/llvm/llvm-project/pull/161079
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [libcxx] release/21.x: [libc++] Implement comparison operators for `tuple` added in C++23 (#148799) (PR #151808)

2025-10-19 Thread A. Jiang via llvm-branch-commits

https://github.com/frederick-vs-ja closed 
https://github.com/llvm/llvm-project/pull/151808
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [clang] 2b5c693 - Revert "[clang] separate recursive instantiation check from CodeSynthesisCont…"

2025-10-19 Thread via llvm-branch-commits

Author: Matheus Izvekov
Date: 2025-10-19T16:19:06-03:00
New Revision: 2b5c693610d5e52663e534ab7af9d30fdac3c2e0

URL: 
https://github.com/llvm/llvm-project/commit/2b5c693610d5e52663e534ab7af9d30fdac3c2e0
DIFF: 
https://github.com/llvm/llvm-project/commit/2b5c693610d5e52663e534ab7af9d30fdac3c2e0.diff

LOG: Revert "[clang] separate recursive instantiation check from 
CodeSynthesisCont…"

This reverts commit fd073a3fbaf0b05fae61cca5def80ce0adaeadb3.

Added: 


Modified: 
clang/include/clang/Sema/Sema.h
clang/lib/Sema/SemaTemplateInstantiate.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
clang/test/SemaTemplate/instantiate-self.cpp

Removed: 




diff  --git a/clang/include/clang/Sema/Sema.h b/clang/include/clang/Sema/Sema.h
index cb21335ede075..add4c1596ab86 100644
--- a/clang/include/clang/Sema/Sema.h
+++ b/clang/include/clang/Sema/Sema.h
@@ -13007,37 +13007,6 @@ class Sema final : public SemaBase {
   /// default arguments of its methods have been parsed.
   UnparsedDefaultArgInstantiationsMap UnparsedDefaultArgInstantiations;
 
-  using InstantiatingSpecializationsKey = llvm::PointerIntPair;
-
-  struct RecursiveInstGuard {
-enum class Kind {
-  Template,
-  DefaultArgument,
-  ExceptionSpec,
-};
-
-RecursiveInstGuard(Sema &S, Decl *D, Kind Kind)
-: S(S), Key(D->getCanonicalDecl(), unsigned(Kind)) {
-  auto [_, Created] = S.InstantiatingSpecializations.insert(Key);
-  if (!Created)
-Key = {};
-}
-
-~RecursiveInstGuard() {
-  if (Key.getOpaqueValue()) {
-[[maybe_unused]] bool Erased =
-S.InstantiatingSpecializations.erase(Key);
-assert(Erased);
-  }
-}
-
-operator bool() const { return Key.getOpaqueValue() == nullptr; }
-
-  private:
-Sema &S;
-Sema::InstantiatingSpecializationsKey Key;
-  };
-
   /// A context in which code is being synthesized (where a source location
   /// alone is not sufficient to identify the context). This covers template
   /// instantiation and various forms of implicitly-generated functions.
@@ -13399,9 +13368,14 @@ class Sema final : public SemaBase {
 /// recursive template instantiations.
 bool isInvalid() const { return Invalid; }
 
+/// Determine whether we are already instantiating this
+/// specialization in some surrounding active instantiation.
+bool isAlreadyInstantiating() const { return AlreadyInstantiating; }
+
   private:
 Sema &SemaRef;
 bool Invalid;
+bool AlreadyInstantiating;
 
 InstantiatingTemplate(Sema &SemaRef,
   CodeSynthesisContext::SynthesisKind Kind,
@@ -13531,7 +13505,7 @@ class Sema final : public SemaBase {
   SmallVector CodeSynthesisContexts;
 
   /// Specializations whose definitions are currently being instantiated.
-  llvm::DenseSet InstantiatingSpecializations;
+  llvm::DenseSet> InstantiatingSpecializations;
 
   /// Non-dependent types used in templates that have already been instantiated
   /// by some template instantiation.
@@ -13806,14 +13780,6 @@ class Sema final : public SemaBase {
 const MultiLevelTemplateArgumentList &TemplateArgs,
 TemplateSpecializationKind TSK, bool Complain = true);
 
-private:
-  bool InstantiateClassImpl(SourceLocation PointOfInstantiation,
-CXXRecordDecl *Instantiation,
-CXXRecordDecl *Pattern,
-const MultiLevelTemplateArgumentList &TemplateArgs,
-TemplateSpecializationKind TSK, bool Complain);
-
-public:
   /// Instantiate the definition of an enum from a given pattern.
   ///
   /// \param PointOfInstantiation The point of instantiation within the

diff  --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp 
b/clang/lib/Sema/SemaTemplateInstantiate.cpp
index 7f858050db13e..038f39633760d 100644
--- a/clang/lib/Sema/SemaTemplateInstantiate.cpp
+++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp
@@ -639,8 +639,15 @@ Sema::InstantiatingTemplate::InstantiatingTemplate(
   }
 
   Invalid = SemaRef.pushCodeSynthesisContext(Inst);
-  if (!Invalid)
+  if (!Invalid) {
+AlreadyInstantiating =
+!Inst.Entity
+? false
+: !SemaRef.InstantiatingSpecializations
+   .insert({Inst.Entity->getCanonicalDecl(), Inst.Kind})
+   .second;
 atTemplateBegin(SemaRef.TemplateInstCallbacks, SemaRef, Inst);
+  }
 }
 
 Sema::InstantiatingTemplate::InstantiatingTemplate(
@@ -895,6 +902,13 @@ void Sema::popCodeSynthesisContext() {
 
 void Sema::InstantiatingTemplate::Clear() {
   if (!Invalid) {
+if (!AlreadyInstantiating) {
+  auto &Active = SemaRef.CodeSynthesisContexts.back();
+  if (Active.Entity)
+SemaRef.InstantiatingSpecializations.erase(
+{Active.Entity->getCa

[llvm-branch-commits] [llvm] RuntimeLibcalls: Make sure _Unwind_Resume entries are mutually exclusive (PR #164195)

2025-10-19 Thread Matt Arsenault via llvm-branch-commits

https://github.com/arsenm created 
https://github.com/llvm/llvm-project/pull/164195

None

>From 69a5b22cd1e47f53bbc779a6cb87ed94c55e39bd Mon Sep 17 00:00:00 2001
From: Matt Arsenault 
Date: Mon, 20 Oct 2025 01:13:16 +0900
Subject: [PATCH] RuntimeLibcalls: Make sure _Unwind_Resume entries are
 mutually exclusive

---
 llvm/include/llvm/IR/RuntimeLibcalls.td | 13 +++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td 
b/llvm/include/llvm/IR/RuntimeLibcalls.td
index e853f427d532a..243b864ccf033 100644
--- a/llvm/include/llvm/IR/RuntimeLibcalls.td
+++ b/llvm/include/llvm/IR/RuntimeLibcalls.td
@@ -59,6 +59,11 @@ def ExceptionModelIsNotNone : RuntimeLibcallPredicate<
   [{ExceptionModel != ExceptionHandling::None}]
 >;
 
+def ExceptionModelHasUnwindResume : RuntimeLibcallPredicate<
+  [{ExceptionModel != ExceptionHandling::None &&
+ExceptionModel != ExceptionHandling::SjLj}]
+>;
+
 def ExceptionModelIsSjLj : RuntimeLibcallPredicate<
   [{ExceptionModel == ExceptionHandling::SjLj}]
 >;
@@ -1153,8 +1158,10 @@ def __ssp_canary_word : 
RuntimeLibcallImpl;
 
//===--===//
 
 defvar ExceptionModelCalls = (add
-  LibcallImpls<(add DefaultExceptionHandlingLibcalls),
+  LibcallImpls<(add __cxa_end_cleanup),
ExceptionModelIsNotNone>,
+  LibcallImpls<(add _Unwind_Resume),
+   ExceptionModelHasUnwindResume>,
   LibcallImpls<(add SjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
 );
@@ -1396,8 +1403,10 @@ defset list 
WinArm64ECSjLjExceptionHandlingLibcalls = {
 }
 
 defvar ExceptionModelCallsArm64EC = (add
-  LibcallImpls<(add WinArm64ECDefaultExceptionHandlingLibcalls),
+  LibcallImpls<(add arm64ec___cxa_end_cleanup),
ExceptionModelIsNotNone>,
+  LibcallImpls<(add arm64ec__Unwind_Resume),
+   ExceptionModelHasUnwindResume>,
   LibcallImpls<(add WinArm64ECSjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
 );

___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] RuntimeLibcalls: Make sure _Unwind_Resume entries are mutually exclusive (PR #164195)

2025-10-19 Thread via llvm-branch-commits

llvmbot wrote:




@llvm/pr-subscribers-llvm-ir

Author: Matt Arsenault (arsenm)


Changes



---
Full diff: https://github.com/llvm/llvm-project/pull/164195.diff


1 Files Affected:

- (modified) llvm/include/llvm/IR/RuntimeLibcalls.td (+11-2) 


``diff
diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td 
b/llvm/include/llvm/IR/RuntimeLibcalls.td
index e853f427d532a..243b864ccf033 100644
--- a/llvm/include/llvm/IR/RuntimeLibcalls.td
+++ b/llvm/include/llvm/IR/RuntimeLibcalls.td
@@ -59,6 +59,11 @@ def ExceptionModelIsNotNone : RuntimeLibcallPredicate<
   [{ExceptionModel != ExceptionHandling::None}]
 >;
 
+def ExceptionModelHasUnwindResume : RuntimeLibcallPredicate<
+  [{ExceptionModel != ExceptionHandling::None &&
+ExceptionModel != ExceptionHandling::SjLj}]
+>;
+
 def ExceptionModelIsSjLj : RuntimeLibcallPredicate<
   [{ExceptionModel == ExceptionHandling::SjLj}]
 >;
@@ -1153,8 +1158,10 @@ def __ssp_canary_word : 
RuntimeLibcallImpl;
 
//===--===//
 
 defvar ExceptionModelCalls = (add
-  LibcallImpls<(add DefaultExceptionHandlingLibcalls),
+  LibcallImpls<(add __cxa_end_cleanup),
ExceptionModelIsNotNone>,
+  LibcallImpls<(add _Unwind_Resume),
+   ExceptionModelHasUnwindResume>,
   LibcallImpls<(add SjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
 );
@@ -1396,8 +1403,10 @@ defset list 
WinArm64ECSjLjExceptionHandlingLibcalls = {
 }
 
 defvar ExceptionModelCallsArm64EC = (add
-  LibcallImpls<(add WinArm64ECDefaultExceptionHandlingLibcalls),
+  LibcallImpls<(add arm64ec___cxa_end_cleanup),
ExceptionModelIsNotNone>,
+  LibcallImpls<(add arm64ec__Unwind_Resume),
+   ExceptionModelHasUnwindResume>,
   LibcallImpls<(add WinArm64ECSjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
 );

``




https://github.com/llvm/llvm-project/pull/164195
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] RuntimeLibcalls: Make sure _Unwind_Resume entries are mutually exclusive (PR #164195)

2025-10-19 Thread via llvm-branch-commits

llvmbot wrote:




@llvm/pr-subscribers-backend-arm

Author: Matt Arsenault (arsenm)


Changes



---
Full diff: https://github.com/llvm/llvm-project/pull/164195.diff


1 Files Affected:

- (modified) llvm/include/llvm/IR/RuntimeLibcalls.td (+11-2) 


``diff
diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td 
b/llvm/include/llvm/IR/RuntimeLibcalls.td
index e853f427d532a..243b864ccf033 100644
--- a/llvm/include/llvm/IR/RuntimeLibcalls.td
+++ b/llvm/include/llvm/IR/RuntimeLibcalls.td
@@ -59,6 +59,11 @@ def ExceptionModelIsNotNone : RuntimeLibcallPredicate<
   [{ExceptionModel != ExceptionHandling::None}]
 >;
 
+def ExceptionModelHasUnwindResume : RuntimeLibcallPredicate<
+  [{ExceptionModel != ExceptionHandling::None &&
+ExceptionModel != ExceptionHandling::SjLj}]
+>;
+
 def ExceptionModelIsSjLj : RuntimeLibcallPredicate<
   [{ExceptionModel == ExceptionHandling::SjLj}]
 >;
@@ -1153,8 +1158,10 @@ def __ssp_canary_word : 
RuntimeLibcallImpl;
 
//===--===//
 
 defvar ExceptionModelCalls = (add
-  LibcallImpls<(add DefaultExceptionHandlingLibcalls),
+  LibcallImpls<(add __cxa_end_cleanup),
ExceptionModelIsNotNone>,
+  LibcallImpls<(add _Unwind_Resume),
+   ExceptionModelHasUnwindResume>,
   LibcallImpls<(add SjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
 );
@@ -1396,8 +1403,10 @@ defset list 
WinArm64ECSjLjExceptionHandlingLibcalls = {
 }
 
 defvar ExceptionModelCallsArm64EC = (add
-  LibcallImpls<(add WinArm64ECDefaultExceptionHandlingLibcalls),
+  LibcallImpls<(add arm64ec___cxa_end_cleanup),
ExceptionModelIsNotNone>,
+  LibcallImpls<(add arm64ec__Unwind_Resume),
+   ExceptionModelHasUnwindResume>,
   LibcallImpls<(add WinArm64ECSjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
 );

``




https://github.com/llvm/llvm-project/pull/164195
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] RuntimeLibcalls: Make sure _Unwind_Resume entries are mutually exclusive (PR #164195)

2025-10-19 Thread via llvm-branch-commits

llvmbot wrote:




@llvm/pr-subscribers-backend-x86

Author: Matt Arsenault (arsenm)


Changes



---
Full diff: https://github.com/llvm/llvm-project/pull/164195.diff


1 Files Affected:

- (modified) llvm/include/llvm/IR/RuntimeLibcalls.td (+11-2) 


``diff
diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td 
b/llvm/include/llvm/IR/RuntimeLibcalls.td
index e853f427d532a..243b864ccf033 100644
--- a/llvm/include/llvm/IR/RuntimeLibcalls.td
+++ b/llvm/include/llvm/IR/RuntimeLibcalls.td
@@ -59,6 +59,11 @@ def ExceptionModelIsNotNone : RuntimeLibcallPredicate<
   [{ExceptionModel != ExceptionHandling::None}]
 >;
 
+def ExceptionModelHasUnwindResume : RuntimeLibcallPredicate<
+  [{ExceptionModel != ExceptionHandling::None &&
+ExceptionModel != ExceptionHandling::SjLj}]
+>;
+
 def ExceptionModelIsSjLj : RuntimeLibcallPredicate<
   [{ExceptionModel == ExceptionHandling::SjLj}]
 >;
@@ -1153,8 +1158,10 @@ def __ssp_canary_word : 
RuntimeLibcallImpl;
 
//===--===//
 
 defvar ExceptionModelCalls = (add
-  LibcallImpls<(add DefaultExceptionHandlingLibcalls),
+  LibcallImpls<(add __cxa_end_cleanup),
ExceptionModelIsNotNone>,
+  LibcallImpls<(add _Unwind_Resume),
+   ExceptionModelHasUnwindResume>,
   LibcallImpls<(add SjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
 );
@@ -1396,8 +1403,10 @@ defset list 
WinArm64ECSjLjExceptionHandlingLibcalls = {
 }
 
 defvar ExceptionModelCallsArm64EC = (add
-  LibcallImpls<(add WinArm64ECDefaultExceptionHandlingLibcalls),
+  LibcallImpls<(add arm64ec___cxa_end_cleanup),
ExceptionModelIsNotNone>,
+  LibcallImpls<(add arm64ec__Unwind_Resume),
+   ExceptionModelHasUnwindResume>,
   LibcallImpls<(add WinArm64ECSjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
 );

``




https://github.com/llvm/llvm-project/pull/164195
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] RuntimeLibcalls: Make sure _Unwind_Resume entries are mutually exclusive (PR #164195)

2025-10-19 Thread via llvm-branch-commits

llvmbot wrote:




@llvm/pr-subscribers-backend-aarch64

Author: Matt Arsenault (arsenm)


Changes



---
Full diff: https://github.com/llvm/llvm-project/pull/164195.diff


1 Files Affected:

- (modified) llvm/include/llvm/IR/RuntimeLibcalls.td (+11-2) 


``diff
diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td 
b/llvm/include/llvm/IR/RuntimeLibcalls.td
index e853f427d532a..243b864ccf033 100644
--- a/llvm/include/llvm/IR/RuntimeLibcalls.td
+++ b/llvm/include/llvm/IR/RuntimeLibcalls.td
@@ -59,6 +59,11 @@ def ExceptionModelIsNotNone : RuntimeLibcallPredicate<
   [{ExceptionModel != ExceptionHandling::None}]
 >;
 
+def ExceptionModelHasUnwindResume : RuntimeLibcallPredicate<
+  [{ExceptionModel != ExceptionHandling::None &&
+ExceptionModel != ExceptionHandling::SjLj}]
+>;
+
 def ExceptionModelIsSjLj : RuntimeLibcallPredicate<
   [{ExceptionModel == ExceptionHandling::SjLj}]
 >;
@@ -1153,8 +1158,10 @@ def __ssp_canary_word : 
RuntimeLibcallImpl;
 
//===--===//
 
 defvar ExceptionModelCalls = (add
-  LibcallImpls<(add DefaultExceptionHandlingLibcalls),
+  LibcallImpls<(add __cxa_end_cleanup),
ExceptionModelIsNotNone>,
+  LibcallImpls<(add _Unwind_Resume),
+   ExceptionModelHasUnwindResume>,
   LibcallImpls<(add SjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
 );
@@ -1396,8 +1403,10 @@ defset list 
WinArm64ECSjLjExceptionHandlingLibcalls = {
 }
 
 defvar ExceptionModelCallsArm64EC = (add
-  LibcallImpls<(add WinArm64ECDefaultExceptionHandlingLibcalls),
+  LibcallImpls<(add arm64ec___cxa_end_cleanup),
ExceptionModelIsNotNone>,
+  LibcallImpls<(add arm64ec__Unwind_Resume),
+   ExceptionModelHasUnwindResume>,
   LibcallImpls<(add WinArm64ECSjLjExceptionHandlingLibcalls),
ExceptionModelIsSjLj>
 );

``




https://github.com/llvm/llvm-project/pull/164195
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] RuntimeLibcalls: Make sure _Unwind_Resume entries are mutually exclusive (PR #164195)

2025-10-19 Thread Matt Arsenault via llvm-branch-commits

arsenm wrote:

> [!WARNING]
> This pull request is not mergeable via GitHub because a downstack PR is 
> open. Once all requirements are satisfied, merge this PR as a stack  href="https://app.graphite.dev/github/pr/llvm/llvm-project/164195?utm_source=stack-comment-downstack-mergeability-warning";
>  >on Graphite.
> https://graphite.dev/docs/merge-pull-requests";>Learn more

* **#164195** https://app.graphite.dev/github/pr/llvm/llvm-project/164195?utm_source=stack-comment-icon";
 target="_blank">https://static.graphite.dev/graphite-32x32-black.png"; alt="Graphite" 
width="10px" height="10px"/> 👈 https://app.graphite.dev/github/pr/llvm/llvm-project/164195?utm_source=stack-comment-view-in-graphite";
 target="_blank">(View in Graphite)
* **#164133** https://app.graphite.dev/github/pr/llvm/llvm-project/164133?utm_source=stack-comment-icon";
 target="_blank">https://static.graphite.dev/graphite-32x32-black.png"; alt="Graphite" 
width="10px" height="10px"/>
* **#164044** https://app.graphite.dev/github/pr/llvm/llvm-project/164044?utm_source=stack-comment-icon";
 target="_blank">https://static.graphite.dev/graphite-32x32-black.png"; alt="Graphite" 
width="10px" height="10px"/>
* `main`




This stack of pull requests is managed by https://graphite.dev?utm-source=stack-comment";>Graphite. Learn 
more about https://stacking.dev/?utm_source=stack-comment";>stacking.


https://github.com/llvm/llvm-project/pull/164195
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] RuntimeLibcalls: Make sure _Unwind_Resume entries are mutually exclusive (PR #164195)

2025-10-19 Thread Matt Arsenault via llvm-branch-commits

https://github.com/arsenm ready_for_review 
https://github.com/llvm/llvm-project/pull/164195
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] [NFC][llvm-ir2vec] Standardize error message format using WithColor (PR #164032)

2025-10-19 Thread Mircea Trofin via llvm-branch-commits

https://github.com/mtrofin approved this pull request.


https://github.com/llvm/llvm-project/pull/164032
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] [NFC][llvm-ir2vec] Standardize error message format using WithColor (PR #164032)

2025-10-19 Thread Mircea Trofin via llvm-branch-commits

https://github.com/mtrofin edited 
https://github.com/llvm/llvm-project/pull/164032
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] [MLGO] Add MIR2Vec embedding framework documentation (PR #164033)

2025-10-19 Thread Mircea Trofin via llvm-branch-commits

https://github.com/mtrofin approved this pull request.


https://github.com/llvm/llvm-project/pull/164033
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] [MLGO] Add MIR2Vec embedding framework documentation (PR #164033)

2025-10-19 Thread Mircea Trofin via llvm-branch-commits

https://github.com/mtrofin edited 
https://github.com/llvm/llvm-project/pull/164033
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] [FPEnv][SDAG] Implement FNEARBYINT with optional chain (PR #163081)

2025-10-19 Thread Serge Pavlov via llvm-branch-commits

spavloff wrote:

The use of mandatory chain argument is discussed here: 
https://discourse.llvm.org/t/rfc-change-of-strict-fp-operation-representation-in-ir/85021.

Using null chain is an interesting solution, because it allows detecting 
problems earlier. If we choose mandatory chain, it could be better than using 
the entry node.

> Is this a prerequisite for the IR refactoring you're looking at, or just a 
> related cleanup? I don't see any obvious connection (as long as there's some 
> way to translate from LLVM IR to SelectionDAG, it doesn't matter if it 
> exactly matches).

No, this is independent solution for similar problem.

> If this optional-chain thing works well, maybe we could also use it for 
> https://github.com/llvm/llvm-project/issues/2535.

It is very interesting case. Solving that problem probably requires setting 
memory effects for sdiv/udiv, but DAG definitely has to be fixed.

https://github.com/llvm/llvm-project/pull/163081
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits