[clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-04 Thread Arvind Mukund via cfe-commits

https://github.com/MasterAwesome created 
https://github.com/llvm/llvm-project/pull/68284

When LLVM_UNREACHABLE_OPTIMIZE is turned off during release mode, a `do { 
BUILTIN_TRAP; BUILTIN_UNREACHABLE; } while(0)` is emitted this causes the 
ternary operator to not work as expected. Correct this behavior such that it 
works in all modes.

Tests:
 * LLVM_UNREACHABLE_OPTIMIZE=[ON|OFF] works in both `Release` and `Debug` modes
 * Lambdas on release mode are inlined / similar lambdas are merged.

>From edb04da9e4db6043f0905ad887a1fe5ffad48fca Mon Sep 17 00:00:00 2001
From: Arvind Mukund 
Date: Wed, 4 Oct 2023 22:25:08 -0700
Subject: [PATCH] Correct unreachable hint in release mode

When LLVM_UNREACHABLE_OPTIMIZE is turned off during release mode, a
`do { BUILTIN_TRAP; BUILTIN_UNREACHABLE; } while(0)` is emitted this
causes the ternary operator to not work as expected. Correct this
behavior such that it works in all modes.

Tests:
 * LLVM_UNREACHABLE_OPTIMIZE=[ON|OFF] works in both `Release` and
   `Debug` modes
 * Lambdas on release mode are inlined / similar lambdas are merged.

Signed-off-by: Arvind Mukund 
---
 clang/utils/TableGen/ClangAttrEmitter.cpp | 17 +++--
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp 
b/clang/utils/TableGen/ClangAttrEmitter.cpp
index ffada02ac4d30a5..6a821463aa9f0fe 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -2690,7 +2690,8 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
 OS << ", ";
 emitFormInitializer(OS, Spellings[0], "0");
   } else {
-OS << ", (\n";
+OS << ", [&]() {\n";
+OS << "switch (S) {\n";
 std::set Uniques;
 unsigned Idx = 0;
 for (auto I = Spellings.begin(), E = Spellings.end(); I != E;
@@ -2698,15 +2699,19 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
   const FlattenedSpelling &S = *I;
   const auto &Name = SemanticToSyntacticMap[Idx];
   if (Uniques.insert(Name).second) {
-OS << "S == " << Name << " ? AttributeCommonInfo::Form";
+OS << "case " << Name << ":\n";
+OS << "  return  AttributeCommonInfo::Form";
 emitFormInitializer(OS, S, Name);
-OS << " :\n";
+OS << ";\n";
   }
 }
-OS << "(llvm_unreachable(\"Unknown attribute spelling!\"), "
-   << " AttributeCommonInfo::Form";
+OS << "default:\n";
+OS << "  llvm_unreachable(\"Unknown attribute spelling!\");\n"
+   << "  return AttributeCommonInfo::Form";
 emitFormInitializer(OS, Spellings[0], "0");
-OS << "))";
+OS << ";\n"
+   << "}\n"
+   << "  }()";
   }
 
   OS << ");\n";

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-04 Thread Arvind Mukund via cfe-commits

https://github.com/MasterAwesome edited 
https://github.com/llvm/llvm-project/pull/68284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-04 Thread Arvind Mukund via cfe-commits

https://github.com/MasterAwesome edited 
https://github.com/llvm/llvm-project/pull/68284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-04 Thread Arvind Mukund via cfe-commits

https://github.com/MasterAwesome updated 
https://github.com/llvm/llvm-project/pull/68284

>From edb04da9e4db6043f0905ad887a1fe5ffad48fca Mon Sep 17 00:00:00 2001
From: Arvind Mukund 
Date: Wed, 4 Oct 2023 22:25:08 -0700
Subject: [PATCH 1/2] Correct unreachable hint in release mode

When LLVM_UNREACHABLE_OPTIMIZE is turned off during release mode, a
`do { BUILTIN_TRAP; BUILTIN_UNREACHABLE; } while(0)` is emitted this
causes the ternary operator to not work as expected. Correct this
behavior such that it works in all modes.

Tests:
 * LLVM_UNREACHABLE_OPTIMIZE=[ON|OFF] works in both `Release` and
   `Debug` modes
 * Lambdas on release mode are inlined / similar lambdas are merged.

Signed-off-by: Arvind Mukund 
---
 clang/utils/TableGen/ClangAttrEmitter.cpp | 17 +++--
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp 
b/clang/utils/TableGen/ClangAttrEmitter.cpp
index ffada02ac4d30a5..6a821463aa9f0fe 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -2690,7 +2690,8 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
 OS << ", ";
 emitFormInitializer(OS, Spellings[0], "0");
   } else {
-OS << ", (\n";
+OS << ", [&]() {\n";
+OS << "switch (S) {\n";
 std::set Uniques;
 unsigned Idx = 0;
 for (auto I = Spellings.begin(), E = Spellings.end(); I != E;
@@ -2698,15 +2699,19 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
   const FlattenedSpelling &S = *I;
   const auto &Name = SemanticToSyntacticMap[Idx];
   if (Uniques.insert(Name).second) {
-OS << "S == " << Name << " ? AttributeCommonInfo::Form";
+OS << "case " << Name << ":\n";
+OS << "  return  AttributeCommonInfo::Form";
 emitFormInitializer(OS, S, Name);
-OS << " :\n";
+OS << ";\n";
   }
 }
-OS << "(llvm_unreachable(\"Unknown attribute spelling!\"), "
-   << " AttributeCommonInfo::Form";
+OS << "default:\n";
+OS << "  llvm_unreachable(\"Unknown attribute spelling!\");\n"
+   << "  return AttributeCommonInfo::Form";
 emitFormInitializer(OS, Spellings[0], "0");
-OS << "))";
+OS << ";\n"
+   << "}\n"
+   << "  }()";
   }
 
   OS << ");\n";

>From a5922f6cae71d7eee53fa842d1f07d021b12c6d0 Mon Sep 17 00:00:00 2001
From: Arvind Mukund 
Date: Wed, 4 Oct 2023 22:34:32 -0700
Subject: [PATCH 2/2] Remove extra space after `return`

Signed-off-by: Arvind Mukund 
---
 clang/utils/TableGen/ClangAttrEmitter.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp 
b/clang/utils/TableGen/ClangAttrEmitter.cpp
index 6a821463aa9f0fe..f2a6c1dfcf2fcc4 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -2700,7 +2700,7 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
   const auto &Name = SemanticToSyntacticMap[Idx];
   if (Uniques.insert(Name).second) {
 OS << "case " << Name << ":\n";
-OS << "  return  AttributeCommonInfo::Form";
+OS << "  return AttributeCommonInfo::Form";
 emitFormInitializer(OS, S, Name);
 OS << ";\n";
   }

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-04 Thread Arvind Mukund via cfe-commits

https://github.com/MasterAwesome edited 
https://github.com/llvm/llvm-project/pull/68284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-04 Thread Arvind Mukund via cfe-commits

https://github.com/MasterAwesome ready_for_review 
https://github.com/llvm/llvm-project/pull/68284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-04 Thread Arvind Mukund via cfe-commits

https://github.com/MasterAwesome edited 
https://github.com/llvm/llvm-project/pull/68284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-05 Thread Arvind Mukund via cfe-commits

https://github.com/MasterAwesome updated 
https://github.com/llvm/llvm-project/pull/68284

>From 8598d5f4cfad4f3887ec40b7c3d21e385f731d9d Mon Sep 17 00:00:00 2001
From: Arvind Mukund 
Date: Wed, 4 Oct 2023 22:25:08 -0700
Subject: [PATCH 1/3] Correct unreachable hint in release mode

When LLVM_UNREACHABLE_OPTIMIZE is turned off during release mode, a
`do { BUILTIN_TRAP; BUILTIN_UNREACHABLE; } while(0)` is emitted this
causes the ternary operator to not work as expected. Correct this
behavior such that it works in all modes.

Tests:
 * LLVM_UNREACHABLE_OPTIMIZE=[ON|OFF] works in both `Release` and
   `Debug` modes
 * Lambdas on release mode are inlined / similar lambdas are merged.

Signed-off-by: Arvind Mukund 
---
 clang/utils/TableGen/ClangAttrEmitter.cpp | 17 +++--
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp 
b/clang/utils/TableGen/ClangAttrEmitter.cpp
index ffada02ac4d30a5..6a821463aa9f0fe 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -2690,7 +2690,8 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
 OS << ", ";
 emitFormInitializer(OS, Spellings[0], "0");
   } else {
-OS << ", (\n";
+OS << ", [&]() {\n";
+OS << "switch (S) {\n";
 std::set Uniques;
 unsigned Idx = 0;
 for (auto I = Spellings.begin(), E = Spellings.end(); I != E;
@@ -2698,15 +2699,19 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
   const FlattenedSpelling &S = *I;
   const auto &Name = SemanticToSyntacticMap[Idx];
   if (Uniques.insert(Name).second) {
-OS << "S == " << Name << " ? AttributeCommonInfo::Form";
+OS << "case " << Name << ":\n";
+OS << "  return  AttributeCommonInfo::Form";
 emitFormInitializer(OS, S, Name);
-OS << " :\n";
+OS << ";\n";
   }
 }
-OS << "(llvm_unreachable(\"Unknown attribute spelling!\"), "
-   << " AttributeCommonInfo::Form";
+OS << "default:\n";
+OS << "  llvm_unreachable(\"Unknown attribute spelling!\");\n"
+   << "  return AttributeCommonInfo::Form";
 emitFormInitializer(OS, Spellings[0], "0");
-OS << "))";
+OS << ";\n"
+   << "}\n"
+   << "  }()";
   }
 
   OS << ");\n";

>From 0a4442b0a3baac993b8e3ca98fe4389b0e0e577d Mon Sep 17 00:00:00 2001
From: Arvind Mukund 
Date: Wed, 4 Oct 2023 22:34:32 -0700
Subject: [PATCH 2/3] Remove extra space after `return`

Signed-off-by: Arvind Mukund 
---
 clang/utils/TableGen/ClangAttrEmitter.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp 
b/clang/utils/TableGen/ClangAttrEmitter.cpp
index 6a821463aa9f0fe..f2a6c1dfcf2fcc4 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -2700,7 +2700,7 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
   const auto &Name = SemanticToSyntacticMap[Idx];
   if (Uniques.insert(Name).second) {
 OS << "case " << Name << ":\n";
-OS << "  return  AttributeCommonInfo::Form";
+OS << "  return AttributeCommonInfo::Form";
 emitFormInitializer(OS, S, Name);
 OS << ";\n";
   }

>From df0287c44856a08badc6ce3051c4cd6963662db1 Mon Sep 17 00:00:00 2001
From: Arvind Mukund 
Date: Thu, 5 Oct 2023 09:53:51 -0700
Subject: [PATCH 3/3] Add this bug fix to clang's release notes

Signed-off-by: Arvind Mukund 
---
 clang/docs/ReleaseNotes.rst | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 7b22f3c6842c9f8..29f3e18fc59fc2b 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -343,6 +343,8 @@ Bug Fixes in This Version
 - Fix a crash when evaluating value-dependent structured binding
   variables at compile time.
   Fixes (`#67690 `_)
+- Fixes a regression where ``LLVM_UNREACHABLE_OPTIMIZE=OFF`` cannot be used
+  with ``Release`` mode builds. (`#68237 
`_)
 
 Bug Fixes to Compiler Builtins
 ^^

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-05 Thread Arvind Mukund via cfe-commits

MasterAwesome wrote:

@erichkeane @AaronBallman, I've added the release notes and rebased the change 
on `main`.


https://github.com/llvm/llvm-project/pull/68284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-05 Thread Arvind Mukund via cfe-commits

https://github.com/MasterAwesome updated 
https://github.com/llvm/llvm-project/pull/68284

>From 8598d5f4cfad4f3887ec40b7c3d21e385f731d9d Mon Sep 17 00:00:00 2001
From: Arvind Mukund 
Date: Wed, 4 Oct 2023 22:25:08 -0700
Subject: [PATCH 1/4] Correct unreachable hint in release mode

When LLVM_UNREACHABLE_OPTIMIZE is turned off during release mode, a
`do { BUILTIN_TRAP; BUILTIN_UNREACHABLE; } while(0)` is emitted this
causes the ternary operator to not work as expected. Correct this
behavior such that it works in all modes.

Tests:
 * LLVM_UNREACHABLE_OPTIMIZE=[ON|OFF] works in both `Release` and
   `Debug` modes
 * Lambdas on release mode are inlined / similar lambdas are merged.

Signed-off-by: Arvind Mukund 
---
 clang/utils/TableGen/ClangAttrEmitter.cpp | 17 +++--
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp 
b/clang/utils/TableGen/ClangAttrEmitter.cpp
index ffada02ac4d30a5..6a821463aa9f0fe 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -2690,7 +2690,8 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
 OS << ", ";
 emitFormInitializer(OS, Spellings[0], "0");
   } else {
-OS << ", (\n";
+OS << ", [&]() {\n";
+OS << "switch (S) {\n";
 std::set Uniques;
 unsigned Idx = 0;
 for (auto I = Spellings.begin(), E = Spellings.end(); I != E;
@@ -2698,15 +2699,19 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
   const FlattenedSpelling &S = *I;
   const auto &Name = SemanticToSyntacticMap[Idx];
   if (Uniques.insert(Name).second) {
-OS << "S == " << Name << " ? AttributeCommonInfo::Form";
+OS << "case " << Name << ":\n";
+OS << "  return  AttributeCommonInfo::Form";
 emitFormInitializer(OS, S, Name);
-OS << " :\n";
+OS << ";\n";
   }
 }
-OS << "(llvm_unreachable(\"Unknown attribute spelling!\"), "
-   << " AttributeCommonInfo::Form";
+OS << "default:\n";
+OS << "  llvm_unreachable(\"Unknown attribute spelling!\");\n"
+   << "  return AttributeCommonInfo::Form";
 emitFormInitializer(OS, Spellings[0], "0");
-OS << "))";
+OS << ";\n"
+   << "}\n"
+   << "  }()";
   }
 
   OS << ");\n";

>From 0a4442b0a3baac993b8e3ca98fe4389b0e0e577d Mon Sep 17 00:00:00 2001
From: Arvind Mukund 
Date: Wed, 4 Oct 2023 22:34:32 -0700
Subject: [PATCH 2/4] Remove extra space after `return`

Signed-off-by: Arvind Mukund 
---
 clang/utils/TableGen/ClangAttrEmitter.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp 
b/clang/utils/TableGen/ClangAttrEmitter.cpp
index 6a821463aa9f0fe..f2a6c1dfcf2fcc4 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -2700,7 +2700,7 @@ static void emitAttributes(RecordKeeper &Records, 
raw_ostream &OS,
   const auto &Name = SemanticToSyntacticMap[Idx];
   if (Uniques.insert(Name).second) {
 OS << "case " << Name << ":\n";
-OS << "  return  AttributeCommonInfo::Form";
+OS << "  return AttributeCommonInfo::Form";
 emitFormInitializer(OS, S, Name);
 OS << ";\n";
   }

>From df0287c44856a08badc6ce3051c4cd6963662db1 Mon Sep 17 00:00:00 2001
From: Arvind Mukund 
Date: Thu, 5 Oct 2023 09:53:51 -0700
Subject: [PATCH 3/4] Add this bug fix to clang's release notes

Signed-off-by: Arvind Mukund 
---
 clang/docs/ReleaseNotes.rst | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 7b22f3c6842c9f8..29f3e18fc59fc2b 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -343,6 +343,8 @@ Bug Fixes in This Version
 - Fix a crash when evaluating value-dependent structured binding
   variables at compile time.
   Fixes (`#67690 `_)
+- Fixes a regression where ``LLVM_UNREACHABLE_OPTIMIZE=OFF`` cannot be used
+  with ``Release`` mode builds. (`#68237 
`_)
 
 Bug Fixes to Compiler Builtins
 ^^

>From 8ffd966ed5c3bee7da9251df921e06f8f2f1e4bc Mon Sep 17 00:00:00 2001
From: Arvind Mukund 
Date: Thu, 5 Oct 2023 11:50:06 -0700
Subject: [PATCH 4/4] Define the regressed clang version in the release notes

---
 clang/docs/ReleaseNotes.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 29f3e18fc59fc2b..ae67a783c2fa2d5 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -343,8 +343,8 @@ Bug Fixes in This Version
 - Fix a crash when ev

[clang] [clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-05 Thread Arvind Mukund via cfe-commits


@@ -343,6 +343,8 @@ Bug Fixes in This Version
 - Fix a crash when evaluating value-dependent structured binding
   variables at compile time.
   Fixes (`#67690 `_)
+- Fixes a regression where ``LLVM_UNREACHABLE_OPTIMIZE=OFF`` cannot be used

MasterAwesome wrote:

Done

https://github.com/llvm/llvm-project/pull/68284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-05 Thread Arvind Mukund via cfe-commits

MasterAwesome wrote:

@AaronBallman, @erichkeane; whenever ya'll are done with the review, can you 
merge this in? I don't think I have access. And about the backporting, do we 
need it for 17.x bugfix releases?

https://github.com/llvm/llvm-project/pull/68284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-05 Thread Arvind Mukund via cfe-commits

MasterAwesome wrote:

> > @erichkeane @AaronBallman, I've added the release notes and rebased the 
> > change on `main`. Does this need to be backported to 17.x? 16.x doesn't 
> > have this issue
> 
> Yeah, I think we should probably backport this to 17.x. We have instructions 
> on how to kick that off here: 
> https://www.llvm.org/docs/GitHub.html#backporting-fixes-to-the-release-branches
>  but I can get the ball rolling by adding the magic comment to the issue.

Thanks for doing it! I'll work on cherry-picking this to Rust's fork of llvm :)

https://github.com/llvm/llvm-project/pull/68284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (PR #68284)

2023-10-05 Thread Arvind Mukund via cfe-commits

MasterAwesome wrote:

> > > > @erichkeane @AaronBallman, I've added the release notes and rebased the 
> > > > change on `main`. Does this need to be backported to 17.x? 16.x doesn't 
> > > > have this issue
> > > 
> > > 
> > > Yeah, I think we should probably backport this to 17.x. We have 
> > > instructions on how to kick that off here: 
> > > https://www.llvm.org/docs/GitHub.html#backporting-fixes-to-the-release-branches
> > >  but I can get the ball rolling by adding the magic comment to the issue.
> > 
> > Thanks for doing it! I'll work on cherry-picking this to Rust's fork of 
> > llvm :)
> 
> You're welcome, but it seems there's a problem with trying to cherry-pick 
> this over to 17.x and the pick will be more involved because of merge 
> conflicts with the release notes. Would you mind taking over the pick to 
> 17.x? If not, that's okay! (I'm mostly asking because I'm pretty swamped with 
> reviews and I don't want the backport to fall through the cracks by accident.)

I gotchu! The PR created by llvmbot is at 
https://github.com/llvm/llvm-project-release-prs/pull/726

https://github.com/llvm/llvm-project/pull/68284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits