rework build flags [release 9.0.1-4mamba;Sat Feb 08 2020]
This commit is contained in:
parent
1a3da34681
commit
1e0d217566
@ -1,23 +0,0 @@
|
||||
diff -Nru llvm-3.4.orig/tools/clang/lib/Driver/Tools.cpp llvm-3.4/tools/clang/lib/Driver/Tools.cpp
|
||||
--- llvm-3.4.orig/clang-3.4/lib/Driver/Tools.cpp 2013-12-09 03:59:27.000000000 +0100
|
||||
+++ llvm-3.4/clang-3.4/lib/Driver/Tools.cpp 2014-02-17 10:53:55.496716319 +0100
|
||||
@@ -1309,7 +1309,7 @@
|
||||
}
|
||||
|
||||
// All x86 devices running Android have core2 as their common
|
||||
- // denominator. This makes a better choice than pentium4.
|
||||
+ // denominator. This makes a better choice than i586.
|
||||
if (Triple.getEnvironment() == llvm::Triple::Android)
|
||||
return "core2";
|
||||
|
||||
@@ -1327,8 +1327,8 @@
|
||||
case llvm::Triple::Bitrig:
|
||||
return "i686";
|
||||
default:
|
||||
- // Fallback to p4.
|
||||
- return "pentium4";
|
||||
+ // Fallback to i586.
|
||||
+ return "i586";
|
||||
}
|
||||
}
|
||||
|
@ -1,28 +0,0 @@
|
||||
Index: llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
|
||||
===================================================================
|
||||
--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/bugpoint/Makefile
|
||||
+++ llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
|
||||
@@ -12,6 +12,9 @@ TOOLNAME := bugpoint
|
||||
LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \
|
||||
bitwriter irreader vectorize objcarcopts codegen
|
||||
|
||||
+# Crappy workaround to make sure it links correctly.
|
||||
+LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
|
||||
+
|
||||
# Support plugins.
|
||||
NO_DEAD_STRIP := 1
|
||||
|
||||
Index: llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
|
||||
===================================================================
|
||||
--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/opt/Makefile
|
||||
+++ llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
|
||||
@@ -10,7 +10,9 @@
|
||||
LEVEL := ../..
|
||||
TOOLNAME := opt
|
||||
LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets codegen
|
||||
+# Crappy workaround to make sure it links correctly.
|
||||
|
||||
+LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
|
||||
# Support plugins.
|
||||
NO_DEAD_STRIP := 1
|
||||
|
@ -1,31 +0,0 @@
|
||||
--- llvm-3.5.0.src.orig/tools/llvm-config/llvm-config.cpp 2014-09-10 15:06:29.305956568 +0200
|
||||
+++ llvm-3.5.0.src/tools/llvm-config/llvm-config.cpp 2014-09-19 00:41:14.963576743 +0200
|
||||
@@ -243,16 +243,16 @@
|
||||
case MakefileStyle:
|
||||
ActivePrefix = ActiveObjRoot;
|
||||
ActiveBinDir = ActiveObjRoot + "/" + build_mode + "/bin";
|
||||
- ActiveLibDir = ActiveObjRoot + "/" + build_mode + "/lib";
|
||||
+ ActiveLibDir = ActiveObjRoot + "/" + build_mode + "/lib/llvm";
|
||||
break;
|
||||
case CMakeStyle:
|
||||
ActiveBinDir = ActiveObjRoot + "/bin";
|
||||
- ActiveLibDir = ActiveObjRoot + "/lib";
|
||||
+ ActiveLibDir = ActiveObjRoot + "/lib/llvm";
|
||||
break;
|
||||
case CMakeBuildModeStyle:
|
||||
ActivePrefix = ActiveObjRoot;
|
||||
ActiveBinDir = ActiveObjRoot + "/bin/" + build_mode;
|
||||
- ActiveLibDir = ActiveObjRoot + "/lib/" + build_mode;
|
||||
+ ActiveLibDir = ActiveObjRoot + "/lib/llvm" + build_mode;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
ActivePrefix = CurrentExecPrefix;
|
||||
ActiveIncludeDir = ActivePrefix + "/include";
|
||||
ActiveBinDir = ActivePrefix + "/bin";
|
||||
- ActiveLibDir = ActivePrefix + "/lib";
|
||||
+ ActiveLibDir = ActivePrefix + "/lib/llvm";
|
||||
ActiveIncludeOption = "-I" + ActiveIncludeDir;
|
||||
}
|
||||
|
@ -1,31 +0,0 @@
|
||||
--- llvm-3.5.0.src.orig/tools/llvm-config/llvm-config.cpp 2014-09-10 15:06:29.305956568 +0200
|
||||
+++ llvm-3.5.0.src/tools/llvm-config/llvm-config.cpp 2014-09-19 00:41:14.963576743 +0200
|
||||
@@ -243,16 +243,16 @@
|
||||
case MakefileStyle:
|
||||
ActivePrefix = ActiveObjRoot;
|
||||
ActiveBinDir = ActiveObjRoot + "/" + build_mode + "/bin";
|
||||
- ActiveLibDir = ActiveObjRoot + "/" + build_mode + "/lib";
|
||||
+ ActiveLibDir = ActiveObjRoot + "/" + build_mode + "/lib64/llvm";
|
||||
break;
|
||||
case CMakeStyle:
|
||||
ActiveBinDir = ActiveObjRoot + "/bin";
|
||||
- ActiveLibDir = ActiveObjRoot + "/lib";
|
||||
+ ActiveLibDir = ActiveObjRoot + "/lib64/llvm";
|
||||
break;
|
||||
case CMakeBuildModeStyle:
|
||||
ActivePrefix = ActiveObjRoot;
|
||||
ActiveBinDir = ActiveObjRoot + "/bin/" + build_mode;
|
||||
- ActiveLibDir = ActiveObjRoot + "/lib/" + build_mode;
|
||||
+ ActiveLibDir = ActiveObjRoot + "/lib64/llvm" + build_mode;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
ActivePrefix = CurrentExecPrefix;
|
||||
ActiveIncludeDir = ActivePrefix + "/include";
|
||||
ActiveBinDir = ActivePrefix + "/bin";
|
||||
- ActiveLibDir = ActivePrefix + "/lib";
|
||||
+ ActiveLibDir = ActivePrefix + "/lib64/llvm";
|
||||
ActiveIncludeOption = "-I" + ActiveIncludeDir;
|
||||
}
|
||||
|
@ -1,26 +0,0 @@
|
||||
Description: Silent a test failing on yakkety amd64
|
||||
/tmp/buildd/llvm-toolchain-snapshot-4.0~svn279801/test/tools/llvm-symbolizer/print_context.c:16:11: error: expected string not found in input
|
||||
// CHECK: inc
|
||||
^
|
||||
<stdin>:1:1: note: scanning from here
|
||||
_fini
|
||||
^
|
||||
<stdin>:1:3: note: possible intended match here
|
||||
_fini
|
||||
^
|
||||
Author: Sylvestre <sylvestre@debian.org>
|
||||
Last-Update: 2016-08-26
|
||||
|
||||
Index: llvm-toolchain-3.9-3.9~+rc1/test/tools/llvm-symbolizer/print_context.c
|
||||
===================================================================
|
||||
--- llvm-toolchain-3.9-3.9~+rc1.orig/test/tools/llvm-symbolizer/print_context.c
|
||||
+++ llvm-toolchain-3.9-3.9~+rc1/test/tools/llvm-symbolizer/print_context.c
|
||||
@@ -1,7 +1,7 @@
|
||||
// REQUIRES: x86_64-linux
|
||||
// RUN: %host_cc -O0 -g %s -o %t 2>&1
|
||||
// RUN: %t 2>&1 | llvm-symbolizer -print-source-context-lines=5 -obj=%t | FileCheck %s
|
||||
-
|
||||
+// XFAIL: *
|
||||
#include <stdio.h>
|
||||
|
||||
int inc(int a) {
|
@ -1,12 +0,0 @@
|
||||
--- llvm-5.0.0.src/tools/llvm-shlib/CMakeLists.txt.orig 2017-11-28 10:25:33.606319245 +0100
|
||||
+++ llvm-5.0.0.src/tools/llvm-shlib/CMakeLists.txt 2017-11-28 10:24:41.439227412 +0100
|
||||
@@ -36,7 +36,9 @@
|
||||
|
||||
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES})
|
||||
|
||||
+if(LIB_NAMES)
|
||||
list(REMOVE_DUPLICATES LIB_NAMES)
|
||||
+endif()
|
||||
if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")) # FIXME: It should be "GNU ld for elf"
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in
|
@ -1,36 +0,0 @@
|
||||
From 4d613a84ce271c6225068bef67d727ae02b2e3b1 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Labath <labath@google.com>
|
||||
Date: Wed, 14 Mar 2018 09:28:38 +0000
|
||||
Subject: [PATCH] Export LLVM_DYLIB_COMPONENTS in LLVMConfig.cmake
|
||||
|
||||
Summary:
|
||||
This is needed so that external projects (e.g. a standalone build of
|
||||
lldb) can link to the LLVM shared library via the USE_SHARED argument of
|
||||
llvm_config. Without this, llvm_config would add LLVM to the link list,
|
||||
but then also add the constituent static libraries, resulting in
|
||||
multiply defined symbols.
|
||||
|
||||
Reviewers: beanz, mgorny
|
||||
|
||||
Subscribers: llvm-commits
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D44391
|
||||
|
||||
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327484 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||
---
|
||||
cmake/modules/LLVMConfig.cmake.in | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in
|
||||
index fe4df5278498..e70018679846 100644
|
||||
--- a/cmake/modules/LLVMConfig.cmake.in
|
||||
+++ b/cmake/modules/LLVMConfig.cmake.in
|
||||
@@ -13,6 +13,8 @@ set(LLVM_COMMON_DEPENDS @LLVM_COMMON_DEPENDS@)
|
||||
|
||||
set(LLVM_AVAILABLE_LIBS @LLVM_AVAILABLE_LIBS@)
|
||||
|
||||
+set(LLVM_DYLIB_COMPONENTS @LLVM_DYLIB_COMPONENTS@)
|
||||
+
|
||||
set(LLVM_ALL_TARGETS @LLVM_ALL_TARGETS@)
|
||||
|
||||
set(LLVM_TARGETS_TO_BUILD @LLVM_TARGETS_TO_BUILD@)
|
@ -1,262 +0,0 @@
|
||||
From 783006ec19853403b8fe799e4c1b9496cb03504a Mon Sep 17 00:00:00 2001
|
||||
From: Bjorn Pettersson <bjorn.a.pettersson@ericsson.com>
|
||||
Date: Tue, 6 Mar 2018 08:47:07 +0000
|
||||
Subject: [PATCH] [DebugInfo] Discard invalid DBG_VALUE instructions in
|
||||
LiveDebugVariables
|
||||
|
||||
Summary:
|
||||
This is a workaround for pr36417
|
||||
https://bugs.llvm.org/show_bug.cgi?id=36417
|
||||
|
||||
LiveDebugVariables will now verify that the DBG_VALUE instructions
|
||||
are sane (prior to register allocation) by asking LIS if a virtual
|
||||
register used in the DBG_VALUE is live (or dead def) in the slot
|
||||
index before the DBG_VALUE. If it isn't sane the DBG_VALUE is
|
||||
discarded.
|
||||
|
||||
One pass that was identified as introducing non-sane DBG_VALUE
|
||||
instructtons, when analysing pr36417, was the DAG->DAG Instruction
|
||||
Selection. It sometimes inserts DBG_VALUE instructions referring to
|
||||
a virtual register that is defined later in the same basic block.
|
||||
So it is a use before def kind of problem. The DBG_VALUE is
|
||||
typically inserted in the beginning of a basic block when this
|
||||
happens. The problem can be seen in the test case
|
||||
test/DebugInfo/X86/dbg-value-inlined-parameter.ll
|
||||
|
||||
Reviewers: aprantl, rnk, probinson
|
||||
|
||||
Reviewed By: aprantl
|
||||
|
||||
Subscribers: vsk, davide, alexcrichton, Ka-Ka, eraman, llvm-commits, JDevlieghere
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D43956
|
||||
|
||||
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@326769 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||
---
|
||||
lib/CodeGen/LiveDebugVariables.cpp | 38 +++++-
|
||||
test/DebugInfo/X86/dbg-value-inlined-parameter.ll | 6 +-
|
||||
.../X86/live-debug-vars-discard-invalid.mir | 141 +++++++++++++++++++++
|
||||
3 files changed, 181 insertions(+), 4 deletions(-)
|
||||
create mode 100644 test/DebugInfo/X86/live-debug-vars-discard-invalid.mir
|
||||
|
||||
diff --git a/lib/CodeGen/LiveDebugVariables.cpp b/lib/CodeGen/LiveDebugVariables.cpp
|
||||
index 09168b6b9309..f3fcd004defd 100644
|
||||
--- a/lib/CodeGen/LiveDebugVariables.cpp
|
||||
+++ b/lib/CodeGen/LiveDebugVariables.cpp
|
||||
@@ -514,6 +514,39 @@ bool LDVImpl::handleDebugValue(MachineInstr &MI, SlotIndex Idx) {
|
||||
return false;
|
||||
}
|
||||
|
||||
+ // Detect invalid DBG_VALUE instructions, with a debug-use of a virtual
|
||||
+ // register that hasn't been defined yet. If we do not remove those here, then
|
||||
+ // the re-insertion of the DBG_VALUE instruction after register allocation
|
||||
+ // will be incorrect.
|
||||
+ // TODO: If earlier passes are corrected to generate sane debug information
|
||||
+ // (and if the machine verifier is improved to catch this), then these checks
|
||||
+ // could be removed or replaced by asserts.
|
||||
+ bool Discard = false;
|
||||
+ if (MI.getOperand(0).isReg() &&
|
||||
+ TargetRegisterInfo::isVirtualRegister(MI.getOperand(0).getReg())) {
|
||||
+ const unsigned Reg = MI.getOperand(0).getReg();
|
||||
+ if (!LIS->hasInterval(Reg)) {
|
||||
+ // The DBG_VALUE is described by a virtual register that does not have a
|
||||
+ // live interval. Discard the DBG_VALUE.
|
||||
+ Discard = true;
|
||||
+ DEBUG(dbgs() << "Discarding debug info (no LIS interval): "
|
||||
+ << Idx << " " << MI);
|
||||
+ } else {
|
||||
+ // The DBG_VALUE is only valid if either Reg is live out from Idx, or Reg
|
||||
+ // is defined dead at Idx (where Idx is the slot index for the instruction
|
||||
+ // preceeding the DBG_VALUE).
|
||||
+ const LiveInterval &LI = LIS->getInterval(Reg);
|
||||
+ LiveQueryResult LRQ = LI.Query(Idx);
|
||||
+ if (!LRQ.valueOutOrDead()) {
|
||||
+ // We have found a DBG_VALUE with the value in a virtual register that
|
||||
+ // is not live. Discard the DBG_VALUE.
|
||||
+ Discard = true;
|
||||
+ DEBUG(dbgs() << "Discarding debug info (reg not live): "
|
||||
+ << Idx << " " << MI);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
// Get or create the UserValue for (variable,offset) here.
|
||||
bool IsIndirect = MI.getOperand(1).isImm();
|
||||
if (IsIndirect)
|
||||
@@ -522,7 +555,10 @@ bool LDVImpl::handleDebugValue(MachineInstr &MI, SlotIndex Idx) {
|
||||
const DIExpression *Expr = MI.getDebugExpression();
|
||||
UserValue *UV =
|
||||
getUserValue(Var, Expr, MI.getDebugLoc());
|
||||
- UV->addDef(Idx, MI.getOperand(0), IsIndirect);
|
||||
+ if (!Discard)
|
||||
+ UV->addDef(Idx, MI.getOperand(0), IsIndirect);
|
||||
+ else
|
||||
+ UV->addDef(Idx, MachineOperand::CreateReg(0U, RegState::Debug), false);
|
||||
return true;
|
||||
}
|
||||
|
||||
diff --git a/test/DebugInfo/X86/dbg-value-inlined-parameter.ll b/test/DebugInfo/X86/dbg-value-inlined-parameter.ll
|
||||
index 9954039654bb..e83cf0aa7ffd 100644
|
||||
--- a/test/DebugInfo/X86/dbg-value-inlined-parameter.ll
|
||||
+++ b/test/DebugInfo/X86/dbg-value-inlined-parameter.ll
|
||||
@@ -32,10 +32,10 @@
|
||||
;CHECK-NEXT: DW_AT_call_line
|
||||
|
||||
;CHECK: DW_TAG_formal_parameter
|
||||
-;FIXME: Linux shouldn't drop this parameter either...
|
||||
;CHECK-NOT: DW_TAG
|
||||
-;DARWIN: DW_AT_abstract_origin {{.*}} "sp"
|
||||
-;DARWIN: DW_TAG_formal_parameter
|
||||
+;FIXME: Shouldn't drop this parameter...
|
||||
+;XCHECK: DW_AT_abstract_origin {{.*}} "sp"
|
||||
+;XCHECK: DW_TAG_formal_parameter
|
||||
;CHECK: DW_AT_abstract_origin {{.*}} "nums"
|
||||
;CHECK-NOT: DW_TAG_formal_parameter
|
||||
|
||||
diff --git a/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir b/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir
|
||||
new file mode 100644
|
||||
index 000000000000..abc21bc6ac90
|
||||
--- /dev/null
|
||||
+++ b/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir
|
||||
@@ -0,0 +1,141 @@
|
||||
+# RUN: llc -mtriple=x86_64-linux-gnu -start-before greedy -stop-after virtregrewriter -o - %s | FileCheck %s
|
||||
+
|
||||
+--- |
|
||||
+ ; ModuleID = '<stdin>'
|
||||
+ source_filename = "test/DebugInfo/X86/dbg-value-inlined-parameter.ll"
|
||||
+ target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
|
||||
+ target triple = "x86_64-apple-darwin"
|
||||
+
|
||||
+ %struct.S1 = type { float*, i32 }
|
||||
+
|
||||
+ @p = common global %struct.S1 zeroinitializer, align 8, !dbg !0
|
||||
+
|
||||
+ ; Function Attrs: nounwind optsize ssp
|
||||
+ define void @foobar() !dbg !15 {
|
||||
+ entry:
|
||||
+ tail call void @llvm.dbg.value(metadata %struct.S1* @p, metadata !18, metadata !DIExpression()) , !dbg !25
|
||||
+ ret void, !dbg !32
|
||||
+ }
|
||||
+
|
||||
+ ; Function Attrs: nounwind readnone speculatable
|
||||
+ declare void @llvm.dbg.value(metadata, metadata, metadata) #2
|
||||
+
|
||||
+ !llvm.dbg.cu = !{!2}
|
||||
+ !llvm.module.flags = !{!14}
|
||||
+
|
||||
+ !0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
|
||||
+ !1 = !DIGlobalVariable(name: "p", scope: !2, file: !3, line: 14, type: !6, isLocal: false, isDefinition: true)
|
||||
+ !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 2.9 (trunk 125693)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, retainedTypes: !4, globals: !5, imports: !4)
|
||||
+ !3 = !DIFile(filename: "nm2.c", directory: "/private/tmp")
|
||||
+ !4 = !{}
|
||||
+ !5 = !{!0}
|
||||
+ !6 = !DIDerivedType(tag: DW_TAG_typedef, name: "S1", scope: !2, file: !3, line: 4, baseType: !7)
|
||||
+ !7 = !DICompositeType(tag: DW_TAG_structure_type, name: "S1", scope: !2, file: !3, line: 1, size: 128, align: 64, elements: !8)
|
||||
+ !8 = !{!9, !12}
|
||||
+ !9 = !DIDerivedType(tag: DW_TAG_member, name: "m", scope: !3, file: !3, line: 2, baseType: !10, size: 64, align: 64)
|
||||
+ !10 = !DIDerivedType(tag: DW_TAG_pointer_type, scope: !2, baseType: !11, size: 64, align: 64)
|
||||
+ !11 = !DIBasicType(name: "float", size: 32, align: 32, encoding: DW_ATE_float)
|
||||
+ !12 = !DIDerivedType(tag: DW_TAG_member, name: "nums", scope: !3, file: !3, line: 3, baseType: !13, size: 32, align: 32, offset: 64)
|
||||
+ !13 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
|
||||
+ !14 = !{i32 1, !"Debug Info Version", i32 3}
|
||||
+ !15 = distinct !DISubprogram(name: "foobar", scope: !3, file: !3, line: 15, type: !16, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, unit: !2)
|
||||
+ !16 = !DISubroutineType(types: !17)
|
||||
+ !17 = !{null}
|
||||
+ !18 = !DILocalVariable(name: "sp", arg: 1, scope: !19, file: !3, line: 7, type: !24)
|
||||
+ !19 = distinct !DISubprogram(name: "foo", scope: !3, file: !3, line: 8, type: !20, isLocal: false, isDefinition: true, scopeLine: 8, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !22)
|
||||
+ !20 = !DISubroutineType(types: !21)
|
||||
+ !21 = !{!13}
|
||||
+ !22 = !{!18, !23}
|
||||
+ !23 = !DILocalVariable(name: "nums", arg: 2, scope: !19, file: !3, line: 7, type: !13)
|
||||
+ !24 = !DIDerivedType(tag: DW_TAG_pointer_type, scope: !2, baseType: !6, size: 64, align: 64)
|
||||
+ !25 = !DILocation(line: 7, column: 13, scope: !19, inlinedAt: !26)
|
||||
+ !26 = !DILocation(line: 16, column: 3, scope: !27)
|
||||
+ !27 = distinct !DILexicalBlock(scope: !15, file: !3, line: 15, column: 15)
|
||||
+ !32 = !DILocation(line: 17, column: 1, scope: !27)
|
||||
+
|
||||
+...
|
||||
+---
|
||||
+name: foobar
|
||||
+tracksRegLiveness: true
|
||||
+body: |
|
||||
+ bb.0:
|
||||
+ %1:gr64 = IMPLICIT_DEF
|
||||
+ %2:gr64 = IMPLICIT_DEF
|
||||
+
|
||||
+ bb.1:
|
||||
+ ; This DBG_VALUE will be discarded (use before def of %0).
|
||||
+ DBG_VALUE debug-use %0, debug-use %noreg, !18, !DIExpression(), debug-location !25
|
||||
+ %0:gr64 = IMPLICIT_DEF
|
||||
+ %0:gr64 = IMPLICIT_DEF
|
||||
+ %0:gr64 = IMPLICIT_DEF
|
||||
+ %0:gr64 = IMPLICIT_DEF
|
||||
+
|
||||
+ bb.2:
|
||||
+ ; This DBG_VALUE will be discarded (%1 is defined earlier, but it is not live in, so we do not know where %1 is stored).
|
||||
+ DBG_VALUE debug-use %1, debug-use %noreg, !18, !DIExpression(), debug-location !25
|
||||
+ %1:gr64 = IMPLICIT_DEF
|
||||
+ %1:gr64 = IMPLICIT_DEF
|
||||
+ %1:gr64 = IMPLICIT_DEF
|
||||
+ %1:gr64 = IMPLICIT_DEF
|
||||
+ ; This DBG_VALUE is kept, even if %1 is dead, it was defined in the prev instruction,
|
||||
+ ; so the value should be available for as long as the register allocated to %1 is live.
|
||||
+ DBG_VALUE debug-use %1, debug-use %noreg, !18, !DIExpression(), debug-location !25
|
||||
+
|
||||
+ bb.3:
|
||||
+ %1:gr64 = IMPLICIT_DEF
|
||||
+ DBG_VALUE 0, debug-use %noreg, !23, !DIExpression(), debug-location !25
|
||||
+ ; This DBG_VALUE is kept, even if %1 is dead, it was defined in the prev non-dbg instruction,
|
||||
+ ; so the value should be available for as long as the register allocated to %1 is live.
|
||||
+ DBG_VALUE debug-use %1, debug-use %noreg, !18, !DIExpression(), debug-location !25
|
||||
+
|
||||
+ bb.4:
|
||||
+ ; All DBG_VALUEs here should survive. %2 is livein as it was defined in bb.0, and it has use/def in the BTS64rr instruction.
|
||||
+ DBG_VALUE debug-use %2, debug-use %noreg, !18, !DIExpression(), debug-location !25
|
||||
+ %2:gr64 = BTS64rr %2, 0, implicit-def %eflags
|
||||
+ DBG_VALUE 0, debug-use %noreg, !23, !DIExpression(), debug-location !25
|
||||
+ DBG_VALUE debug-use %2, debug-use %noreg, !18, !DIExpression(), debug-location !25
|
||||
+ %2:gr64 = BTS64rr %2, 0, implicit-def %eflags
|
||||
+ DBG_VALUE debug-use %2, debug-use %noreg, !18, !DIExpression(), debug-location !25
|
||||
+ %2:gr64 = BTS64rr %2, 0, implicit-def %eflags
|
||||
+ DBG_VALUE debug-use %2, debug-use %noreg, !18, !DIExpression(), debug-location !25
|
||||
+
|
||||
+ bb.5:
|
||||
+ RET 0, debug-location !32
|
||||
+...
|
||||
+
|
||||
+# CHECK-LABEL: name: foobar
|
||||
+
|
||||
+# CHECK-LABEL: bb.1:
|
||||
+## After solving https://bugs.llvm.org/show_bug.cgi?id=36579 we expect to get a
|
||||
+## DBG_VALUE debug-use %noreg
|
||||
+## here.
|
||||
+# CHECK-NOT: DBG_VALUE
|
||||
+
|
||||
+# CHECK-LABEL: bb.2:
|
||||
+## After solving https://bugs.llvm.org/show_bug.cgi?id=36579 we expect to get a
|
||||
+## DBG_VALUE debug-use %noreg
|
||||
+## here.
|
||||
+# CHECK-NOT: DBG_VALUE
|
||||
+# CHECK: dead renamable %rcx = IMPLICIT_DEF
|
||||
+# CHECK-NEXT: dead renamable %rcx = IMPLICIT_DEF
|
||||
+# CHECK-NEXT: dead renamable %rcx = IMPLICIT_DEF
|
||||
+# CHECK-NEXT: dead renamable %rcx = IMPLICIT_DEF
|
||||
+# CHECK-NEXT: DBG_VALUE debug-use %rcx, debug-use %noreg, !18, !DIExpression()
|
||||
+
|
||||
+# CHECK-LABEL: bb.3:
|
||||
+# CHECK: dead renamable %rcx = IMPLICIT_DEF
|
||||
+# CHECK-NEXT: DBG_VALUE 0, debug-use %noreg, !23, !DIExpression()
|
||||
+# CHECK-NEXT: DBG_VALUE debug-use %rcx, debug-use %noreg, !18, !DIExpression()
|
||||
+
|
||||
+# CHECK-LABEL: bb.4:
|
||||
+# CHECK: liveins: %rax
|
||||
+# CHECK: DBG_VALUE debug-use %rax, debug-use %noreg, !18, !DIExpression()
|
||||
+# CHECK-NEXT: renamable %rax = BTS64rr killed renamable %rax, 0, implicit-def %eflags
|
||||
+# CHECK-NEXT: DBG_VALUE 0, debug-use %noreg, !23, !DIExpression()
|
||||
+# CHECK-NEXT: DBG_VALUE debug-use %rax, debug-use %noreg, !18, !DIExpression()
|
||||
+# CHECK-NEXT: renamable %rax = BTS64rr killed renamable %rax, 0, implicit-def %eflags
|
||||
+# CHECK-NEXT: DBG_VALUE debug-use %rax, debug-use %noreg, !18, !DIExpression()
|
||||
+# CHECK-NEXT: dead renamable %rax = BTS64rr killed renamable %rax, 0, implicit-def %eflags
|
||||
+
|
||||
+# CHECK-LABEL: bb.5:
|
||||
+# CHECK-NEXT: RET 0
|
@ -1,13 +0,0 @@
|
||||
Index: cmake/modules/LLVM-Config.cmake
|
||||
===================================================================
|
||||
--- cmake/modules/LLVM-Config.cmake
|
||||
+++ cmake/modules/LLVM-Config.cmake
|
||||
@@ -68,7 +68,7 @@
|
||||
cmake_parse_arguments(ARG "USE_SHARED" "" "" ${ARGN})
|
||||
set(link_components ${ARG_UNPARSED_ARGUMENTS})
|
||||
|
||||
- if(USE_SHARED)
|
||||
+ if(ARG_USE_SHARED)
|
||||
# If USE_SHARED is specified, then we link against libLLVM,
|
||||
# but also against the component libraries below. This is
|
||||
# done in case libLLVM does not contain all of the components
|
@ -1,28 +0,0 @@
|
||||
From 7c9054610e354340f9474dcd13a927f929912d1d Mon Sep 17 00:00:00 2001
|
||||
From: Eugene Zelenko <eugene.zelenko@gmail.com>
|
||||
Date: Tue, 6 Mar 2018 23:06:13 +0000
|
||||
Subject: [PATCH] [Transforms] Add missing header for InstructionCombining.cpp,
|
||||
in order to export LLVMInitializeInstCombine as extern "C". Fixes PR35947.
|
||||
|
||||
Patch by Brenton Bostick.
|
||||
|
||||
Differential revision: https://reviews.llvm.org/D44140
|
||||
|
||||
|
||||
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@326843 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||
---
|
||||
lib/Transforms/InstCombine/InstructionCombining.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp
|
||||
index a3b2fe9e5d22..7ec73433e8f6 100644
|
||||
--- a/lib/Transforms/InstCombine/InstructionCombining.cpp
|
||||
+++ b/lib/Transforms/InstCombine/InstructionCombining.cpp
|
||||
@@ -34,6 +34,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "InstCombineInternal.h"
|
||||
+#include "llvm-c/Initialization.h"
|
||||
#include "llvm/ADT/APInt.h"
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
@ -1,34 +0,0 @@
|
||||
From 866cf8f3afa0224e31d36ca0351ac5cb0d303757 Mon Sep 17 00:00:00 2001
|
||||
From: Bjorn Pettersson <bjorn.a.pettersson@ericsson.com>
|
||||
Date: Tue, 6 Mar 2018 13:23:28 +0000
|
||||
Subject: [PATCH] Fixup for rL326769 (RegState::Debug is being truncated to a
|
||||
bool)
|
||||
|
||||
I obviously messed up arguments to MachineOperand::CreateReg
|
||||
in rL326769. This should make it work as intended.
|
||||
|
||||
Thanks to RKSimon for spotting this.
|
||||
|
||||
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@326780 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||
---
|
||||
lib/CodeGen/LiveDebugVariables.cpp | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/CodeGen/LiveDebugVariables.cpp b/lib/CodeGen/LiveDebugVariables.cpp
|
||||
index f3fcd004defd..8c547cdcff33 100644
|
||||
--- a/lib/CodeGen/LiveDebugVariables.cpp
|
||||
+++ b/lib/CodeGen/LiveDebugVariables.cpp
|
||||
@@ -557,8 +557,11 @@ bool LDVImpl::handleDebugValue(MachineInstr &MI, SlotIndex Idx) {
|
||||
getUserValue(Var, Expr, MI.getDebugLoc());
|
||||
if (!Discard)
|
||||
UV->addDef(Idx, MI.getOperand(0), IsIndirect);
|
||||
- else
|
||||
- UV->addDef(Idx, MachineOperand::CreateReg(0U, RegState::Debug), false);
|
||||
+ else {
|
||||
+ MachineOperand MO = MachineOperand::CreateReg(0U, false);
|
||||
+ MO.setIsDebug();
|
||||
+ UV->addDef(Idx, MO, false);
|
||||
+ }
|
||||
return true;
|
||||
}
|
||||
|
@ -1,27 +0,0 @@
|
||||
--- llvm-8.0.0.src/tools/clang/lib/Driver/ToolChains/Gnu.cpp.orig 2019-01-15 22:04:36.000000000 +0100
|
||||
+++ llvm-8.0.0.src/tools/clang/lib/Driver/ToolChains/Gnu.cpp 2019-03-26 15:46:18.841353843 +0100
|
||||
@@ -1877,7 +1877,7 @@
|
||||
"aarch64_be-linux-gnu"};
|
||||
|
||||
static const char *const ARMLibDirs[] = {"/lib"};
|
||||
- static const char *const ARMTriples[] = {"arm-linux-gnueabi",
|
||||
+ static const char *const ARMTriples[] = {"arm-openmamba-linux-gnueabi", "arm-linux-gnueabi",
|
||||
"arm-linux-androideabi"};
|
||||
static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
|
||||
"armv7hl-redhat-linux-gnueabi",
|
||||
@@ -1891,6 +1891,7 @@
|
||||
|
||||
static const char *const X86_64LibDirs[] = {"/lib64", "/lib"};
|
||||
static const char *const X86_64Triples[] = {
|
||||
+ "x86_64-openmamba-linux-gnu",
|
||||
"x86_64-linux-gnu", "x86_64-unknown-linux-gnu",
|
||||
"x86_64-pc-linux-gnu", "x86_64-redhat-linux6E",
|
||||
"x86_64-redhat-linux", "x86_64-suse-linux",
|
||||
@@ -1900,6 +1901,7 @@
|
||||
static const char *const X32LibDirs[] = {"/libx32"};
|
||||
static const char *const X86LibDirs[] = {"/lib32", "/lib"};
|
||||
static const char *const X86Triples[] = {
|
||||
+ "i586-openmamba-linux-gnu",
|
||||
"i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu",
|
||||
"i386-linux-gnu", "i386-redhat-linux6E", "i686-redhat-linux",
|
||||
"i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux",
|
@ -1,11 +0,0 @@
|
||||
--- llvm-9.0.1.src/tools/lld/docs/conf.py.orig 2019-12-30 19:06:39.896000000 +0100
|
||||
+++ llvm-9.0.1.src/tools/lld/docs/conf.py 2019-12-30 19:05:48.263000000 +0100
|
||||
@@ -134,7 +134,7 @@
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
-html_sidebars = {'index': 'indexsidebar.html'}
|
||||
+html_sidebars = {'index': ['indexsidebar.html']}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
277
llvm.spec
277
llvm.spec
@ -2,7 +2,7 @@
|
||||
%define majver %(echo %version | cut -d. -f1-2)
|
||||
Name: llvm
|
||||
Version: 9.0.1
|
||||
Release: 1mamba
|
||||
Release: 4mamba
|
||||
Summary: The Low Level Virtual Machine
|
||||
Group: Development/Languages
|
||||
Vendor: openmamba
|
||||
@ -10,27 +10,9 @@ Distribution: openmamba
|
||||
Packager: Davide Madrisan <davide.madrisan@gmail.com>
|
||||
URL: https://llvm.org/
|
||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/llvm-%{version}.src.tar.xz
|
||||
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-%{version}.src.tar.xz
|
||||
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/compiler-rt-%{version}.src.tar.xz
|
||||
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-tools-extra-%{version}.src.tar.xz
|
||||
Source4: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lld-%{version}.src.tar.xz
|
||||
Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lldb-%{version}.src.tar.xz
|
||||
Source6: llvm-6.0.0-llvm-config.patch
|
||||
Patch0: %{name}-3.1-llvm-config.patch
|
||||
Patch1: llvm-3.4-default-to-i586.patch
|
||||
Patch2: llvm-8.0.0-openmamba-triplet.patch
|
||||
Patch3: llvm-3.5.0-buildfix-CommandLine_h-getOption.patch
|
||||
Patch4: llvm-3.5.0-x86_64-llvm-config.patch
|
||||
Patch5: llvm-3.5.0-llvm-config.patch
|
||||
Patch6: llvm-3.8.0-ocamldoc-install.patch
|
||||
Patch7: llvm-5.0.0-llvm-shlib-build-fix.patch
|
||||
Patch8: llvm-5.0.0-disable-symbolizer-test.patch
|
||||
Patch9: llvm-6.0.0--export-LLVM_DYLIB_COMPONENTS-in-LLVMConfig.cmake.patch
|
||||
Patch10: llvm-6.0.0-cmake-fix-a-typo-in-llvm_config-macro.patch
|
||||
Patch11: llvm-6.0.0-export-LLVMInitializeInstCombine-as-extern-C.patch
|
||||
Patch12: llvm-6.0.0-DebugInfo-discard-invalid-DBG_VALUE-instructions.patch
|
||||
Patch13: llvm-6.0.0-fixup-for-rL326769-RegState-Debug-is-being-truncated.patch
|
||||
Patch14: llvm-9.0.1-Sphinx-2.3.1.patch
|
||||
License: NCSA
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: glibc-devel
|
||||
@ -38,22 +20,24 @@ BuildRequires: libedit-devel
|
||||
BuildRequires: libffi-devel
|
||||
BuildRequires: libgcc
|
||||
BuildRequires: libncurses-devel
|
||||
BuildRequires: libperl
|
||||
BuildRequires: libstdc++6-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: libz-devel
|
||||
BuildRequires: perl-devel
|
||||
BuildRequires: libz3-devel
|
||||
BuildRequires: ocaml-ctypes-devel
|
||||
BuildRequires: ocaml-integers
|
||||
BuildRequires: ocaml-runtime
|
||||
## AUTOBUILDREQ-END
|
||||
BuildRequires: gcc-c++ >= 8.1.0
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: ocaml >= 4.09.0-4mamba
|
||||
BuildRequires: ocaml-ctypes >= 0.16
|
||||
BuildRequires: ocaml-ounit
|
||||
BuildRequires: z3
|
||||
BuildRequires: libz3-devel
|
||||
#Requires: gcc >= %{gccver}
|
||||
#Requires: gcc-c++ >= %{gccver}
|
||||
BuildConflicts: llvm-ocaml
|
||||
#BuildConflicts: llvm-ocaml
|
||||
Provides: llvm-tools
|
||||
Obsoletes: llvm-tools
|
||||
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
|
||||
%description
|
||||
@ -70,7 +54,6 @@ This package contains shared libraries for %{name}.
|
||||
%package -n lib%{name}-devel
|
||||
Summary: Libraries and header files for LLVM
|
||||
Group: Development/Languages
|
||||
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||
Provides: llvm-devel
|
||||
Obsoletes: llvm-devel
|
||||
|
||||
@ -88,50 +71,6 @@ Requires: gtk-doc
|
||||
%description -n lib%{name}-apidocs
|
||||
This package includes the lib%{name} API documentation.
|
||||
|
||||
%package tools
|
||||
Summary: Additional LLVM tools
|
||||
Group: Development/Languages
|
||||
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||
|
||||
%description tools
|
||||
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
|
||||
Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them.
|
||||
This package contains additional LLVM tools.
|
||||
|
||||
%package -n clang
|
||||
Summary: LLVM native C/C++/Objective-C compiler
|
||||
Group: Development/Languages
|
||||
Requires: gcc-c++
|
||||
Provides: cfe
|
||||
Provides: llvm-clang
|
||||
Obsoletes: llvm-clang
|
||||
|
||||
%description -n clang
|
||||
Cfe is an "LLVM native" C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles, extremely useful error and warning messages and to provide a platform for building great source level tools.
|
||||
The Cfe Static Analyzer is a tool automatically finds bugs in your code, and is a great example of the sort of tool that can be built using the Cfe frontend as a library to parse C/C++ code.
|
||||
|
||||
%package -n clang-devel
|
||||
Summary: Libraries and header files for LLVM cfe
|
||||
Group: Development/Languages
|
||||
Requires: clang = %{?epoch:%epoch:}%{version}-%{release}
|
||||
Provides: cfe-devel
|
||||
Provides: llvm-clang-devel
|
||||
Obsoletes: llvm-clang-devel
|
||||
|
||||
%description -n clang-devel
|
||||
Cfe is an "LLVM native" C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles, extremely useful error and warning messages and to provide a platform for building great source level tools.
|
||||
The Cfe Static Analyzer is a tool automatically finds bugs in your code, and is a great example of the sort of tool that can be built using the Cfe frontend as a library to parse C/C++ code.
|
||||
This package contains header files for the Cfe compiler.
|
||||
|
||||
%package -n clang-apidocs
|
||||
Group: Documentation
|
||||
Summary: clang API documentation
|
||||
Requires: clang-devel = %{?epoch:%epoch:}%{version}-%{release}
|
||||
Requires: gtk-doc
|
||||
|
||||
%description -n clang-apidocs
|
||||
This package includes the clang API documentation.
|
||||
|
||||
%package ocaml
|
||||
Summary: OCaml binding for LLVM
|
||||
Group: Development/Libraries
|
||||
@ -161,28 +100,11 @@ Requires: gtk-doc
|
||||
This package includes the LLVM ocaml API documentation.
|
||||
|
||||
%prep
|
||||
#% setup -q -a1 -a2 -a3 -a4 -a5 -n %{name}-%{version}.src
|
||||
%setup -q -n %{name}-%{version}.src -D -T
|
||||
:<< _EOF
|
||||
%setup -q -n %{name}-%{version}.src
|
||||
#-D -T
|
||||
#:<< _EOF
|
||||
|
||||
#%patch0 -p1
|
||||
#%patch1 -p1
|
||||
mv clang-%{version}.src tools/clang
|
||||
mv compiler-rt-%{version}.src projects/compiler-rt
|
||||
mv clang-tools-extra-%{version}.src tools/clang/tools/extra
|
||||
mv lld-%{version}.src tools/lld
|
||||
mv lldb-%{version}.src tools/lldb
|
||||
|
||||
%patch2 -p1
|
||||
#%patch3 -p1
|
||||
#%ifarch x86_64
|
||||
#%patch4 -p1
|
||||
#%else
|
||||
#%patch5 -p1
|
||||
#%endif
|
||||
%patch6 -p1
|
||||
#%patch9 -p1
|
||||
%patch14 -p1
|
||||
|
||||
# https://bugs.llvm.org/show_bug.cgi?id=34123
|
||||
#sed -i '/LLVMSupport/d' tools/clang/tools/extra/clangd/tool/CMakeLists.txt
|
||||
@ -191,49 +113,45 @@ sed -i "/REMOVE_DUPLICATES/d" tools/llvm-shlib/CMakeLists.txt
|
||||
|
||||
%build
|
||||
#:<< __EOF
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
|
||||
#%ifarch x86_64
|
||||
# -DCMAKE_C_COMPILER=clang \
|
||||
# -DCMAKE_CXX_COMPILER=clang++ \
|
||||
# -DLLVM_ENABLE_LLD=ON \
|
||||
#%else
|
||||
# -DCMAKE_C_COMPILER=gcc \
|
||||
# -DCMAKE_CXX_COMPILER=g++ \
|
||||
#%endif
|
||||
|
||||
|
||||
cmake \
|
||||
-G Ninja \
|
||||
%ifarch x86_64
|
||||
-DCMAKE_C_COMPILER=clang \
|
||||
-DCMAKE_CXX_COMPILER=clang++ \
|
||||
%else
|
||||
-DCMAKE_C_COMPILER=gcc \
|
||||
-DCMAKE_CXX_COMPILER=g++ \
|
||||
%endif
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
|
||||
-DLLVM_HOST_TRIPLE="%{_target_platform}" \
|
||||
-DLLVM_DEFAULT_TARGET_TRIPLE="%{_target_platform}" \
|
||||
-DLLVM_ENABLE_FFI=ON \
|
||||
-DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DLLVM_BUILD_LLVM_DYLIB=ON \
|
||||
-DLLVM_LINK_LLVM_DYLIB=ON \
|
||||
-DLLVM_BINUTILS_INCDIR=%{_includedir} \
|
||||
-DPYTHON_EXECUTABLE=%{_bindir}/python \
|
||||
-DLLDB_DISABLE_PYTHON=ON \
|
||||
-DLLVM_INSTALL_UTILS=ON \
|
||||
%ifnarch arm
|
||||
-DLLVM_ENABLE_RTTI=ON \
|
||||
%endif
|
||||
-DLLVM_ENABLE_FFI=ON \
|
||||
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR \
|
||||
-DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
|
||||
-DLLVM_BINUTILS_INCDIR=%{_includedir} \
|
||||
-DLLVM_ENABLE_SPHINX=ON \
|
||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||
-DLLVM_BUILD_EXTERNAL_COMPILER_RT=OFF \
|
||||
%ifarch x86_64
|
||||
-DLLVM_LIBDIR_SUFFIX="64" \
|
||||
%endif
|
||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||
%ifnarch arm
|
||||
-DLLVM_ENABLE_RTTI=ON \
|
||||
-DLLVM_BUILD_TESTS=ON \
|
||||
-DLLVM_BUILD_DOCS=ON \
|
||||
%else
|
||||
-DLLVM_BUILD_EXTERNAL_COMPILER_RT=OFF \
|
||||
%endif
|
||||
-Wno-dev ..
|
||||
|
||||
#%ifarch x86_64
|
||||
# -DLLVM_LIBDIR_SUFFIX="64/llvm" \
|
||||
#%else
|
||||
# -DLLVM_LIBDIR_SUFFIX="/llvm" \
|
||||
#%endif
|
||||
# -DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \
|
||||
# -DLLVM_ENABLE_LTO=Thin \
|
||||
|
||||
ninja all ocaml_doc
|
||||
#% make all docs-llvm-html docs-llvm-man docs-clang-html docs-clang-man
|
||||
@ -275,134 +193,58 @@ rm -f %{buildroot}%{_datadir}/doc/llvm/html/.buildinfo
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/bugpoint
|
||||
%{_bindir}/lit-cpuid
|
||||
%{_bindir}/count
|
||||
%{_bindir}/dsymutil
|
||||
%{_bindir}/FileCheck
|
||||
%{_bindir}/llc
|
||||
%{_bindir}/lli
|
||||
%{_bindir}/lli-child-target
|
||||
%{_bindir}/llvm*
|
||||
%{_bindir}/not
|
||||
%{_bindir}/obj2yaml
|
||||
%{_bindir}/sancov
|
||||
%{_bindir}/sanstats
|
||||
%{_bindir}/verify-uselistorder
|
||||
%{_bindir}/yaml2obj
|
||||
%{_bindir}/wasm-ld
|
||||
%{_bindir}/yaml-bench
|
||||
%{_bindir}/opt
|
||||
%{_bindir}/scan-build
|
||||
%{_bindir}/scan-view
|
||||
%dir %{_datadir}/scan-build
|
||||
%{_datadir}/scan-build/*
|
||||
%dir %{_datadir}/scan-view
|
||||
%{_datadir}/scan-view/*
|
||||
%dir %{_datadir}/opt-viewer
|
||||
%{_datadir}/opt-viewer/*
|
||||
%{_mandir}/man1/FileCheck.1*
|
||||
%{_mandir}/man1/bugpoint.1*
|
||||
%{_mandir}/man1/dsymutil.1*
|
||||
%{_mandir}/man1/lit.1*
|
||||
%{_mandir}/man1/llc.1*
|
||||
%{_mandir}/man1/lli.1*
|
||||
%{_mandir}/man1/llvm-*.1*
|
||||
%{_mandir}/man1/opt.1*
|
||||
%{_mandir}/man1/scan-build.1*
|
||||
%{_mandir}/man1/tblgen.1*
|
||||
#%{_mandir}/man1/FileCheck.1*
|
||||
#%{_mandir}/man1/bugpoint.1*
|
||||
#%{_mandir}/man1/dsymutil.1*
|
||||
#%{_mandir}/man1/lit.1*
|
||||
#%{_mandir}/man1/llc.1*
|
||||
#%{_mandir}/man1/lli.1*
|
||||
#%{_mandir}/man1/llvm-*.1*
|
||||
#%{_mandir}/man1/opt.1*
|
||||
#%{_mandir}/man1/tblgen.1*
|
||||
%doc CREDITS.TXT LICENSE.TXT
|
||||
#doc llvm-testlog.txt
|
||||
|
||||
%files tools
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/FileCheck
|
||||
%{_bindir}/clangd
|
||||
%{_bindir}/count
|
||||
%{_bindir}/diagtool
|
||||
%{_bindir}/dsymutil
|
||||
%{_bindir}/hmaptool
|
||||
%{_bindir}/find-all-symbols
|
||||
%{_bindir}/ld64.lld
|
||||
%{_bindir}/ld.lld
|
||||
%{_bindir}/lld
|
||||
%{_bindir}/lld-link
|
||||
%{_bindir}/lldb
|
||||
%{_bindir}/lldb-*
|
||||
%{_bindir}/lli-child-target
|
||||
%{_bindir}/modularize
|
||||
%{_bindir}/not
|
||||
%{_bindir}/yaml-bench
|
||||
%dir %{_docdir}/clang-tools
|
||||
%{_docdir}/clang-tools/*
|
||||
%dir %{_docdir}/lld
|
||||
%{_docdir}/lld/*
|
||||
%dir %{_docdir}/lldb
|
||||
%{_docdir}/lldb/*
|
||||
%{_mandir}/man1/extraclangtools.1*
|
||||
%{_mandir}/man1/diagtool.1*
|
||||
|
||||
%files -n libllvm
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libLLVM-*.so
|
||||
%{_libdir}/libLTO.so.*
|
||||
%{_libdir}/liblldb.so.*
|
||||
%{_libdir}/liblldbIntelFeatures.so.*
|
||||
%{_libdir}/libRemarks.so.*
|
||||
%{_libdir}/libclang.so.*
|
||||
%{_libdir}/libclang-cpp.so.*
|
||||
|
||||
%files -n libllvm-devel
|
||||
%defattr(-,root,root)
|
||||
%{_includedir}/%{name}
|
||||
%{_includedir}/%{name}-c
|
||||
%dir %{_includedir}/lld
|
||||
%{_includedir}/lld/*
|
||||
%dir %{_includedir}/lldb
|
||||
%{_includedir}/lldb/*
|
||||
%{_libdir}/*.a
|
||||
%{_libdir}/libLLVM.so
|
||||
%{_libdir}/libLTO.so
|
||||
%{_libdir}/libRemarks.so
|
||||
%{_libdir}/libclang-cpp.so
|
||||
%{_libdir}/liblldb.so
|
||||
%{_libdir}/liblldbIntelFeatures.so
|
||||
%{_libdir}/LLVM*.so
|
||||
%dir %{_libdir}/cmake/llvm
|
||||
%{_libdir}/cmake/llvm/*.cmake
|
||||
%doc README.txt
|
||||
#%doc README.txt
|
||||
|
||||
%files -n libllvm-apidocs
|
||||
%defattr(-,root,root)
|
||||
%dir %{_datadir}/doc/llvm/html/
|
||||
%{_datadir}/doc/llvm/html/*
|
||||
|
||||
%files -n clang
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/c-index-test
|
||||
%{_bindir}/clang
|
||||
%{_bindir}/clang++
|
||||
%{_bindir}/clang-*
|
||||
%{_bindir}/git-clang-format
|
||||
%{_prefix}/libexec/c++-analyzer
|
||||
%{_prefix}/libexec/ccc-analyzer
|
||||
%dir %{_libdir}/clang
|
||||
%dir %{_libdir}/clang/%{version}
|
||||
%{_libdir}/clang/%{version}/*
|
||||
%dir %{_datadir}/clang/
|
||||
%{_datadir}/clang/*
|
||||
%{_mandir}/man1/clang.1*
|
||||
%doc tools/clang/LICENSE.TXT
|
||||
|
||||
%files -n clang-devel
|
||||
%defattr(-,root,root)
|
||||
%dir %{_includedir}/clang-c
|
||||
%{_includedir}/clang-c/*.h
|
||||
%dir %{_includedir}/clang
|
||||
%{_includedir}/clang/*
|
||||
%dir %{_datadir}/doc/clang/html/
|
||||
%{_datadir}/doc/clang/html/*
|
||||
%{_libdir}/libclang.so
|
||||
%dir %{_libdir}/cmake/clang
|
||||
%{_libdir}/cmake/clang/*.cmake
|
||||
%doc tools/clang/{NOTES.txt,README.txt}
|
||||
|
||||
%files -n clang-apidocs
|
||||
%defattr(-,root,root)
|
||||
%doc tools/clang/docs
|
||||
#%files -n libllvm-apidocs
|
||||
#%defattr(-,root,root)
|
||||
#%dir %{_datadir}/doc/llvm/html/
|
||||
#%{_datadir}/doc/llvm/html/*
|
||||
|
||||
%files ocaml
|
||||
%defattr(-,root,root)
|
||||
@ -422,6 +264,15 @@ rm -f %{buildroot}%{_datadir}/doc/llvm/html/.buildinfo
|
||||
%{_docdir}/llvm/ocaml-html/*
|
||||
|
||||
%changelog
|
||||
* Sat Feb 08 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 9.0.1-4mamba
|
||||
- rework build flags
|
||||
|
||||
* Sat Feb 08 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 9.0.1-3mamba
|
||||
- split build of llvm clang etc. in separate sources
|
||||
|
||||
* Tue Jan 07 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 9.0.1-2mamba
|
||||
- rebuild with -DLLVM_ENABLE_LTO=Thin
|
||||
|
||||
* Mon Dec 30 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 9.0.1-1mamba
|
||||
- update to 9.0.1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user