Compare commits
No commits in common. "c8-stream-rhel8" and "c9s" have entirely different histories.
c8-stream-
...
c9s
|
@ -0,0 +1 @@
|
||||||
|
1
|
|
@ -1,6 +1,7 @@
|
||||||
SOURCES/cmake-17.0.6.src.tar.xz
|
/*.src.rpm
|
||||||
SOURCES/cmake-17.0.6.src.tar.xz.sig
|
/*.src.tar.xz
|
||||||
SOURCES/llvm-17.0.6.src.tar.xz
|
/*.src.tar.xz.sig
|
||||||
SOURCES/llvm-17.0.6.src.tar.xz.sig
|
/cmake/
|
||||||
SOURCES/third-party-17.0.6.src.tar.xz
|
/llvm-*.src/
|
||||||
SOURCES/third-party-17.0.6.src.tar.xz.sig
|
/results_llvm/
|
||||||
|
/third-party/
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
4b397344260c934e687be7efa0f8456a9dd46f44 SOURCES/cmake-17.0.6.src.tar.xz
|
eb5c08768e9445d3a9b9ac3b9ad17f1378e3805f llvm-18.1.6.src.tar.xz
|
||||||
fa31d348b6780478403484e22139d25f403503d4 SOURCES/cmake-17.0.6.src.tar.xz.sig
|
5247fe6fb2a35388dd522cb6284ecb2b21f5ee88 llvm-18.1.6.src.tar.xz.sig
|
||||||
860a3605f08a0a56a8de4e073e26a259871623a6 SOURCES/llvm-17.0.6.src.tar.xz
|
2d3d21c2847760692f323d4c334031a05ba5f541 cmake-18.1.6.src.tar.xz
|
||||||
2ad479ab00a6d5e61ecb953997cfeef6650a687a SOURCES/llvm-17.0.6.src.tar.xz.sig
|
39b7cceeced0203a1e8f6807335cfca806027795 cmake-18.1.6.src.tar.xz.sig
|
||||||
a35dc22cd3d983a556f6e4a63c8dac6a84e01caf SOURCES/third-party-17.0.6.src.tar.xz
|
3e2171e588995d02e4d68e92274e97d86e02d49b third-party-18.1.6.src.tar.xz
|
||||||
12128cdab7414aeedd573c61cbc2fa82e75491db SOURCES/third-party-17.0.6.src.tar.xz.sig
|
adcf69e6a5a6aaedddeefeeed4838caceb04f632 third-party-18.1.6.src.tar.xz.sig
|
||||||
|
860a3605f08a0a56a8de4e073e26a259871623a6 llvm-17.0.6.src.tar.xz
|
||||||
|
2ad479ab00a6d5e61ecb953997cfeef6650a687a llvm-17.0.6.src.tar.xz.sig
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/llvm/docs/conf.py b/llvm/docs/conf.py
|
||||||
|
index cf8a75980b53..b208ad138e89 100644
|
||||||
|
--- a/llvm/docs/conf.py
|
||||||
|
+++ b/llvm/docs/conf.py
|
||||||
|
@@ -26,7 +26,7 @@ from datetime import date
|
||||||
|
|
||||||
|
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||||
|
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||||
|
-extensions = ["myst_parser", "sphinx.ext.intersphinx", "sphinx.ext.todo"]
|
||||||
|
+extensions = ["sphinx.ext.intersphinx", "sphinx.ext.todo"]
|
||||||
|
|
||||||
|
# Automatic anchors for markdown titles
|
||||||
|
from llvm_slug import make_slug
|
|
@ -0,0 +1,46 @@
|
||||||
|
diff --git a/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp b/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
|
||||||
|
--- a/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
|
||||||
|
+++ b/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
|
||||||
|
@@ -1152,6 +1152,11 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Type legalization (via getNumberOfParts) can't handle structs
|
||||||
|
+ if (TLI->getValueType(DL, Src, true) == MVT::Other)
|
||||||
|
+ return BaseT::getMemoryOpCost(Opcode, Src, Alignment, AddressSpace,
|
||||||
|
+ CostKind);
|
||||||
|
+
|
||||||
|
unsigned NumOps =
|
||||||
|
(Src->isVectorTy() ? getNumVectorRegs(Src) : getNumberOfParts(Src));
|
||||||
|
|
||||||
|
diff --git a/llvm/test/Analysis/CostModel/SystemZ/struct-cost-crash.ll b/llvm/test/Analysis/CostModel/SystemZ/struct-cost-crash.ll
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/llvm/test/Analysis/CostModel/SystemZ/struct-cost-crash.ll
|
||||||
|
@@ -0,0 +1,25 @@
|
||||||
|
+; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 2
|
||||||
|
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output < %s | FileCheck %s
|
||||||
|
+;
|
||||||
|
+; Check that SystemZTTIImpl::getMemoryOpCost doesn't try to legalize structs,
|
||||||
|
+; which was failing llvm_unreachable in MVT::getVT.
|
||||||
|
+
|
||||||
|
+target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64"
|
||||||
|
+target triple = "s390x-unknown-linux-gnu"
|
||||||
|
+
|
||||||
|
+declare { i64, i32 } @bar()
|
||||||
|
+
|
||||||
|
+define i8 @foo() {
|
||||||
|
+; CHECK-LABEL: 'foo'
|
||||||
|
+; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: br label %1
|
||||||
|
+; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = call { i64, i32 } @bar()
|
||||||
|
+; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store { i64, i32 } %2, ptr inttoptr (i64 16 to ptr), align 16
|
||||||
|
+; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: br label %1
|
||||||
|
+;
|
||||||
|
+ br label %1
|
||||||
|
+
|
||||||
|
+1: ; preds = %1, %0
|
||||||
|
+ %2 = call { i64, i32 } @bar()
|
||||||
|
+ store { i64, i32 } %2, ptr inttoptr (i64 16 to ptr), align 16
|
||||||
|
+ br label %1
|
||||||
|
+}
|
||||||
|
|
|
@ -1,74 +0,0 @@
|
||||||
From 9d1f05a7b8537deb5f626cd1b7b26ef2678f4c8e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Arthur Eubanks <aeubanks@google.com>
|
|
||||||
Date: Thu, 27 Jul 2023 13:27:58 -0700
|
|
||||||
Subject: [PATCH] [PEI] Don't zero out noreg operands
|
|
||||||
|
|
||||||
A tail call may have $noreg operands.
|
|
||||||
|
|
||||||
Fixes a crash.
|
|
||||||
|
|
||||||
Reviewed By: xgupta
|
|
||||||
|
|
||||||
Differential Revision: https://reviews.llvm.org/D156485
|
|
||||||
|
|
||||||
(cherry picked from commit f800c1f3b207e7bcdc8b4c7192928d9a078242a0)
|
|
||||||
---
|
|
||||||
llvm/lib/CodeGen/PrologEpilogInserter.cpp | 9 +++++++--
|
|
||||||
llvm/test/CodeGen/X86/zero-call-used-regs.ll | 14 ++++++++++++++
|
|
||||||
2 files changed, 21 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/llvm/lib/CodeGen/PrologEpilogInserter.cpp
|
|
||||||
index e323aaaeefaf..49047719fdaa 100644
|
|
||||||
--- a/llvm/lib/CodeGen/PrologEpilogInserter.cpp
|
|
||||||
+++ b/llvm/lib/CodeGen/PrologEpilogInserter.cpp
|
|
||||||
@@ -1285,6 +1285,8 @@ void PEI::insertZeroCallUsedRegs(MachineFunction &MF) {
|
|
||||||
continue;
|
|
||||||
|
|
||||||
MCRegister Reg = MO.getReg();
|
|
||||||
+ if (!Reg)
|
|
||||||
+ continue;
|
|
||||||
|
|
||||||
// This picks up sibling registers (e.q. %al -> %ah).
|
|
||||||
for (MCRegUnit Unit : TRI.regunits(Reg))
|
|
||||||
@@ -1308,8 +1310,11 @@ void PEI::insertZeroCallUsedRegs(MachineFunction &MF) {
|
|
||||||
if (!MO.isReg())
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- for (const MCPhysReg &Reg :
|
|
||||||
- TRI.sub_and_superregs_inclusive(MO.getReg()))
|
|
||||||
+ MCRegister Reg = MO.getReg();
|
|
||||||
+ if (!Reg)
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ for (const MCPhysReg Reg : TRI.sub_and_superregs_inclusive(Reg))
|
|
||||||
RegsToZero.reset(Reg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/llvm/test/CodeGen/X86/zero-call-used-regs.ll b/llvm/test/CodeGen/X86/zero-call-used-regs.ll
|
|
||||||
index 63d51c916bb9..97ad5ce9c8cb 100644
|
|
||||||
--- a/llvm/test/CodeGen/X86/zero-call-used-regs.ll
|
|
||||||
+++ b/llvm/test/CodeGen/X86/zero-call-used-regs.ll
|
|
||||||
@@ -241,6 +241,20 @@ entry:
|
|
||||||
ret i32 %x
|
|
||||||
}
|
|
||||||
|
|
||||||
+define dso_local void @tailcall(ptr %p) local_unnamed_addr #0 "zero-call-used-regs"="used-gpr" {
|
|
||||||
+; I386-LABEL: tailcall:
|
|
||||||
+; I386: # %bb.0:
|
|
||||||
+; I386-NEXT: movl {{[0-9]+}}(%esp), %eax
|
|
||||||
+; I386-NEXT: jmpl *(%eax) # TAILCALL
|
|
||||||
+;
|
|
||||||
+; X86-64-LABEL: tailcall:
|
|
||||||
+; X86-64: # %bb.0:
|
|
||||||
+; X86-64-NEXT: jmpq *(%rdi) # TAILCALL
|
|
||||||
+ %c = load ptr, ptr %p
|
|
||||||
+ tail call void %c()
|
|
||||||
+ ret void
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
; Don't emit zeroing registers in "main" function.
|
|
||||||
define dso_local i32 @main() local_unnamed_addr #1 {
|
|
||||||
; I386-LABEL: main:
|
|
||||||
--
|
|
||||||
2.43.0
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
diff -Naur a/llvm/docs/conf.py b/llvm/docs/conf.py
|
|
||||||
--- a/llvm/docs/conf.py 2020-09-15 09:12:24.318287611 +0000
|
|
||||||
+++ b/llvm/docs/conf.py 2020-09-15 15:01:00.025893199 +0000
|
|
||||||
@@ -36,21 +36,7 @@
|
|
||||||
".rst": "restructuredtext",
|
|
||||||
}
|
|
||||||
|
|
||||||
-try:
|
|
||||||
- import recommonmark
|
|
||||||
-except ImportError:
|
|
||||||
- # manpages do not use any .md sources
|
|
||||||
- if not tags.has("builder-man"):
|
|
||||||
- raise
|
|
||||||
-else:
|
|
||||||
- import sphinx
|
|
||||||
-
|
|
||||||
- if sphinx.version_info >= (3, 0):
|
|
||||||
- # This requires 0.5 or later.
|
|
||||||
- extensions.append("recommonmark")
|
|
||||||
- else:
|
|
||||||
- source_parsers = {".md": "recommonmark.parser.CommonMarkParser"}
|
|
||||||
- source_suffix[".md"] = "markdown"
|
|
||||||
+import sphinx
|
|
||||||
|
|
||||||
# The encoding of source files.
|
|
||||||
# source_encoding = 'utf-8-sig'
|
|
1030
SPECS/llvm.spec
1030
SPECS/llvm.spec
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,19 @@
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_context: bodhi_update_push_testing
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_context: bodhi_update_push_stable
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier0.functional}
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.rebuild.validation}
|
|
@ -0,0 +1,18 @@
|
||||||
|
# This library has no dependencies.
|
||||||
|
addFilter("llvm-libs.x86_64: E: shared-lib-without-dependency-information /usr/lib64/libRemarks.so.[0-9]+")
|
||||||
|
addFilter("llvm-googletest.x86_64: W: devel-file-in-non-devel-package")
|
||||||
|
|
||||||
|
# same for llvm-test utilities
|
||||||
|
addFilter("llvm-test.x86_64: W: no-manual-page-for-binary")
|
||||||
|
|
||||||
|
# Don't warn about libs in llvm-libs
|
||||||
|
addFilter("llvm-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/lib")
|
||||||
|
# These is ok in the llvm gold plugin
|
||||||
|
addFilter("llvm-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/LLVMgold.so")
|
||||||
|
addFilter("llvm-libs.x86_64: W: no-soname /usr/lib64/LLVMgold.so")
|
||||||
|
|
||||||
|
# These are without documentation
|
||||||
|
addFilter("llvm-googletest.x86_64: W: no-documentation")
|
||||||
|
addFilter("llvm-libs.x86_64: W: no-documentation")
|
||||||
|
addFilter("llvm-static.x86_64: W: no-documentation")
|
||||||
|
addFilter("llvm-test.x86_64: W: no-documentation")
|
|
@ -0,0 +1,8 @@
|
||||||
|
SHA512 (llvm-18.1.6.src.tar.xz) = 6b52d63a7c1a604d062ddb69838939fd2e51a31de7225bf4f2c11a6cf3574f96188ebee3020ecbeb77cd4592680571abad8f0a9584a23685bf662b7f085c0372
|
||||||
|
SHA512 (llvm-18.1.6.src.tar.xz.sig) = a4c87fe68d17d085baa8ad7fd61a2e6b156bf31644904cd54c5527d8b069d09d5183a8e6f3e13157144c3d567fac9cb696f8a69fe6b10960638530772a9adc86
|
||||||
|
SHA512 (cmake-18.1.6.src.tar.xz) = 1334647f4be280b41858aa272bebc65e935cab772001032f77040396ba7472fbd5eb6a1a0c042ab7156540075705b7f05c8de2f02e2ce9d7ec1ec27be6bef86f
|
||||||
|
SHA512 (cmake-18.1.6.src.tar.xz.sig) = 27fe3ca9a25f5a20f7ca4e059cd4390d2e484c6a70b309a9e934a80fc732da9d8845064813a47c1258d00be38624aaa9024d5584305076abc2ad93f578b0a3d0
|
||||||
|
SHA512 (third-party-18.1.6.src.tar.xz) = 4131a08951683972ab4897687b1dbc5cb0873c8d31fdc8fbaab92a2de52249e797b983329ef0d53fc681b531972d8d5550757af52314f0a3087d8009eb2f5c66
|
||||||
|
SHA512 (third-party-18.1.6.src.tar.xz.sig) = 7c108a3bd67f9a058cbece2e413e7c6b944cc8ebcff323daad78a7fa7185d242f75b5750f7900d962d7516c63aae067809b4dbac4eda934dab3fcc9be4e53641
|
||||||
|
SHA512 (llvm-17.0.6.src.tar.xz) = bf9b04d0d45c67168b195c550cd8326e3a01176f92776705846aad3956a494bcb7a053b0b0bde19abd68dc0068e5c97ef99dee7eadfdb727bc0d758b2684f3bd
|
||||||
|
SHA512 (llvm-17.0.6.src.tar.xz.sig) = 904066c34ec0adf5b9e789af640329cadc7919b111aca77fa3ce26450696bace20e299e2592251f96ee33fb83da603423cc0ca63a67ad627916fcab0bed59689
|
|
@ -0,0 +1,6 @@
|
||||||
|
# Gating testplans for LLVM
|
||||||
|
|
||||||
|
The tests for LLVM are in a separate repo: https://src.fedoraproject.org/tests/llvm
|
||||||
|
This directory should contain only fmf plans (such as build-gating.fmf) which import
|
||||||
|
the tests from the tests repo. This can be done using the "url" parameter of the
|
||||||
|
plan's "discover" step. Reference: https://tmt.readthedocs.io/en/stable/spec/plans.html#fmf
|
|
@ -0,0 +1,51 @@
|
||||||
|
#
|
||||||
|
# Build/PR gating tests for *LLVM 13*
|
||||||
|
#
|
||||||
|
# Imports and runs tests provided by Fedora LLVM git for the matching LLVM version.
|
||||||
|
#
|
||||||
|
# NOTE: *always* keep this file in sync with upstream, i.e. Fedora. Since we cannot "discover" a plan,
|
||||||
|
# we must duplicate at least some part of upstream plan setup, like `adjust` or `provision`. Not necessarily
|
||||||
|
# all steps, btu if we do need some of them here, let's focus on making changes in upstream first, to preserve
|
||||||
|
# one source of truth. Once TMT learns to include whole plans, we could drop the copied content from here.
|
||||||
|
#
|
||||||
|
|
||||||
|
summary: LLVM tests for build/PR gating
|
||||||
|
|
||||||
|
adjust:
|
||||||
|
- because: "Plan to be ran when either executed locally, or executed by CI system to gate a build or PR."
|
||||||
|
when: >-
|
||||||
|
trigger is defined
|
||||||
|
and trigger != commit
|
||||||
|
and trigger != build
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# Unfortunately, TMT does not support more declarative approach, we need to run commands on our own.
|
||||||
|
- because: "On RHEL, CRB must be enabled to provide rarer packages"
|
||||||
|
when: >-
|
||||||
|
distro == rhel-9
|
||||||
|
or distro == rhel-8
|
||||||
|
prepare+:
|
||||||
|
- name: Enable CRB
|
||||||
|
how: shell
|
||||||
|
script: dnf config-manager --set-enabled rhel-CRB
|
||||||
|
- because: "On CentOS, CRB must be enabled to provide rarer packages"
|
||||||
|
when: >-
|
||||||
|
distro == centos
|
||||||
|
prepare+:
|
||||||
|
- name: Enable CRB
|
||||||
|
how: shell
|
||||||
|
script: dnf config-manager --set-enabled crb
|
||||||
|
|
||||||
|
discover:
|
||||||
|
- name: "Upstream LLVM tests for build/PR gating"
|
||||||
|
how: fmf
|
||||||
|
url: https://src.fedoraproject.org/tests/llvm.git
|
||||||
|
ref: main
|
||||||
|
filter: "tag:-spoils-installation"
|
||||||
|
|
||||||
|
execute:
|
||||||
|
how: tmt
|
||||||
|
|
||||||
|
provision:
|
||||||
|
hardware:
|
||||||
|
memory: ">= 4 GiB"
|
Loading…
Reference in New Issue