The package rpms/llvm4.0.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/llvm4.0.git/commit/?id=d04aef4d68....
Change:
-%ifarch s390
Thanks.
Full change:
============
commit d04aef4d681d122e9fdf8cd53f6d7ffa4f28e1c3
Author: Tom Stellard <tstellar(a)redhat.com>
Date: Mon Jul 23 20:58:14 2018 +0000
LLVM4.0 compatiblity package is no longer used.
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index e928fbc..0000000
--- a/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/llvm-4.0.1.src.tar.xz
diff --git a/0001-CMake-Split-static-library-exports-into-their-own-ex.patch
b/0001-CMake-Split-static-library-exports-into-their-own-ex.patch
deleted file mode 100644
index 2804e1b..0000000
--- a/0001-CMake-Split-static-library-exports-into-their-own-ex.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From a5f39924a3466eb12d764993aaa8c1c308f92925 Mon Sep 17 00:00:00 2001
-From: Tom Stellard <tstellar(a)redhat.com>
-Date: Sat, 29 Apr 2017 02:03:23 +0000
-Subject: [PATCH] CMake: Split static library exports into their own export
- file
-
-Summary:
-This is to better support distros which split the static libraries into
-their own package.
-
-The current problem is that any project the includes LLVMConfig.cmake
-will fail to configure unless the static libraries are installed. This
-is because LLVMConfig.cmake includes LLVMExports.cmake, which throws an
-error if it can't find files linked to one of the exported targets.
-
-This patch resolves the problem by putting the static library targets
-into their own export file, LLVMStaticExports.cmake. This file
-is optionally included by LLVMConfig.cmake, so distros can put this
-new file in their static library package to make LLVMConfig.cmake
-no longer depend on these libraries when they are not installed.
-
-Reviewers: beanz, mgorny, chapuni
-
-Subscribers: llvm-commits
-
-Differential Revision:
https://reviews.llvm.org/D32668
----
- cmake/modules/AddLLVM.cmake | 6 +++++-
- cmake/modules/CMakeLists.txt | 3 +++
- cmake/modules/LLVMConfig.cmake.in | 2 ++
- 3 files changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
-index b3c7746..7d9d253 100644
---- a/cmake/modules/AddLLVM.cmake
-+++ b/cmake/modules/AddLLVM.cmake
-@@ -587,7 +587,11 @@ macro(add_llvm_library name)
-
- if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
- NOT LLVM_DISTRIBUTION_COMPONENTS)
-- set(export_to_llvmexports EXPORT LLVMExports)
-+ if (ARG_SHARED)
-+ set(export_to_llvmexports EXPORT LLVMExports)
-+ else()
-+ set(export_to_llvmexports EXPORT LLVMStaticExports)
-+ endif()
- set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
- endif()
-
-diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
-index ac4b0b7..f77c905 100644
---- a/cmake/modules/CMakeLists.txt
-+++ b/cmake/modules/CMakeLists.txt
-@@ -91,6 +91,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
- set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
- set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
- set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
-+set(LLVM_CONFIG_STATIC_EXPORTS_FILE
"\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
- configure_file(
- LLVMConfig.cmake.in
- ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
-@@ -107,6 +108,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- if(llvm_has_exports)
- install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
- COMPONENT cmake-exports)
-+ install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
-+ COMPONENT cmake-exports)
- endif()
-
- install(FILES
-diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in
-index c30c92b..f0f17b2 100644
---- a/cmake/modules/LLVMConfig.cmake.in
-+++ b/cmake/modules/LLVMConfig.cmake.in
-@@ -73,6 +73,8 @@ if(NOT TARGET LLVMSupport)
- set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@")
- include("@LLVM_CONFIG_EXPORTS_FILE@")
- @llvm_config_include_buildtree_only_exports@
-+
-+ include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
- endif()
-
- include(${LLVM_CMAKE_DIR}/LLVM-Config.cmake)
---
-2.9.3
-
diff --git a/0001-DebugInfo-Fix-potential-CU-mismatch-for-SubprogramSc.patch
b/0001-DebugInfo-Fix-potential-CU-mismatch-for-SubprogramSc.patch
deleted file mode 100644
index 1b30efe..0000000
--- a/0001-DebugInfo-Fix-potential-CU-mismatch-for-SubprogramSc.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From fd80342a58ead0dc7b008ce6ce8523cdea765f5f Mon Sep 17 00:00:00 2001
-From: Jonas Devlieghere <jonas(a)devlieghere.com>
-Date: Wed, 15 Nov 2017 10:57:05 +0000
-Subject: [PATCH] [DebugInfo] Fix potential CU mismatch for
- SubprogramScopeDIEs.
-
-In constructAbstractSubprogramScopeDIE there can be a potential mismatch
-between `this` and the CU of ContextDIE when a scope is shared between
-two DISubprograms belonging to a different CU. In that case, `this` is
-the CU that was specified in the IR, but the CU of ContextDIE is that of
-the first subprogram that was emitted. This patch fixes the mismatch by
-looking up the CU of ContextDIE, and switching to use that.
-
-This fixes PR35212 (
https://bugs.llvm.org/show_bug.cgi?id=35212)
-
-Patch by Philip Craig!
-
-Differential revision:
https://reviews.llvm.org/D39981
-
-git-svn-id:
https://llvm.org/svn/llvm-project/llvm/trunk@318289
91177308-0d34-0410-b5e6-96231b3b80d8
----
- lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | 20 ++++++++----
- lib/CodeGen/AsmPrinter/DwarfDebug.h | 6 +++-
- test/DebugInfo/cross-cu-scope.ll | 50 +++++++++++++++++++++++++++++
- 3 files changed, 68 insertions(+), 8 deletions(-)
- create mode 100644 test/DebugInfo/cross-cu-scope.ll
-
-diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
-index d904372..eea30a7 100644
---- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
-+++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
-@@ -616,6 +616,7 @@ void DwarfCompileUnit::constructAbstractSubprogramScopeDIE(
- auto *SP = cast<DISubprogram>(Scope->getScopeNode());
-
- DIE *ContextDIE;
-+ DwarfCompileUnit *ContextCU = this;
-
- if (includeMinimalInlineScopes())
- ContextDIE = &getUnitDie();
-@@ -626,18 +627,23 @@ void DwarfCompileUnit::constructAbstractSubprogramScopeDIE(
- else if (auto *SPDecl = SP->getDeclaration()) {
- ContextDIE = &getUnitDie();
- getOrCreateSubprogramDIE(SPDecl);
-- } else
-+ } else {
- ContextDIE = getOrCreateContextDIE(resolve(SP->getScope()));
-+ // The scope may be shared with a subprogram that has already been
-+ // constructed in another CU, in which case we need to construct this
-+ // subprogram in the same CU.
-+ ContextCU = DD->lookupCU(ContextDIE->getUnitDie());
-+ }
-
- // Passing null as the associated node because the abstract definition
- // shouldn't be found by lookup.
-- AbsDef = &createAndAddDIE(dwarf::DW_TAG_subprogram, *ContextDIE, nullptr);
-- applySubprogramAttributesToDefinition(SP, *AbsDef);
-+ AbsDef = &ContextCU->createAndAddDIE(dwarf::DW_TAG_subprogram, *ContextDIE,
nullptr);
-+ ContextCU->applySubprogramAttributesToDefinition(SP, *AbsDef);
-
-- if (!includeMinimalInlineScopes())
-- addUInt(*AbsDef, dwarf::DW_AT_inline, None, dwarf::DW_INL_inlined);
-- if (DIE *ObjectPointer = createAndAddScopeChildren(Scope, *AbsDef))
-- addDIEEntry(*AbsDef, dwarf::DW_AT_object_pointer, *ObjectPointer);
-+ if (!ContextCU->includeMinimalInlineScopes())
-+ ContextCU->addUInt(*AbsDef, dwarf::DW_AT_inline, None, dwarf::DW_INL_inlined);
-+ if (DIE *ObjectPointer = ContextCU->createAndAddScopeChildren(Scope, *AbsDef))
-+ ContextCU->addDIEEntry(*AbsDef, dwarf::DW_AT_object_pointer, *ObjectPointer);
- }
-
- DIE *DwarfCompileUnit::constructImportedEntityDIE(
-diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h
-index 253e3f0..9ade921 100644
---- a/lib/CodeGen/AsmPrinter/DwarfDebug.h
-+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h
-@@ -280,7 +280,7 @@ class DwarfDebug : public DebugHandlerBase {
- // 0, referencing the comp_dir of all the type units that use it.
- MCDwarfDwoLineTable SplitTypeUnitFileTable;
- /// @}
--
-+
- /// True iff there are multiple CUs in this module.
- bool SingleCU;
- bool IsDarwin;
-@@ -555,6 +555,10 @@ public:
- /// A helper function to check whether the DIE for a given Scope is
- /// going to be null.
- bool isLexicalScopeDIENull(LexicalScope *Scope);
-+
-+ /// Find the matching DwarfCompileUnit for the given CU DIE.
-+ DwarfCompileUnit *lookupCU(const DIE *Die) { return CUDieMap.lookup(Die); }
-+
- };
- } // End of namespace llvm
-
-diff --git a/test/DebugInfo/cross-cu-scope.ll b/test/DebugInfo/cross-cu-scope.ll
-new file mode 100644
-index 0000000..7c71f27
---- /dev/null
-+++ b/test/DebugInfo/cross-cu-scope.ll
-@@ -0,0 +1,50 @@
-+; RUN: %llc_dwarf %s -filetype=obj -o %t
-+; RUN: llvm-dwarfdump -debug-dump=info %t | FileCheck %s
-+
-+; Reduced test case from PR35212. Two DISubprogram belong to a different CU but
-+; share a scope. Both are declarations and end up in the scope's CU. We want to
-+; check that the CU from the context DIE is used (rather than from the IR).
-+; This manifests itself by the DW_base_type ending up in the second CU, rather
-+; than in the first one as specified in the IR.
-+
-+; CHECK: DW_TAG_compile_unit
-+; CHECK-NEXT: discriminator 0
-+; CHECK: DW_TAG_compile_unit
-+; CHECK-NEXT: discriminator 1
-+; CHECK: DW_TAG_structure_type
-+; CHECK-NOT: NULL
-+; CHECK: DW_TAG_subprogram
-+; CHECK-NOT: NULL
-+; CHECK: DW_TAG_formal_parameter
-+; CHECK-NOT: NULL
-+; CHECK: DW_AT_type{{.*}}{[[USIZE_LABEL:0x[0-9a-f]+]]}
-+; CHECK: NULL
-+; CHECK: [[USIZE_LABEL]]: DW_TAG_base_type
-+; CHECK-NOT: NULL
-+; CHECK: DW_AT_name{{.*}}"usize"
-+
-+define hidden void @foo() !dbg !4 {
-+ ret void, !dbg !7
-+}
-+
-+!llvm.dbg.cu = !{!0, !2}
-+!llvm.module.flags = !{!3}
-+
-+!0 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !1, producer: "clang
LLVM (rustc version 1.23.0-nightly (discriminator 0))", isOptimized: true,
runtimeVersion: 0, emissionKind: FullDebug)
-+!1 = !DIFile(filename: "../lib.rs", directory:
"/home/alex/code/rust4/lol")
-+!2 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !1, producer: "clang
LLVM (rustc version 1.23.0-nightly (discriminator 1))", isOptimized: true,
runtimeVersion: 0, emissionKind: FullDebug)
-+!3 = !{i32 2, !"Debug Info Version", i32 3}
-+!4 = distinct !DISubprogram(name: "clone<alloc::string::String>",
linkageName: "_ZN5alloc3vec8{{impl}}28clone<alloc::string::String>E",
scope: null, file: !1, line: 1519, type: !5, isLocal: false, isDefinition: true,
scopeLine: 1519, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !6,
variables: !6)
-+!5 = !DISubroutineType(types: !6)
-+!6 = !{}
-+!7 = !DILocation(line: 1612, scope: !8, inlinedAt: !11)
-+!8 = distinct !DILexicalBlock(scope: !9, file: !1, line: 86, column: 12)
-+!9 = distinct !DISubprogram(name:
"allocate_in<alloc::string::String,alloc::heap::Heap>", linkageName:
"_ZN5alloc7raw_vec8{{impl}}52allocate_in<alloc::string::String,alloc::heap::Heap>E",
scope: !10, file: !1, line: 82, type: !5, isLocal: false, isDefinition: true, scopeLine:
82, flags: DIFlagPrototyped, isOptimized: true, unit: !2, templateParams: !6, variables:
!6)
-+!10 = distinct !DICompositeType(tag: DW_TAG_structure_type, name:
"RawVec<alloc::string::String, alloc::heap::Heap>", file: !1, size: 128,
align: 64, elements: !6, identifier: "5c6e4db16d2c64555e40661d70c4d81e")
-+!11 = distinct !DILocation(line: 86, scope: !8, inlinedAt: !12)
-+!12 = distinct !DILocation(line: 141, scope: !13, inlinedAt: !17)
-+!13 = distinct !DISubprogram(name:
"with_capacity<alloc::string::String>", linkageName:
"_ZN5alloc7raw_vec8{{impl}}36with_capacity<alloc::string::String>E",
scope: !10, file: !1, line: 140, type: !5, isLocal: false, isDefinition: true, scopeLine:
140, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !6, variables:
!14)
-+!14 = !{!15}
-+!15 = !DILocalVariable(name: "cap", arg: 1, scope: !13, file: !1, line: 1,
type: !16)
-+!16 = !DIBasicType(name: "usize", size: 64, encoding: DW_ATE_unsigned)
-+!17 = !DILocation(line: 1521, scope: !4)
---
-2.9.3
-
diff --git a/0001-Fix-llvm-config-paths-on-Fedora.patch
b/0001-Fix-llvm-config-paths-on-Fedora.patch
deleted file mode 100644
index 29fcf3f..0000000
--- a/0001-Fix-llvm-config-paths-on-Fedora.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From c193854e9e732a7ca69732bd3ead38e007f34342 Mon Sep 17 00:00:00 2001
-From: Tom Stellard <tstellar(a)redhat.com>
-Date: Thu, 18 May 2017 12:10:20 -0400
-Subject: [PATCH] Fix llvm-config paths on Fedora
-
----
- tools/llvm-config/llvm-config.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 25344e4..cd79649 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -332,7 +332,7 @@ int main(int argc, char **argv) {
- ("-I" + ActiveIncludeDir + " " + "-I" +
ActiveObjRoot + "/include");
- } else {
- ActivePrefix = CurrentExecPrefix;
-- ActiveIncludeDir = ActivePrefix + "/include";
-+ ActiveIncludeDir = ActivePrefix + "/../../include/llvm4.0";
- ActiveBinDir = ActivePrefix + "/bin";
- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
- ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
---
-1.8.3.1
-
diff --git a/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
b/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
deleted file mode 100644
index 21f8482..0000000
--- a/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5cea35478aaaac7728a50cbafd3770f96162f7ac Mon Sep 17 00:00:00 2001
-From: Tilmann Scheller <tschelle(a)redhat.com>
-Date: Thu, 1 Feb 2018 11:40:01 -0600
-Subject: [PATCH] Fix return type in ORC readMem() client interface.
-
-GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang
-and earlier versions of GCC don't detect the issue.
-
-Fixes rhbz#1540620.
----
- include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-index da02250ba16..bed472e2e0e 100644
---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
-@@ -713,8 +713,8 @@ private:
-
- uint32_t getTrampolineSize() const { return RemoteTrampolineSize; }
-
-- Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src,
-- uint64_t Size) {
-+ Expected<std::vector<uint8_t>> readMem(char *Dst, JITTargetAddress Src,
-+ uint64_t Size) {
- // Check for an 'out-of-band' error, e.g. from an MM destructor.
- if (ExistingError)
- return std::move(ExistingError);
---
-2.16.1
-
diff --git a/0001-Ignore-all-duplicate-frame-index-expression.patch
b/0001-Ignore-all-duplicate-frame-index-expression.patch
deleted file mode 100644
index 3ddae2c..0000000
--- a/0001-Ignore-all-duplicate-frame-index-expression.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From c0cb6fd6d6ace716248731e027b492825fd8518d Mon Sep 17 00:00:00 2001
-From: Bjorn Steinbrink <bsteinbr(a)gmail.com>
-Date: Tue, 10 Oct 2017 07:46:17 +0000
-Subject: [PATCH] Ignore all duplicate frame index expression
-
-Some passes might duplicate calls to llvm.dbg.declare creating
-duplicate frame index expression which currently trigger an assertion
-which is meant to catch erroneous, overlapping fragment declarations.
-But identical frame index expressions are just redundant and don't
-actually conflict with each other, so we can be more lenient and just
-ignore the duplicates.
-
-Reviewers: aprantl, rnk
-
-Subscribers: llvm-commits, JDevlieghere
-
-Differential Revision:
https://reviews.llvm.org/D38540
-
-git-svn-id:
https://llvm.org/svn/llvm-project/llvm/trunk@315279
91177308-0d34-0410-b5e6-96231b3b80d8
----
- lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 25 +++++++++++++++++++++++++
- lib/CodeGen/AsmPrinter/DwarfDebug.h | 18 +-----------------
- 2 files changed, 26 insertions(+), 17 deletions(-)
-
-diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-index 91a3d09..88ba0e6 100644
---- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-@@ -205,9 +205,34 @@ ArrayRef<DbgVariable::FrameIndexExpr>
DbgVariable::getFrameIndexExprs() const {
- return A.Expr->getFragmentInfo()->OffsetInBits <
- B.Expr->getFragmentInfo()->OffsetInBits;
- });
-+
- return FrameIndexExprs;
- }
-
-+void DbgVariable::addMMIEntry(const DbgVariable &V) {
-+ assert(DebugLocListIndex == ~0U && !MInsn && "not an MMI
entry");
-+ assert(V.DebugLocListIndex == ~0U && !V.MInsn && "not an MMI
entry");
-+ assert(V.Var == Var && "conflicting variable");
-+ assert(V.IA == IA && "conflicting inlined-at location");
-+
-+ assert(!FrameIndexExprs.empty() && "Expected an MMI entry");
-+ assert(!V.FrameIndexExprs.empty() && "Expected an MMI entry");
-+
-+ for (const auto &FIE : V.FrameIndexExprs)
-+ // Ignore duplicate entries.
-+ if (llvm::none_of(FrameIndexExprs, [&](const FrameIndexExpr &Other) {
-+ return FIE.FI == Other.FI && FIE.Expr == Other.Expr;
-+ }))
-+ FrameIndexExprs.push_back(FIE);
-+
-+ assert((FrameIndexExprs.size() == 1 ||
-+ llvm::all_of(FrameIndexExprs,
-+ [](FrameIndexExpr &FIE) {
-+ return FIE.Expr && FIE.Expr->isFragment();
-+ })) &&
-+ "conflicting locations for variable");
-+}
-+
- static const DwarfAccelTable::Atom TypeAtoms[] = {
- DwarfAccelTable::Atom(dwarf::DW_ATOM_die_offset, dwarf::DW_FORM_data4),
- DwarfAccelTable::Atom(dwarf::DW_ATOM_die_tag, dwarf::DW_FORM_data2),
-diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h
-index 253e3f0..1e6a25e 100644
---- a/lib/CodeGen/AsmPrinter/DwarfDebug.h
-+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h
-@@ -124,23 +124,7 @@ public:
- /// Get the FI entries, sorted by fragment offset.
- ArrayRef<FrameIndexExpr> getFrameIndexExprs() const;
- bool hasFrameIndexExprs() const { return !FrameIndexExprs.empty(); }
--
-- void addMMIEntry(const DbgVariable &V) {
-- assert(DebugLocListIndex == ~0U && !MInsn && "not an MMI
entry");
-- assert(V.DebugLocListIndex == ~0U && !V.MInsn && "not an MMI
entry");
-- assert(V.Var == Var && "conflicting variable");
-- assert(V.IA == IA && "conflicting inlined-at location");
--
-- assert(!FrameIndexExprs.empty() && "Expected an MMI entry");
-- assert(!V.FrameIndexExprs.empty() && "Expected an MMI entry");
--
-- FrameIndexExprs.append(V.FrameIndexExprs.begin(), V.FrameIndexExprs.end());
-- assert(all_of(FrameIndexExprs,
-- [](FrameIndexExpr &FIE) {
-- return FIE.Expr && FIE.Expr->isFragment();
-- }) &&
-- "conflicting locations for variable");
-- }
-+ void addMMIEntry(const DbgVariable &V);
-
- // Translate tag to proper Dwarf tag.
- dwarf::Tag getTag() const {
---
-1.8.3.1
-
diff --git a/README.md b/README.md
deleted file mode 100644
index 87d77c2..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# llvm4.0
-
-The llvm4.0 package
\ No newline at end of file
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..a4c09a5
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+LLVM4.0 compatiblity package is no longer used.
diff --git a/llvm-3.7.1-cmake-s390.patch b/llvm-3.7.1-cmake-s390.patch
deleted file mode 100644
index bc9b583..0000000
--- a/llvm-3.7.1-cmake-s390.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up llvm-3.7.1.src/cmake/config-ix.cmake.s390 llvm-3.7.1.src/cmake/config-ix.cmake
---- llvm-3.7.1.src/cmake/config-ix.cmake.s390 2016-02-16 12:27:36.000000000 +0100
-+++ llvm-3.7.1.src/cmake/config-ix.cmake 2016-02-16 12:27:52.000000000 +0100
-@@ -356,6 +356,8 @@ elseif (LLVM_NATIVE_ARCH MATCHES "msp430
- set(LLVM_NATIVE_ARCH MSP430)
- elseif (LLVM_NATIVE_ARCH MATCHES "hexagon")
- set(LLVM_NATIVE_ARCH Hexagon)
-+elseif (LLVM_NATIVE_ARCH MATCHES "s390")
-+ set(LLVM_NATIVE_ARCH SystemZ)
- elseif (LLVM_NATIVE_ARCH MATCHES "s390x")
- set(LLVM_NATIVE_ARCH SystemZ)
- elseif (LLVM_NATIVE_ARCH MATCHES "wasm32")
diff --git a/llvm4.0.spec b/llvm4.0.spec
deleted file mode 100644
index 3ba5f63..0000000
--- a/llvm4.0.spec
+++ /dev/null
@@ -1,275 +0,0 @@
-# Components enabled if supported by target architecture:
-%ifarch %ix86 x86_64
- %bcond_without gold
-%else
- %bcond_with gold
-%endif
-
-%global ver_major_minor 4.0
-%global exec_suffix -%{ver_major_minor}
-%global install_prefix %{_libdir}/%{name}
-%global install_bindir %{install_prefix}/bin
-%global install_includedir %{install_prefix}/include
-%global install_libdir %{install_prefix}/lib
-
-%global pkg_bindir %{install_bindir}
-%global pkg_includedir %{_includedir}/%{name}
-%global pkg_libdir %{install_libdir}
-
-Name: llvm%{ver_major_minor}
-Version: %ver_major_minor.1
-Release: 6%{?dist}
-Summary: The Low Level Virtual Machine
-
-License: NCSA
-URL:
http://llvm.org
-Source0:
http://llvm.org/releases/%{version}/llvm-%{version}.src.tar.xz
-
-# recognize s390 as SystemZ when configuring build
-Patch0: llvm-3.7.1-cmake-s390.patch
-Patch1: rust-lang-llvm-pr67.patch
-Patch2: 0001-Fix-llvm-config-paths-on-Fedora.patch
-Patch3: 0001-CMake-Split-static-library-exports-into-their-own-ex.patch
-Patch4: 0001-DebugInfo-Fix-potential-CU-mismatch-for-SubprogramSc.patch
-Patch5: 0001-Ignore-all-duplicate-frame-index-expression.patch
-Patch6: 0001-Fix-return-type-in-ORC-readMem-client-interface.patch
-
-BuildRequires: gcc
-BuildRequires: gcc-c++
-BuildRequires: cmake
-BuildRequires: zlib-devel
-BuildRequires: libffi-devel
-BuildRequires: ncurses-devel
-BuildRequires: python3-sphinx
-BuildRequires: multilib-rpm-config
-%if %{with gold}
-BuildRequires: binutils-devel
-%endif
-BuildRequires: libstdc++-static
-# Enable extra functionality when run the LLVM JIT under valgrind.
-BuildRequires: valgrind-devel
-# LLVM's LineEditor library will use libedit if it is available.
-BuildRequires: libedit-devel
-
-Requires: %{name}-libs%{?_isa} = %{version}-%{release}
-
-%description
-LLVM is a compiler infrastructure designed for compile-time, link-time,
-runtime, and idle-time optimization of programs from arbitrary programming
-languages. The compiler infrastructure includes mirror sets of programming
-tools as well as libraries with equivalent functionality.
-
-%package devel
-Summary: Libraries and header files for LLVM
-Requires: %{name}%{?_isa} = %{version}-%{release}
-# The installed LLVM cmake files will add -ledit to the linker flags for any
-# app that requires the libLLVMLineEditor, so we need to make sure
-# libedit-devel is available.
-Requires: libedit-devel
-Requires(post): %{_sbindir}/alternatives
-Requires(postun): %{_sbindir}/alternatives
-
-%description devel
-This package contains library and header files needed to develop new native
-programs that use the LLVM infrastructure.
-
-%package doc
-Summary: Documentation for LLVM
-BuildArch: noarch
-Requires: %{name} = %{version}-%{release}
-
-%description doc
-Documentation for the LLVM compiler infrastructure.
-
-%package libs
-Summary: LLVM shared libraries
-
-%description libs
-Shared libraries for the LLVM compiler infrastructure.
-
-
-%package static
-Summary: LLVM %{ver_major_minor} static libraries
-Requires: %{name}-devel%{?_isa} = %{version}-%{release}
-Requires: ncurses-devel%{?_isa}
-
-%description static
-Static libraries for the LLVM compiler infrastructure.
-
-This package contains LLVM %{ver_major_minor} and can be installed
-in parallel with other LLVM versions.
-
-%prep
-%autosetup -n llvm-%{version}.src -p1
-
-%ifarch armv7hl
-
-# These tests are marked as XFAIL, but they still run and hang on ARM.
-for f in `grep -Rl 'XFAIL.\+arm' test/ExecutionEngine `; do rm $f; done
-
-%endif
-
-%build
-mkdir -p _build
-cd _build
-
-%ifarch s390 %{arm}
-# use linker flags that prioritize efficiency over speed (try and save memory)
-%global optflags %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
-# Decrease debuginfo verbosity to reduce memory consumption during final library linking
-%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
-%endif
-
-# force off shared libs as cmake macros turns it on.
-%cmake .. \
- -DBUILD_SHARED_LIBS:BOOL=OFF \
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
- -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-Bsymbolic -static-libstdc++" \
-%ifarch s390
- -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
-%endif
- \
- -DCMAKE_INSTALL_PREFIX=%{install_prefix} \
- -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF"
\
- -DLLVM_ENABLE_LIBCXX:BOOL=OFF \
- -DLLVM_ENABLE_ZLIB:BOOL=ON \
- -DLLVM_ENABLE_FFI:BOOL=ON \
- -DLLVM_ENABLE_RTTI:BOOL=ON \
-%if %{with gold}
- -DLLVM_BINUTILS_INCDIR=%{_includedir} \
-%endif
- \
- -DLLVM_BUILD_RUNTIME:BOOL=ON \
- \
- -DLLVM_INCLUDE_TOOLS:BOOL=ON \
- -DLLVM_BUILD_TOOLS:BOOL=ON \
- \
- -DLLVM_INCLUDE_TESTS:BOOL=ON \
- -DLLVM_BUILD_TESTS:BOOL=ON \
- \
- -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
- -DLLVM_BUILD_EXAMPLES:BOOL=OFF \
- \
- -DLLVM_INCLUDE_UTILS:BOOL=ON \
- -DLLVM_INSTALL_UTILS:BOOL=OFF \
- \
- -DLLVM_INCLUDE_DOCS:BOOL=ON \
- -DLLVM_BUILD_DOCS:BOOL=ON \
- -DLLVM_ENABLE_SPHINX:BOOL=ON \
- -DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
- \
- -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
- -DLLVM_DYLIB_EXPORT_ALL:BOOL=ON \
- -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
- -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
- -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
- \
- -DSPHINX_WARNINGS_AS_ERRORS=OFF \
- -DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
- -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3
-
-make %{?_smp_mflags}
-
-%install
-cd _build
-make install DESTDIR=%{buildroot}
-
-# Add version suffix to binaries
-mkdir -p %{buildroot}/%{_bindir}
-for f in `ls %{buildroot}/%{install_bindir}/*`; do
- filename=`basename $f`
- ln -s %{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
-done
-
-# Move header files
-mkdir -p %{buildroot}/%{pkg_includedir}
-mv %{buildroot}/%{install_includedir}/llvm %{buildroot}/%{pkg_includedir}/
-mv %{buildroot}/%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/
-
-# Fix multi-lib
-mv %{buildroot}%{_bindir}/llvm-config{%{exec_suffix},%{exec_suffix}-%{__isa_bits}}
-%multilib_fix_c_header --file %{pkg_includedir}/llvm/Config/llvm-config.h
-
-# Create ld.so.conf.d entry
-mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
-cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
-%{pkg_libdir}
-EOF
-
-# Add version suffix to man pages and move them to mandir.
-mkdir -p %{buildroot}/%{_mandir}/man1
-for f in `ls %{buildroot}%{install_prefix}/share/man/man1/*`; do
- filename=`basename $f | cut -f 1 -d '.'`
- mv $f %{buildroot}%{_mandir}/man1/$filename%{exec_suffix}.1
-done
-
-%check
-cd _build
-#make check-all || :
-
-#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}/%{_libdir}
-test "`%{buildroot}/%{install_bindir}/llvm-config --bindir`" -ef
"%{buildroot}/%{pkg_bindir}"
-test "`%{buildroot}/%{install_bindir}/llvm-config --libdir`" -ef
"%{buildroot}/%{pkg_libdir}"
-test "`%{buildroot}/%{install_bindir}/llvm-config --includedir`" -ef
"%{buildroot}/%{pkg_includedir}"
-test "`%{buildroot}/%{install_bindir}/llvm-config --cmakedir`" -ef
"%{buildroot}/%{pkg_libdir}/cmake/llvm"
-
-%post libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
-
-%files
-%{_bindir}/*
-%{pkg_bindir}
-%exclude %{_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
-%exclude %{pkg_bindir}/llvm-config
-%{_mandir}/man1/*.1.*
-%exclude %{_mandir}/man1/llvm-config%{exec_suffix}.1.gz
-%license LICENSE.TXT
-
-%files libs
-%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
-%{pkg_libdir}/BugpointPasses.so
-%{pkg_libdir}/LLVMHello.so
-%if %{with gold}
-%{_libdir}/%{name}/lib/LLVMgold.so
-%endif
-%{pkg_libdir}/libLLVM-%{ver_major_minor}*.so
-%{pkg_libdir}/libLTO.so*
-%exclude %{pkg_libdir}/libLTO.so
-%license LICENSE.TXT
-
-%files devel
-%{_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
-%{pkg_bindir}/llvm-config
-%{_mandir}/man1/llvm-config%{exec_suffix}.1.gz
-%{pkg_includedir}/llvm
-%{pkg_includedir}/llvm-c
-%{pkg_libdir}/libLTO.so
-%{pkg_libdir}/libLLVM.so
-%{pkg_libdir}/cmake/llvm
-
-%files static
-%{_libdir}/%{name}/lib/*.a
-
-%files doc
-%doc %{_pkgdocdir}/html
-
-%changelog
-* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.0.1-6
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Wed Mar 07 2018 Adam Williamson <awilliam(a)redhat.com> - 4.0.1-5
-- Rebuild to fix GCC 8 mis-compilation
- See
https://da.gd/YJVwk ("GCC 8 ABI change on x86_64")
-
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.0.1-4
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Fri Jan 12 2018 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-3
-- Backport r315279 to fix an issue with rust
-
-* Tue Nov 21 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-2
-- Backport r318289 to fix a debuginfo issue with rust.
-
-* Fri Apr 21 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-1
-- 4.0.1 Release.
diff --git a/rust-lang-llvm-pr67.patch b/rust-lang-llvm-pr67.patch
deleted file mode 100644
index 3edbde9..0000000
--- a/rust-lang-llvm-pr67.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From a6fa10c14649c18d299cddf3e823b032460cb6f5 Mon Sep 17 00:00:00 2001
-From: Pirama Arumuga Nainar <pirama(a)google.com>
-Date: Thu, 23 Mar 2017 16:47:47 +0000
-Subject: [PATCH] Fix computeKnownBits for ARMISD::CMOV
-
-Summary:
-The true and false operands for the CMOV are operands 0 and 1.
-ARMISelLowering.cpp::computeKnownBits was looking at operands 1 and 2
-instead. This can cause CMOV instructions to be incorrectly folded into
-BFI if value set by the CMOV is another CMOV, whose known bits are
-computed incorrectly.
-
-This patch fixes the issue and adds a test case.
-
-Reviewers: kristof.beyls, jmolloy
-
-Subscribers: llvm-commits, aemerson, srhines, rengolin
-
-Differential Revision:
https://reviews.llvm.org/D31265
-
-git-svn-id:
https://llvm.org/svn/llvm-project/llvm/trunk@298624
91177308-0d34-0410-b5e6-96231b3b80d8
----
- lib/Target/ARM/ARMISelLowering.cpp | 4 ++--
- test/CodeGen/ARM/no-cmov2bfi.ll | 19 +++++++++++++++++++
- 2 files changed, 21 insertions(+), 2 deletions(-)
- create mode 100644 test/CodeGen/ARM/no-cmov2bfi.ll
-
-diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp
-index 4a227a3cd7b1..cf98e60c0657 100644
---- a/lib/Target/ARM/ARMISelLowering.cpp
-+++ b/lib/Target/ARM/ARMISelLowering.cpp
-@@ -10806,8 +10806,8 @@ static void computeKnownBits(SelectionDAG &DAG, SDValue Op,
APInt &KnownZero,
- if (Op.getOpcode() == ARMISD::CMOV) {
- APInt KZ2(KnownZero.getBitWidth(), 0);
- APInt KO2(KnownOne.getBitWidth(), 0);
-- computeKnownBits(DAG, Op.getOperand(1), KnownZero, KnownOne);
-- computeKnownBits(DAG, Op.getOperand(2), KZ2, KO2);
-+ computeKnownBits(DAG, Op.getOperand(0), KnownZero, KnownOne);
-+ computeKnownBits(DAG, Op.getOperand(1), KZ2, KO2);
-
- KnownZero &= KZ2;
- KnownOne &= KO2;
-diff --git a/test/CodeGen/ARM/no-cmov2bfi.ll b/test/CodeGen/ARM/no-cmov2bfi.ll
-new file mode 100644
-index 000000000000..c8b512048905
---- /dev/null
-+++ b/test/CodeGen/ARM/no-cmov2bfi.ll
-@@ -0,0 +1,19 @@
-+; RUN: llc < %s -mtriple=thumbv7 | FileCheck --check-prefix=CHECK-NOBFI %s
-+
-+declare zeroext i1 @dummy()
-+
-+define i8 @test(i8 %a1, i1 %c) {
-+; CHECK-NOBFI-NOT: bfi
-+; CHECK-NOBFI: bl dummy
-+; CHECK-NOBFI: cmp r0, #0
-+; CHECK-NOBFI: it ne
-+; CHECK-NOBFI: orrne [[REG:r[0-9]+]], [[REG]], #8
-+; CHECK-NOBFI: mov r0, [[REG]]
-+
-+ %1 = and i8 %a1, -9
-+ %2 = select i1 %c, i8 %1, i8 %a1
-+ %3 = tail call zeroext i1 @dummy()
-+ %4 = or i8 %2, 8
-+ %ret = select i1 %3, i8 %4, i8 %2
-+ ret i8 %ret
-+}
---
-2.9.3
-
diff --git a/sources b/sources
deleted file mode 100644
index 3a5f77a..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-SHA512 (llvm-4.0.1.src.tar.xz) =
16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d