import CS llvm-16.0.6-4.el9
This commit is contained in:
parent
8bc10cf1c8
commit
d1df98eb66
9
.gitignore
vendored
9
.gitignore
vendored
@ -1,3 +1,6 @@
|
||||
SOURCES/cmake-15.0.7.src.tar.xz
|
||||
SOURCES/llvm-15.0.7.src.tar.xz
|
||||
SOURCES/release-keys.asc
|
||||
SOURCES/cmake-16.0.6.src.tar.xz
|
||||
SOURCES/cmake-16.0.6.src.tar.xz.sig
|
||||
SOURCES/llvm-16.0.6.src.tar.xz
|
||||
SOURCES/llvm-16.0.6.src.tar.xz.sig
|
||||
SOURCES/third-party-16.0.6.src.tar.xz
|
||||
SOURCES/third-party-16.0.6.src.tar.xz.sig
|
||||
|
@ -1,3 +1,6 @@
|
||||
8f06060871953422820098346da9a3b63b90120d SOURCES/cmake-15.0.7.src.tar.xz
|
||||
497ca3b2010cc0e3e38bc9dc6dda19041dbd7066 SOURCES/llvm-15.0.7.src.tar.xz
|
||||
347bdd5ee6d6b93c9644c268511815912c0fb2dc SOURCES/release-keys.asc
|
||||
0de534cfef38697e115c3ae80634765f05e78e5b SOURCES/cmake-16.0.6.src.tar.xz
|
||||
2db5c88fe9277bb0fa85f49b58e946e49ff235c2 SOURCES/cmake-16.0.6.src.tar.xz.sig
|
||||
072d2fb4b10f95d06189de00eb7f7e9b35c54e9a SOURCES/llvm-16.0.6.src.tar.xz
|
||||
bfc74b3868c69ce674a583c91e938b6d4cf0fded SOURCES/llvm-16.0.6.src.tar.xz.sig
|
||||
5b1a58de6ed9d154a38edb6386a5749576e0b96a SOURCES/third-party-16.0.6.src.tar.xz
|
||||
51ad6a8ccc5ccd40faff6f1c98a2f33a9b600f88 SOURCES/third-party-16.0.6.src.tar.xz.sig
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 2e106d4cfc909e23e16104725706e4f9dda15974 Mon Sep 17 00:00:00 2001
|
||||
From: Nikita Popov <npopov@redhat.com>
|
||||
Date: Fri, 5 Aug 2022 08:57:18 +0200
|
||||
Subject: [PATCH] Install clang-tblgen
|
||||
|
||||
---
|
||||
llvm/cmake/modules/TableGen.cmake | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake
|
||||
index 4711456776c8..edcc9d0b607d 100644
|
||||
--- a/llvm/cmake/modules/TableGen.cmake
|
||||
+++ b/llvm/cmake/modules/TableGen.cmake
|
||||
@@ -186,7 +186,10 @@ macro(add_tablegen target project)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
- if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS)
|
||||
+ # (llvm|mlir|clang)-tblgen may also be used outside the respective projects.
|
||||
+ if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR OR
|
||||
+ ${project} STREQUAL CLANG) AND
|
||||
+ NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS)
|
||||
set(export_to_llvmexports)
|
||||
if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
||||
NOT LLVM_DISTRIBUTION_COMPONENTS)
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,184 @@
|
||||
From efbaf8bc61f4c0e29a3eaafb11ac0ddda8bd3dff Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Weigand <ulrich.weigand@de.ibm.com>
|
||||
Date: Fri, 30 Jun 2023 16:02:56 +0200
|
||||
Subject: [PATCH] [SystemZ] Improve error messages for unsupported relocations
|
||||
|
||||
In the SystemZMCObjectWriter, we currently just abort in case
|
||||
some unsupported relocation in requested. However, as this
|
||||
situation can be triggered by invalid (inline) assembler input,
|
||||
we should really get a regular error message instead.
|
||||
---
|
||||
.../MCTargetDesc/SystemZMCObjectWriter.cpp | 59 +++++++++++--------
|
||||
1 file changed, 35 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
|
||||
index c23463ab9bde..0b11468afc52 100644
|
||||
--- a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
|
||||
+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "MCTargetDesc/SystemZMCFixups.h"
|
||||
#include "MCTargetDesc/SystemZMCTargetDesc.h"
|
||||
#include "llvm/BinaryFormat/ELF.h"
|
||||
+#include "llvm/MC/MCContext.h"
|
||||
#include "llvm/MC/MCELFObjectWriter.h"
|
||||
#include "llvm/MC/MCExpr.h"
|
||||
#include "llvm/MC/MCFixup.h"
|
||||
@@ -40,7 +41,7 @@ SystemZObjectWriter::SystemZObjectWriter(uint8_t OSABI)
|
||||
/*HasRelocationAddend_=*/ true) {}
|
||||
|
||||
// Return the relocation type for an absolute value of MCFixupKind Kind.
|
||||
-static unsigned getAbsoluteReloc(unsigned Kind) {
|
||||
+static unsigned getAbsoluteReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
||||
switch (Kind) {
|
||||
case FK_Data_1: return ELF::R_390_8;
|
||||
case FK_Data_2: return ELF::R_390_16;
|
||||
@@ -49,11 +50,12 @@ static unsigned getAbsoluteReloc(unsigned Kind) {
|
||||
case SystemZ::FK_390_12: return ELF::R_390_12;
|
||||
case SystemZ::FK_390_20: return ELF::R_390_20;
|
||||
}
|
||||
- llvm_unreachable("Unsupported absolute address");
|
||||
+ Ctx.reportError(Loc, "Unsupported absolute address");
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
// Return the relocation type for a PC-relative value of MCFixupKind Kind.
|
||||
-static unsigned getPCRelReloc(unsigned Kind) {
|
||||
+static unsigned getPCRelReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
||||
switch (Kind) {
|
||||
case FK_Data_2: return ELF::R_390_PC16;
|
||||
case FK_Data_4: return ELF::R_390_PC32;
|
||||
@@ -63,62 +65,69 @@ static unsigned getPCRelReloc(unsigned Kind) {
|
||||
case SystemZ::FK_390_PC24DBL: return ELF::R_390_PC24DBL;
|
||||
case SystemZ::FK_390_PC32DBL: return ELF::R_390_PC32DBL;
|
||||
}
|
||||
- llvm_unreachable("Unsupported PC-relative address");
|
||||
+ Ctx.reportError(Loc, "Unsupported PC-relative address");
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
// Return the R_390_TLS_LE* relocation type for MCFixupKind Kind.
|
||||
-static unsigned getTLSLEReloc(unsigned Kind) {
|
||||
+static unsigned getTLSLEReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
||||
switch (Kind) {
|
||||
case FK_Data_4: return ELF::R_390_TLS_LE32;
|
||||
case FK_Data_8: return ELF::R_390_TLS_LE64;
|
||||
}
|
||||
- llvm_unreachable("Unsupported absolute address");
|
||||
+ Ctx.reportError(Loc, "Unsupported thread-local address (local-exec)");
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
// Return the R_390_TLS_LDO* relocation type for MCFixupKind Kind.
|
||||
-static unsigned getTLSLDOReloc(unsigned Kind) {
|
||||
+static unsigned getTLSLDOReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
||||
switch (Kind) {
|
||||
case FK_Data_4: return ELF::R_390_TLS_LDO32;
|
||||
case FK_Data_8: return ELF::R_390_TLS_LDO64;
|
||||
}
|
||||
- llvm_unreachable("Unsupported absolute address");
|
||||
+ Ctx.reportError(Loc, "Unsupported thread-local address (local-dynamic)");
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
// Return the R_390_TLS_LDM* relocation type for MCFixupKind Kind.
|
||||
-static unsigned getTLSLDMReloc(unsigned Kind) {
|
||||
+static unsigned getTLSLDMReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
||||
switch (Kind) {
|
||||
case FK_Data_4: return ELF::R_390_TLS_LDM32;
|
||||
case FK_Data_8: return ELF::R_390_TLS_LDM64;
|
||||
case SystemZ::FK_390_TLS_CALL: return ELF::R_390_TLS_LDCALL;
|
||||
}
|
||||
- llvm_unreachable("Unsupported absolute address");
|
||||
+ Ctx.reportError(Loc, "Unsupported thread-local address (local-dynamic)");
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
// Return the R_390_TLS_GD* relocation type for MCFixupKind Kind.
|
||||
-static unsigned getTLSGDReloc(unsigned Kind) {
|
||||
+static unsigned getTLSGDReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
||||
switch (Kind) {
|
||||
case FK_Data_4: return ELF::R_390_TLS_GD32;
|
||||
case FK_Data_8: return ELF::R_390_TLS_GD64;
|
||||
case SystemZ::FK_390_TLS_CALL: return ELF::R_390_TLS_GDCALL;
|
||||
}
|
||||
- llvm_unreachable("Unsupported absolute address");
|
||||
+ Ctx.reportError(Loc, "Unsupported thread-local address (general-dynamic)");
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
// Return the PLT relocation counterpart of MCFixupKind Kind.
|
||||
-static unsigned getPLTReloc(unsigned Kind) {
|
||||
+static unsigned getPLTReloc(MCContext &Ctx, SMLoc Loc, unsigned Kind) {
|
||||
switch (Kind) {
|
||||
case SystemZ::FK_390_PC12DBL: return ELF::R_390_PLT12DBL;
|
||||
case SystemZ::FK_390_PC16DBL: return ELF::R_390_PLT16DBL;
|
||||
case SystemZ::FK_390_PC24DBL: return ELF::R_390_PLT24DBL;
|
||||
case SystemZ::FK_390_PC32DBL: return ELF::R_390_PLT32DBL;
|
||||
}
|
||||
- llvm_unreachable("Unsupported absolute address");
|
||||
+ Ctx.reportError(Loc, "Unsupported PC-relative PLT address");
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
unsigned SystemZObjectWriter::getRelocType(MCContext &Ctx,
|
||||
const MCValue &Target,
|
||||
const MCFixup &Fixup,
|
||||
bool IsPCRel) const {
|
||||
+ SMLoc Loc = Fixup.getLoc();
|
||||
unsigned Kind = Fixup.getKind();
|
||||
if (Kind >= FirstLiteralRelocationKind)
|
||||
return Kind - FirstLiteralRelocationKind;
|
||||
@@ -126,38 +135,40 @@ unsigned SystemZObjectWriter::getRelocType(MCContext &Ctx,
|
||||
switch (Modifier) {
|
||||
case MCSymbolRefExpr::VK_None:
|
||||
if (IsPCRel)
|
||||
- return getPCRelReloc(Kind);
|
||||
- return getAbsoluteReloc(Kind);
|
||||
+ return getPCRelReloc(Ctx, Loc, Kind);
|
||||
+ return getAbsoluteReloc(Ctx, Loc, Kind);
|
||||
|
||||
case MCSymbolRefExpr::VK_NTPOFF:
|
||||
assert(!IsPCRel && "NTPOFF shouldn't be PC-relative");
|
||||
- return getTLSLEReloc(Kind);
|
||||
+ return getTLSLEReloc(Ctx, Loc, Kind);
|
||||
|
||||
case MCSymbolRefExpr::VK_INDNTPOFF:
|
||||
if (IsPCRel && Kind == SystemZ::FK_390_PC32DBL)
|
||||
return ELF::R_390_TLS_IEENT;
|
||||
- llvm_unreachable("Only PC-relative INDNTPOFF accesses are supported for now");
|
||||
+ Ctx.reportError(Loc, "Only PC-relative INDNTPOFF accesses are supported for now");
|
||||
+ return 0;
|
||||
|
||||
case MCSymbolRefExpr::VK_DTPOFF:
|
||||
assert(!IsPCRel && "DTPOFF shouldn't be PC-relative");
|
||||
- return getTLSLDOReloc(Kind);
|
||||
+ return getTLSLDOReloc(Ctx, Loc, Kind);
|
||||
|
||||
case MCSymbolRefExpr::VK_TLSLDM:
|
||||
assert(!IsPCRel && "TLSLDM shouldn't be PC-relative");
|
||||
- return getTLSLDMReloc(Kind);
|
||||
+ return getTLSLDMReloc(Ctx, Loc, Kind);
|
||||
|
||||
case MCSymbolRefExpr::VK_TLSGD:
|
||||
assert(!IsPCRel && "TLSGD shouldn't be PC-relative");
|
||||
- return getTLSGDReloc(Kind);
|
||||
+ return getTLSGDReloc(Ctx, Loc, Kind);
|
||||
|
||||
case MCSymbolRefExpr::VK_GOT:
|
||||
if (IsPCRel && Kind == SystemZ::FK_390_PC32DBL)
|
||||
return ELF::R_390_GOTENT;
|
||||
- llvm_unreachable("Only PC-relative GOT accesses are supported for now");
|
||||
+ Ctx.reportError(Loc, "Only PC-relative GOT accesses are supported for now");
|
||||
+ return 0;
|
||||
|
||||
case MCSymbolRefExpr::VK_PLT:
|
||||
- assert(IsPCRel && "@PLT shouldt be PC-relative");
|
||||
- return getPLTReloc(Kind);
|
||||
+ assert(IsPCRel && "@PLT shouldn't be PC-relative");
|
||||
+ return getPLTReloc(Ctx, Loc, Kind);
|
||||
|
||||
default:
|
||||
llvm_unreachable("Modifier not supported");
|
||||
--
|
||||
2.41.0
|
||||
|
32
SOURCES/0001-llvm-Add-install-targets-for-gtest.patch
Normal file
32
SOURCES/0001-llvm-Add-install-targets-for-gtest.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 8cc3870f09d728d9017c72eba9520117a4283fee Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Thu, 17 Nov 2022 09:01:10 +0000
|
||||
Subject: Add install targets for gtest
|
||||
|
||||
Stand-alone builds need an installed version of gtest in order to run
|
||||
the unittests.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D137890
|
||||
---
|
||||
llvm/CMakeLists.txt | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
|
||||
index 60e1f29620af..d91338532815 100644
|
||||
--- a/llvm/CMakeLists.txt
|
||||
+++ b/llvm/CMakeLists.txt
|
||||
@@ -693,6 +693,11 @@ option(LLVM_BUILD_TESTS
|
||||
"Build LLVM unit tests. If OFF, just generate build targets." OFF)
|
||||
option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON)
|
||||
|
||||
+option(LLVM_INSTALL_GTEST
|
||||
+ "Install the llvm gtest library. This should be on if you want to do
|
||||
+ stand-alone builds of the other projects and run their unit tests." OFF)
|
||||
+
|
||||
+
|
||||
option(LLVM_BUILD_BENCHMARKS "Add LLVM benchmark targets to the list of default
|
||||
targets. If OFF, benchmarks still could be built using Benchmarks target." OFF)
|
||||
option(LLVM_INCLUDE_BENCHMARKS "Generate benchmark targets. If OFF, benchmarks can't be built." ON)
|
||||
--
|
||||
2.34.3
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 01529ba2c76be37e41713cf7f3eca8b61833e320 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Tue, 9 Nov 2021 15:05:07 +0100
|
||||
Subject: [PATCH] XFAIL missing-abstract-variable.ll test on ppc64le
|
||||
|
||||
It's seems the strategy with this test is to XFAIL it on all
|
||||
architectures that it fails on. I wonder if we should be passing
|
||||
it a specific triple? Also, from what I can tell, this tests only
|
||||
runs when llvm is configured with LLVM_DEFAULT_TARGET_TRIPLE set
|
||||
to a non-empty value, which is why it may not fail in every build
|
||||
configuration.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D109806
|
||||
---
|
||||
llvm/test/DebugInfo/Generic/missing-abstract-variable.ll | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll b/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
|
||||
index 8f8d404..07a8778 100644
|
||||
--- a/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
|
||||
+++ b/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
|
||||
@@ -4,7 +4,7 @@
|
||||
; powerpc64 (and on x86_64 at at least -O2). Presumably this is a SelectionDAG
|
||||
; issue.
|
||||
; FIXME: arm64 is an alias for aarch64 on macs, apparently?
|
||||
-; XFAIL: powerpc64, aarch64, arm64, hexagon, riscv, sparc
|
||||
+; XFAIL: powerpc64, aarch64, arm64, hexagon, riscv, sparc, ppc64le
|
||||
|
||||
; Build from the following source with clang -O2.
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
47
SOURCES/0201-third-party-Add-install-targets-for-gtest.patch
Normal file
47
SOURCES/0201-third-party-Add-install-targets-for-gtest.patch
Normal file
@ -0,0 +1,47 @@
|
||||
From 8cc3870f09d728d9017c72eba9520117a4283fee Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Thu, 17 Nov 2022 09:01:10 +0000
|
||||
Subject: Add install targets for gtest
|
||||
|
||||
Stand-alone builds need an installed version of gtest in order to run
|
||||
the unittests.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D137890
|
||||
---
|
||||
third-party/unittest/CMakeLists.txt | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third-party/unittest/CMakeLists.txt b/third-party/unittest/CMakeLists.txt
|
||||
index 0e54e0e57c35..1d2a52730d7d 100644
|
||||
--- a/third-party/unittest/CMakeLists.txt
|
||||
+++ b/third-party/unittest/CMakeLists.txt
|
||||
@@ -65,12 +65,25 @@ if (NOT LLVM_ENABLE_THREADS)
|
||||
endif ()
|
||||
|
||||
target_include_directories(llvm_gtest
|
||||
- PUBLIC googletest/include googlemock/include
|
||||
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/googletest/include>
|
||||
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/googlemock/include>
|
||||
+ $<INSTALL_INTERFACE:include/llvm-gtest/>
|
||||
+ $<INSTALL_INTERFACE:include/llvm-gmock/>
|
||||
PRIVATE googletest googlemock
|
||||
)
|
||||
|
||||
add_subdirectory(UnitTestMain)
|
||||
|
||||
+if (LLVM_INSTALL_GTEST)
|
||||
+export(TARGETS llvm_gtest llvm_gtest_main LLVMTestingSupport FILE LLVMGTestConfig.cmake)
|
||||
+install(TARGETS llvm_gtest llvm_gtest_main LLVMTestingSupport EXPORT LLVMGTestConfig
|
||||
+ ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}" COMPONENT llvm_gtest)
|
||||
+ install(EXPORT LLVMGTestConfig DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} COMPONENT llvm_gtest)
|
||||
+ add_llvm_install_targets(install-llvm_gtest COMPONENT llvm_gtest DEPENDS llvm_gtest LLVMGTestConfig.cmake)
|
||||
+ install(DIRECTORY googletest/include/gtest/ DESTINATION include/llvm-gtest/gtest/ COMPONENT llvm_gtest)
|
||||
+ install(DIRECTORY googlemock/include/gmock/ DESTINATION include/llvm-gmock/gmock/ COMPONENT llvm_gtest)
|
||||
+endif()
|
||||
+
|
||||
# When LLVM_LINK_LLVM_DYLIB is enabled, libLLVM.so is added to the interface
|
||||
# link libraries for gtest and gtest_main. This means that any target, like
|
||||
# unittests for example, that links against gtest will be forced to link
|
||||
--
|
||||
2.34.3
|
||||
|
46
SOURCES/D156379.diff
Normal file
46
SOURCES/D156379.diff
Normal file
@ -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
|
||||
+}
|
||||
|
Binary file not shown.
@ -1,17 +0,0 @@
|
||||
|
||||
config.llvm_tools_dir = '/usr/bin'
|
||||
config.llvm_shlib_dir = '%(llvm_shlib_dir)s' % lit_config.params
|
||||
|
||||
if hasattr(config, 'host_triple'):
|
||||
# This means we are running lit regression tests
|
||||
|
||||
# Regression tests write output to this directory, so we need to be able to specify
|
||||
# a temp directory when invoking lit. e.g. lit -Dllvm_obj_root=/tmp/lit
|
||||
config.llvm_obj_root = "%(llvm_obj_root)s" % lit_config.params
|
||||
lit_config.load_config(config, '%(llvm_test_root)s/lit.cfg.py' % lit_config.params)
|
||||
else:
|
||||
# This means we are running lit unit tests
|
||||
|
||||
# For unit tests, llvm_obj_root is used to find the unit test binaries.
|
||||
config.llvm_obj_root = '%(llvm_unittest_bindir)s' % lit_config.params
|
||||
lit_config.load_config(config, '%(llvm_test_root)s/Unit/lit.cfg.py' % lit_config.params)
|
Binary file not shown.
104
SOURCES/release-keys.asc
Normal file
104
SOURCES/release-keys.asc
Normal file
@ -0,0 +1,104 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
9RmlwZlOTFGcWBYl/cfRONn9qi9a6w==
|
||||
=Lvw+
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=tMzl
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -1,59 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
usage() {
|
||||
echo "usage: `basename $0` [OPTIONS]"
|
||||
echo " --threads NUM The number of threads to use for running tests."
|
||||
echo " --multilib-arch ARCH Use this option to test 32-bit libs/binaries on"
|
||||
echo " 64-bit hosts."
|
||||
}
|
||||
|
||||
threads_arg=''
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case $1 in
|
||||
--threads)
|
||||
shift
|
||||
threads_arg="--threads $1"
|
||||
;;
|
||||
--multilib-arch)
|
||||
shift
|
||||
ARCH=$1
|
||||
;;
|
||||
* )
|
||||
echo "unknown option: $1"
|
||||
echo ""
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
set -xe
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
ARCH=`rpm --eval '%_arch'`
|
||||
fi
|
||||
|
||||
case $ARCH in
|
||||
arm)
|
||||
;&
|
||||
i686)
|
||||
LIB_DIR="/usr/lib/"
|
||||
;;
|
||||
*)
|
||||
LIB_DIR="/usr/lib64/"
|
||||
;;
|
||||
esac
|
||||
|
||||
cd $(mktemp -d)
|
||||
ln -s /usr/include include
|
||||
ln -s /usr/share/llvm/src/docs docs
|
||||
tar -xzf /usr/share/llvm/src/test.tar.gz
|
||||
ln -s /usr/share/llvm/src/$ARCH.site.cfg.py test/lit.site.cfg.py
|
||||
ln -s /usr/share/llvm/src/$ARCH.Unit.site.cfg.py test/Unit/lit.site.cfg.py
|
||||
lit -v -s $threads_arg test \
|
||||
-Dllvm_obj_root=`pwd` \
|
||||
-Dllvm_test_root=`pwd`/test \
|
||||
-Dllvm_unittest_bindir=$LIB_DIR/llvm \
|
||||
-Dllvm_shlib_dir=$LIB_DIR
|
127
SPECS/llvm.spec
127
SPECS/llvm.spec
@ -2,6 +2,8 @@
|
||||
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_macros
|
||||
%global toolchain clang
|
||||
|
||||
%global gts_version 13
|
||||
|
||||
# Components enabled if supported by target architecture:
|
||||
%define gold_arches %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
|
||||
%ifarch %{gold_arches}
|
||||
@ -15,18 +17,20 @@
|
||||
%bcond_without check
|
||||
|
||||
%if %{with bundle_compat_lib}
|
||||
%global compat_maj_ver 14
|
||||
%global compat_ver %{compat_maj_ver}.0.6
|
||||
%global compat_maj_ver 15
|
||||
%global compat_ver %{compat_maj_ver}.0.7
|
||||
%endif
|
||||
|
||||
%global llvm_libdir %{_libdir}/%{name}
|
||||
%global build_llvm_libdir %{buildroot}%{llvm_libdir}
|
||||
#global rc_ver 3
|
||||
%global maj_ver 15
|
||||
%global maj_ver 16
|
||||
%global min_ver 0
|
||||
%global patch_ver 7
|
||||
%global patch_ver 6
|
||||
%global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
|
||||
%global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
|
||||
%global third_party_srcdir third-party-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_
|
||||
ver:rc%{rc_ver}}.src
|
||||
|
||||
%if %{with compat_build}
|
||||
%global pkg_name llvm%{maj_ver}
|
||||
@ -67,7 +71,7 @@
|
||||
# we need to hard-code the correct triple here.
|
||||
%global llvm_triple armv7l-redhat-linux-gnueabihf
|
||||
%else
|
||||
%global llvm_triple %{_host}
|
||||
%global llvm_triple %{_target_platform}
|
||||
%endif
|
||||
|
||||
# https://fedoraproject.org/wiki/Changes/PythonSafePath#Opting_out
|
||||
@ -77,32 +81,33 @@
|
||||
|
||||
Name: %{pkg_name}
|
||||
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}
|
||||
Release: 1%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: The Low Level Virtual Machine
|
||||
|
||||
License: NCSA
|
||||
License: Apache-2.0 WITH LLVM-exception OR NCSA
|
||||
URL: http://llvm.org
|
||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz
|
||||
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz.sig
|
||||
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz
|
||||
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig
|
||||
Source4: release-keys.asc
|
||||
Source4: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{third_party_srcdir}.tar.xz
|
||||
Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{third_party_srcdir}.tar.xz.sig
|
||||
Source6: release-keys.asc
|
||||
|
||||
%if %{without compat_build}
|
||||
Source5: run-lit-tests
|
||||
Source6: lit.fedora.cfg.py
|
||||
%endif
|
||||
%if %{with bundle_compat_lib}
|
||||
Source7: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz
|
||||
Source8: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz.sig
|
||||
Source9: tstellar-gpg-key.asc
|
||||
%endif
|
||||
|
||||
Patch2: 0003-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch
|
||||
# Backported from LLVM 17
|
||||
Patch1: 0001-SystemZ-Improve-error-messages-for-unsupported-reloc.patch
|
||||
# See https://reviews.llvm.org/D137890 for the next two patches
|
||||
Patch2: 0001-llvm-Add-install-targets-for-gtest.patch
|
||||
# Backport of https://reviews.llvm.org/D156379 from LLVM 18.
|
||||
Patch3: D156379.diff
|
||||
|
||||
# Needed to export clang-tblgen during the clang build, needed by the flang docs build.
|
||||
# TODO: Can be dropped for LLVM 16, see https://reviews.llvm.org/D131282.
|
||||
Patch3: 0001-Install-clang-tblgen.patch
|
||||
# Patching third-party dir with a 200 offset in patch number
|
||||
Patch201: 0201-third-party-Add-install-targets-for-gtest.patch
|
||||
|
||||
# RHEL-specific patches
|
||||
Patch101: 0001-Deactivate-markdown-doc.patch
|
||||
@ -137,7 +142,8 @@ BuildRequires: python3-setuptools
|
||||
|
||||
# For origin certification
|
||||
BuildRequires: gnupg2
|
||||
|
||||
# To handle LTO debuginfo
|
||||
BuildRequires: gcc-toolset-%{gts_version}-gdb
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
@ -233,10 +239,11 @@ This is the main package for llvm-toolset.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE2}'
|
||||
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE3}' --data='%{SOURCE2}'
|
||||
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE5}' --data='%{SOURCE4}'
|
||||
%if %{with bundle_compat_lib}
|
||||
%{gpgverify} --keyring='%{SOURCE9}' --signature='%{SOURCE8}' --data='%{SOURCE7}'
|
||||
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE8}' --data='%{SOURCE7}'
|
||||
%endif
|
||||
|
||||
%setup -T -q -b 2 -n %{cmake_srcdir}
|
||||
@ -245,11 +252,17 @@ This is the main package for llvm-toolset.
|
||||
cd ..
|
||||
mv %{cmake_srcdir} cmake
|
||||
|
||||
%setup -T -q -b 4 -n %{third_party_srcdir}
|
||||
%autopatch -m200 -p2
|
||||
cd ..
|
||||
mv %{third_party_srcdir} third-party
|
||||
|
||||
%if %{with bundle_compat_lib}
|
||||
%setup -T -q -b 7 -n llvm-%{compat_ver}.src
|
||||
%endif
|
||||
|
||||
%autosetup -n %{llvm_srcdir} -p2
|
||||
%setup -T -q -b 0 -n %{llvm_srcdir}
|
||||
%autopatch -M200 -p2
|
||||
|
||||
%py3_shebang_fix \
|
||||
test/BugPoint/compile-custom.ll.py \
|
||||
@ -258,12 +271,10 @@ mv %{cmake_srcdir} cmake
|
||||
|
||||
%build
|
||||
|
||||
#ifarch s390 s390x
|
||||
# Fails with "exceeded PCRE's backtracking limit"
|
||||
%ifarch %ix86
|
||||
# Linking libLLVM.so goes out of memory even with ThinLTO and a single link job.
|
||||
%global _lto_cflags %nil
|
||||
#else
|
||||
#global _lto_cflags -flto=thin
|
||||
#endif
|
||||
%endif
|
||||
|
||||
%ifarch s390 s390x %{arm} %ix86
|
||||
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
|
||||
@ -271,7 +282,7 @@ mv %{cmake_srcdir} cmake
|
||||
%endif
|
||||
|
||||
# Copy CFLAGS into ASMFLAGS, so -fcf-protection is used when compiling assembly files.
|
||||
export ASMFLAGS=$CFLAGS
|
||||
export ASMFLAGS="%{build_cflags}"
|
||||
|
||||
# force off shared libs as cmake macros turns it on.
|
||||
%cmake -G Ninja \
|
||||
@ -309,6 +320,11 @@ export ASMFLAGS=$CFLAGS
|
||||
\
|
||||
-DLLVM_INCLUDE_TESTS:BOOL=ON \
|
||||
-DLLVM_BUILD_TESTS:BOOL=ON \
|
||||
%if %{with compat_build}
|
||||
-DLLVM_INSTALL_GTEST:BOOL=OFF \
|
||||
%else
|
||||
-DLLVM_INSTALL_GTEST:BOOL=ON \
|
||||
%endif
|
||||
-DLLVM_LIT_ARGS=-v \
|
||||
\
|
||||
-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
|
||||
@ -331,6 +347,7 @@ export ASMFLAGS=$CFLAGS
|
||||
%if %{without compat_build}
|
||||
-DLLVM_VERSION_SUFFIX='' \
|
||||
%endif
|
||||
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF \
|
||||
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
|
||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
||||
-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
|
||||
@ -341,7 +358,8 @@ export ASMFLAGS=$CFLAGS
|
||||
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
|
||||
-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
|
||||
-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,-z,cet-report=error"
|
||||
|
||||
# Build libLLVM.so first. This ensures that when libLLVM.so is linking, there
|
||||
# are no other compile jobs running. This will help reduce OOM errors on the
|
||||
@ -366,6 +384,11 @@ export ASMFLAGS=$CFLAGS
|
||||
%endif
|
||||
|
||||
%install
|
||||
|
||||
# Use newer GDB for gdb-add-index step, as system GDB can't handle the LTO debuginfo.
|
||||
source scl_source enable gcc-toolset-%{gts_version}
|
||||
export GDB=`which gdb`
|
||||
|
||||
%cmake_install
|
||||
|
||||
%if %{with bundle_compat_lib}
|
||||
@ -403,17 +426,7 @@ rm -rf test/tools/UpdateTestChecks
|
||||
%endif
|
||||
|
||||
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
|
||||
|
||||
%global install_srcdir %{buildroot}%{_datadir}/llvm/src
|
||||
|
||||
# Install gtest sources so clang can use them for gtest
|
||||
install -d %{install_srcdir}
|
||||
install -d %{install_srcdir}/utils/
|
||||
cp -R utils/unittest %{install_srcdir}/utils/
|
||||
|
||||
# Clang needs these for running lit tests.
|
||||
cp utils/update_cc_test_checks.py %{install_srcdir}/utils/
|
||||
cp -R utils/UpdateTestChecks %{install_srcdir}/utils/
|
||||
install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{_libdir}
|
||||
|
||||
%if %{with gold}
|
||||
# Add symlink to lto plugin in the binutils plugin directory.
|
||||
@ -605,6 +618,9 @@ fi
|
||||
%if %{without compat_build}
|
||||
%{_libdir}/*.a
|
||||
%exclude %{_libdir}/libLLVMTestingSupport.a
|
||||
%exclude %{_libdir}/libLLVMTestingAnnotations.a
|
||||
%exclude %{_libdir}/libllvm_gtest.a
|
||||
%exclude %{_libdir}/libllvm_gtest_main.a
|
||||
%else
|
||||
%{_libdir}/%{name}/lib/*.a
|
||||
%endif
|
||||
@ -622,8 +638,12 @@ fi
|
||||
|
||||
%files googletest
|
||||
%license LICENSE.TXT
|
||||
%{_datadir}/llvm/src/utils
|
||||
%{_libdir}/libLLVMTestingSupport.a
|
||||
%{_libdir}/libLLVMTestingAnnotations.a
|
||||
%{_libdir}/libllvm_gtest.a
|
||||
%{_libdir}/libllvm_gtest_main.a
|
||||
%{_includedir}/llvm-gtest
|
||||
%{_includedir}/llvm-gmock
|
||||
|
||||
%files toolset
|
||||
%license LICENSE.TXT
|
||||
@ -631,6 +651,31 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Aug 04 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.6-4
|
||||
- Re-add LDFLAGS to shared libraries
|
||||
|
||||
* Thu Aug 03 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.6-3
|
||||
- Fix rhbz #2226795
|
||||
|
||||
* Tue Aug 01 2023 Nikita Popov <npopov@redhat.com> - 16.0.6-2
|
||||
- Fix CET support
|
||||
|
||||
* Tue Jul 04 2023 Nikita Popov <npopov@redhat.com> - 16.0.6-1
|
||||
- Update to LLVM 16.0.6
|
||||
|
||||
* Mon Jul 03 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.1-4
|
||||
- Improve error messages for unsupported relocs on s390x (rhbz#2216906)
|
||||
- Disable LLVM_UNREACHABLE_OPTIMIZE
|
||||
|
||||
* Thu Jun 29 2023 Nikita Popov <npopov@redhat.com> - 16.0.1-3
|
||||
- Use gcc-toolset-13-gdb for gdb-add-index
|
||||
|
||||
* Fri May 05 2023 Nikita Popov <npopov@redhat.com> - 16.0.1-2
|
||||
- Build with LTO
|
||||
|
||||
* Fri Apr 14 2023 Nikita Popov <npopov@redhat.com> - 16.0.1-1
|
||||
- Update to LLVM 16.0.1
|
||||
|
||||
* Fri Jan 13 2023 Konrad Kleine <kkleine@redhat.com> - 15.0.7-1
|
||||
- Update to LLVM 15.0.7
|
||||
- Remove workaround for rbhz#2048440
|
||||
|
Loading…
Reference in New Issue
Block a user