summaryrefslogtreecommitdiff
path: root/bootstrap/llvm16/ppc-gcc-bug.patch
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap/llvm16/ppc-gcc-bug.patch')
-rw-r--r--bootstrap/llvm16/ppc-gcc-bug.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/bootstrap/llvm16/ppc-gcc-bug.patch b/bootstrap/llvm16/ppc-gcc-bug.patch
new file mode 100644
index 000000000..3c1371dc4
--- /dev/null
+++ b/bootstrap/llvm16/ppc-gcc-bug.patch
@@ -0,0 +1,22 @@
+Upstream: https://github.com/llvm/llvm-project/issues/95594
+Ref: #1204
+
+--- llvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h.old 2024-06-15 12:21:32.000000000 -0500
++++ llvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h 2024-06-25 21:42:07.495284340 -0500
+@@ -390,6 +390,8 @@
+ return Size;
+ }
+
++#pragma GCC push_options
++#pragma GCC optimize("no-tree-ch")
+ static bool serialize(SPSOutputBuffer &OB, const SequenceT &S) {
+ if (!SPSArgList<uint64_t>::serialize(OB, static_cast<uint64_t>(S.size())))
+ return false;
+@@ -398,6 +400,7 @@
+ return false;
+ return true;
+ }
++#pragma GCC pop_options
+
+ static bool deserialize(SPSInputBuffer &IB, SequenceT &S) {
+ using TBSD = TrivialSPSSequenceDeserialization<SPSElementTagT, SequenceT>;