From 2105a97d4afa5022375c9b366138049da5b0a6a2 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Wed, 10 Jul 2024 08:27:43 -0500 Subject: user/llvm14: Fix GCC 13-adjacent bugs Backport the GCC miscompile workaround from LLVM 18. Use the old x87 excess precision behaviour to fix most of the tests. Still no idea why 32-bit Intel wants new shiny colours for the graph. Closes: #1200, #1202, #1204, #1223 --- user/llvm14/APKBUILD | 21 +++- user/llvm14/graph-diff-simple.txt | 238 +++++++++++++++++++++++++++++++++++++ user/llvm14/musl-ppc64-elfv2.patch | 2 +- user/llvm14/ppc-gcc-bug.patch | 22 ++++ 4 files changed, 280 insertions(+), 3 deletions(-) create mode 100644 user/llvm14/graph-diff-simple.txt create mode 100644 user/llvm14/ppc-gcc-bug.patch diff --git a/user/llvm14/APKBUILD b/user/llvm14/APKBUILD index d75934b50..86b4789ea 100644 --- a/user/llvm14/APKBUILD +++ b/user/llvm14/APKBUILD @@ -6,7 +6,7 @@ _pkgname=llvm pkgver=14.0.6 _majorver=${pkgver%%.*} pkgname=$_pkgname$_majorver -pkgrel=0 +pkgrel=1 pkgdesc="Low Level Virtual Machine compiler system, version $_majorver" url="https://llvm.org/" arch="all" @@ -25,9 +25,11 @@ source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/l disable-dlclose-test.patch dwarf-info.patch dyld-elf-ppc32.patch + graph-diff-simple.txt hexagon.patch macho32.patch musl-ppc64-elfv2.patch + ppc-gcc-bug.patch ppc-test.patch python3-test.patch roundeven.patch @@ -89,12 +91,25 @@ prepare() { test/tools/UpdateTestChecks \ test/ExecutionEngine/MCJIT/load-object-a.ll \ ; + #1202 + case $CARCH in + pmmx) + mv "$srcdir"/graph-diff-simple.txt \ + test/tools/llvm-xray/X86/graph-diff-simple.txt ;; + esac } build() { # Auto-detect it by guessing either. ffi_include_dir="$(pkg-config --cflags-only-I libffi | sed 's|^-I||g')" + case $CTARGET_ARCH in + pmmx) + # The standard precision breaks more than it fixes; there are + # 4 failures in standard mode and only (different) 1 in fast. + export CXXFLAGS="$CXXFLAGS -fexcess-precision=fast";; + esac + cmake -G "Unix Makefiles" -Wno-dev \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/$_prefix \ @@ -252,9 +267,11 @@ f84cd65d7042e89826ba6e8d48c4c302bf4980da369d7f19a55f217e51c00ca8ed178d453df3a3ce caeec8e4dbd92f5f74940780b69075f3879a267a8623822cbdc193fd14706eb089071e3a5a20d60cc2eca59e4c5b2a61d29827a2f3362ee7c5f74f11d9ace200 disable-dlclose-test.patch 2842bcef71fb962cb49717fa9ba3e7318400c4a9175284a39ae3ff13a00260556794d0d63341430b2c64a0bca1ac76186e02c92e444a737a5dec1b6de27bbc60 dwarf-info.patch 5fa36157f7a76ca70d22af7bd96850db454d6add3a19cc3272962633c453087015755ca9df0de29cc40359e89279e470e91ff1a69d1453596a73291b36f39b23 dyld-elf-ppc32.patch +a1533f4b9d35e1069fd065fbeb5fedce96fa49fdb007f994d8921d8a04cf2caadca276bbd9553ff86040b0f9dfce489c385fa2a7434e2dee3732942e6914db4e graph-diff-simple.txt 9abe376068801a09b2af01eef0cd319f48862b5ff7cce62af3cf4e7597a0898842125ae574577b545734ec1381f192b924b4f717a9c094f119e32ada81a2b9a2 hexagon.patch de9791cc476817782b553c4edab696132da4ed2b9a3d80dbf1b85b7dc7a8c5e4caf14f2f26e33c27cd80a91b36709d3b24caea910c0a6315ffbb297cb748468d macho32.patch -e5ddbc4b6c4928e79846dc3c022eb7928aaa8fed40515c78f5f03b8ab8264f34f1eb8aa8bfc0f436450932f4917e54ad261603032092ea271d9590f11a37cf1e musl-ppc64-elfv2.patch +189e0967c7c29c6315bd3e8da818b94fc3ed99c8cdce14c3d7ccc2fbd18007b3d97f74689dc3d498f624a10411067c41648b9b67d420d2344fa7e1bf7711c8dd musl-ppc64-elfv2.patch +02fd3e9869cf3da60b0da17b69dc592fdcd0442d50de940b578b7a9aa19554569324b44f6f84728c03b2897859f99076278741bdd0872fab70660eb844d05f26 ppc-gcc-bug.patch 62de403e4cfd58d9f33f8b35ff31f66c906fd39c667fbcfa394d03f636fb10977c2f53c3a780d0c8e099f9a081951402757e12842d82a7cbd1aef4158f51d5c2 ppc-test.patch 89ef5fbab039b017a5652656adf17b680525f1c5dd0b1afc8034fe0b34a2ca196d87640f54cc826356cfcd88c6e5f10754b7e38f04ca49ede4f3864080b787bd python3-test.patch dca77af49ea181ab8d41630b8e7575b83aac22686a1119479abf8fe22d8f13032d69ef83a9635b9ad9b935cd3b51251d939e05967ad40db43abf69ac40e0eccd roundeven.patch" diff --git a/user/llvm14/graph-diff-simple.txt b/user/llvm14/graph-diff-simple.txt new file mode 100644 index 000000000..fa26daaf9 --- /dev/null +++ b/user/llvm14/graph-diff-simple.txt @@ -0,0 +1,238 @@ +#RUN: llvm-xray graph-diff -o - -c min -b min -m %S/Inputs/simple-instrmap.yaml \ +#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ +#RUN: | FileCheck %s -check-prefix=VCEC +#RUN: llvm-xray graph-diff -o - -c min -m %S/Inputs/simple-instrmap.yaml \ +#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ +#RUN: | FileCheck %s -check-prefix=EC +#RUN: llvm-xray graph-diff -o - -b min -m %S/Inputs/simple-instrmap.yaml \ +#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ +#RUN: | FileCheck %s -check-prefix=VC +#RUN: llvm-xray graph-diff -o - -e min -v min -m %S/Inputs/simple-instrmap.yaml \ +#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ +#RUN: | FileCheck %s -check-prefix=ELVL +#RUN: llvm-xray graph-diff -o - -e min -m %S/Inputs/simple-instrmap.yaml \ +#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ +#RUN: | FileCheck %s -check-prefix=EL +#RUN: llvm-xray graph-diff -o - -v min -m %S/Inputs/simple-instrmap.yaml \ +#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ +#RUN: | FileCheck %s -check-prefix=VL +#RUN: llvm-xray graph-diff -o - -v min -b min -m %S/Inputs/simple-instrmap.yaml \ +#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ +#RUN: | FileCheck %s -check-prefix=VLVC +#RUN: llvm-xray graph-diff -o - -e min -c min -m %S/Inputs/simple-instrmap.yaml \ +#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ +#RUN: | FileCheck %s -check-prefix=ELEC + +#VCEC: digraph xrayDiff { +#VCEC-DAG: F[[F0NO:[0-9]+]] [label="F0"] +#VCEC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="#276419"] +#VCEC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="#276419"] +#VCEC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="#276419"] +#VCEC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="#9BCE61"] +#VCEC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="#F7F7F7"] +#VCEC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="#F5C4E0"] +#VCEC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="#E17FB4"] +#VCEC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="#CB3088"] +#VCEC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="#AD0E69"] +#VCEC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] +#VCEC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="#276419" labelfontcolor="#276419" penwidth=8.00] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="#276419" labelfontcolor="#276419" penwidth=3.00] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="#276419" labelfontcolor="#276419" penwidth=1.33] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="#9BCE61" labelfontcolor="#9BCE61" penwidth=1.00] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] +#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] +#VCEC-NEXT:} + + +#EC: digraph xrayDiff { +#EC-DAG: F[[F0NO:[0-9]+]] [label="F0"] +#EC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"] +#EC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"] +#EC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"] +#EC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"] +#EC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"] +#EC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"] +#EC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"] +#EC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"] +#EC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"] +#EC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] +#EC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="#276419" labelfontcolor="#276419" penwidth=8.00] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="#276419" labelfontcolor="#276419" penwidth=3.00] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="#276419" labelfontcolor="#276419" penwidth=1.33] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="#9BCE61" labelfontcolor="#9BCE61" penwidth=1.00] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] +#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] +#EC-NEXT:} + +#VC: digraph xrayDiff { +#VC-DAG: F[[F0NO:[0-9]+]] [label="F0"] +#VC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="#276419"] +#VC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="#276419"] +#VC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="#276419"] +#VC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="#9BCE61"] +#VC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="#F7F7F7"] +#VC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="#F5C4E0"] +#VC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="#E17FB4"] +#VC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="#CB3088"] +#VC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="#AD0E69"] +#VC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] +#VC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] +#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] +#VC-NEXT:} + +#ELVL: digraph xrayDiff { +#ELVL-NEXT: node [shape=record] +#ELVL-DAG: F[[F0NO:[0-9]+]] [label="F0"] +#ELVL-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="black"] +#ELVL-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="black"] +#ELVL-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="black"] +#ELVL-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="black"] +#ELVL-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="black"] +#ELVL-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="black"] +#ELVL-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="black"] +#ELVL-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="black"] +#ELVL-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="black"] +#ELVL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] +#ELVL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="black" labelfontcolor="black" penwidth=1.00] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="black" labelfontcolor="black" penwidth=1.00] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="black" labelfontcolor="black" penwidth=1.00] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="black" labelfontcolor="black" penwidth=1.00] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="black" labelfontcolor="black" penwidth=1.00] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="black" labelfontcolor="black" penwidth=1.00] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="black" labelfontcolor="black" penwidth=1.00] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="black" labelfontcolor="black" penwidth=1.00] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="black" labelfontcolor="black" penwidth=1.00] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] +#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] +#ELVL-NEXT:} + +#EL: digraph xrayDiff { +#EL-DAG: F[[F0NO:[0-9]+]] [label="F0"] +#EL-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"] +#EL-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"] +#EL-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"] +#EL-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"] +#EL-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"] +#EL-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"] +#EL-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"] +#EL-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"] +#EL-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"] +#EL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] +#EL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="black" labelfontcolor="black" penwidth=1.00] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="black" labelfontcolor="black" penwidth=1.00] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="black" labelfontcolor="black" penwidth=1.00] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="black" labelfontcolor="black" penwidth=1.00] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="black" labelfontcolor="black" penwidth=1.00] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="black" labelfontcolor="black" penwidth=1.00] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="black" labelfontcolor="black" penwidth=1.00] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="black" labelfontcolor="black" penwidth=1.00] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="black" labelfontcolor="black" penwidth=1.00] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] +#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] +#EL-NEXT:} + +#VL: digraph xrayDiff { +#VL-NEXT: node [shape=record] +#VL-DAG: F[[F0NO:[0-9]+]] [label="F0"] +#VL-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="black"] +#VL-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="black"] +#VL-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="black"] +#VL-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="black"] +#VL-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="black"] +#VL-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="black"] +#VL-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="black"] +#VL-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="black"] +#VL-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="black"] +#VL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] +#VL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] +#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] +#VL-NEXT:} + +#VLVC: digraph xrayDiff { +#VLVC-NEXT: node [shape=record] +#VLVC-DAG: F[[F0NO:[0-9]+]] [label="F0"] +#VLVC-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="#276419"] +#VLVC-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="#276419"] +#VLVC-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="#276419"] +#VLVC-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="#9BCE61"] +#VLVC-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="#F7F7F7"] +#VLVC-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="#F5C4E0"] +#VLVC-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="#E17FB4"] +#VLVC-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="#CB3088"] +#VLVC-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="#AD0E69"] +#VLVC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] +#VLVC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] +#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] +#VLVC-NEXT:} + +#ELEC: digraph xrayDiff { +#ELEC-DAG: F[[F0NO:[0-9]+]] [label="F0"] +#ELEC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"] +#ELEC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"] +#ELEC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"] +#ELEC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"] +#ELEC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"] +#ELEC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"] +#ELEC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"] +#ELEC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"] +#ELEC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"] +#ELEC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] +#ELEC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="#276419" labelfontcolor="#276419" penwidth=8.00] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="#276419" labelfontcolor="#276419" penwidth=3.00] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="#276419" labelfontcolor="#276419" penwidth=1.33] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="#9BCE61" labelfontcolor="#9BCE61" penwidth=1.00] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] +#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] +#ELEC-NEXT:} + + diff --git a/user/llvm14/musl-ppc64-elfv2.patch b/user/llvm14/musl-ppc64-elfv2.patch index 016be5dad..77bc4c780 100644 --- a/user/llvm14/musl-ppc64-elfv2.patch +++ b/user/llvm14/musl-ppc64-elfv2.patch @@ -15,7 +15,7 @@ diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTar index 34410393ef6..c583fba8cab 100644 --- a/lib/Target/PowerPC/PPCTargetMachine.cpp +++ b/lib/Target/PowerPC/PPCTargetMachine.cpp -@@ -199,6 +199,10 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT, +@@ -228,6 +228,10 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT, case Triple::ppc64le: return PPCTargetMachine::PPC_ABI_ELFv2; case Triple::ppc64: diff --git a/user/llvm14/ppc-gcc-bug.patch b/user/llvm14/ppc-gcc-bug.patch new file mode 100644 index 000000000..4fe2f34f4 --- /dev/null +++ b/user/llvm14/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 +@@ -378,6 +378,8 @@ + return Size; + } + ++#pragma GCC push_options ++#pragma GCC optimize("no-tree-ch") + static bool serialize(SPSOutputBuffer &OB, const SequenceT &S) { + if (!SPSArgList::serialize(OB, static_cast(S.size()))) + return false; +@@ -386,6 +388,7 @@ + return false; + return true; + } ++#pragma GCC pop_options + + static bool deserialize(SPSInputBuffer &IB, SequenceT &S) { + using TBSD = TrivialSPSSequenceDeserialization; -- cgit v1.2.3-70-g09d2