forked from pool/llvm14
Accepting request 972706 from devel:tools:compiler
- Update to version 14.0.1. * This release contains bug-fixes for the LLVM 14.0.0 release. This release is API and ABI compatible with 14.0.0. - Rebase llvm-do-not-install-static-libraries.patch. - Drop obsolete patches: * PPCISelLowering-Avoid-emitting-calls-to-__multi3.patch - Don't override default linker flags. (We were losing -Wl,-z,now.) OBS-URL: https://build.opensuse.org/request/show/972706 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm14?expand=0&rev=2
This commit is contained in:
commit
54485eb612
@ -1,350 +0,0 @@
|
||||
From eb632027f696aa0f548e17624979054ccf5f3b36 Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||
Date: Sun, 20 Mar 2022 20:59:06 +0100
|
||||
Subject: [PATCH] [PPCISelLowering] Avoid emitting calls to __multi3, __muloti4
|
||||
|
||||
After D108936, @llvm.smul.with.overflow.i64 was lowered to __multi3
|
||||
instead of __mulodi4, which also doesn't exist on PowerPC 32-bit, not
|
||||
even with compiler-rt. Block it as well so that we get inline code.
|
||||
|
||||
Because libgcc doesn't have __muloti4, we block that as well.
|
||||
|
||||
Fixes #54460.
|
||||
|
||||
Reviewed By: craig.topper
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D122090
|
||||
---
|
||||
llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 2 +
|
||||
.../overflow-intrinsic-optimizations.ll | 12 ++
|
||||
.../umulo-128-legalisation-lowering.ll | 169 +++++++++---------
|
||||
.../PowerPC/urem-seteq-illegal-types.ll | 61 ++++---
|
||||
4 files changed, 127 insertions(+), 117 deletions(-)
|
||||
|
||||
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
|
||||
index cbeae0ab03b8..6c9d43ad8c03 100644
|
||||
--- a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
|
||||
+++ b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
|
||||
@@ -1305,11 +1305,13 @@ PPCTargetLowering::PPCTargetLowering(const PPCTargetMachine &TM,
|
||||
setBooleanVectorContents(ZeroOrNegativeOneBooleanContent);
|
||||
}
|
||||
|
||||
+ setLibcallName(RTLIB::MULO_I128, nullptr);
|
||||
if (!isPPC64) {
|
||||
// These libcalls are not available in 32-bit.
|
||||
setLibcallName(RTLIB::SHL_I128, nullptr);
|
||||
setLibcallName(RTLIB::SRL_I128, nullptr);
|
||||
setLibcallName(RTLIB::SRA_I128, nullptr);
|
||||
+ setLibcallName(RTLIB::MUL_I128, nullptr);
|
||||
setLibcallName(RTLIB::MULO_I64, nullptr);
|
||||
}
|
||||
|
||||
diff --git a/llvm/test/CodeGen/PowerPC/overflow-intrinsic-optimizations.ll b/llvm/test/CodeGen/PowerPC/overflow-intrinsic-optimizations.ll
|
||||
index 83e9d8ee627e..353dac3d2c95 100644
|
||||
--- a/llvm/test/CodeGen/PowerPC/overflow-intrinsic-optimizations.ll
|
||||
+++ b/llvm/test/CodeGen/PowerPC/overflow-intrinsic-optimizations.ll
|
||||
@@ -1,8 +1,10 @@
|
||||
; RUN: llc %s -mtriple=powerpc -o - | FileCheck %s
|
||||
+; RUN: llc %s -mtriple=powerpc64 -o - | FileCheck %s
|
||||
|
||||
define i1 @no__mulodi4(i32 %a, i64 %b, i32* %c) {
|
||||
; CHECK-LABEL: no__mulodi4
|
||||
; CHECK-NOT: bl __mulodi4
|
||||
+; CHECK-NOT: bl __multi3
|
||||
entry:
|
||||
%0 = sext i32 %a to i64
|
||||
%1 = call { i64, i1 } @llvm.smul.with.overflow.i64(i64 %0, i64 %b)
|
||||
@@ -16,4 +18,14 @@ entry:
|
||||
ret i1 %7
|
||||
}
|
||||
|
||||
+define i1 @no__muloti4(i128 %a, i128 %b) {
|
||||
+; CHECK-LABEL: no__muloti4
|
||||
+; CHECK-NOT: bl __muloti4
|
||||
+entry:
|
||||
+ %0 = call { i128, i1 } @llvm.smul.with.overflow.i128(i128 %a, i128 %b)
|
||||
+ %1 = extractvalue { i128, i1 } %0, 1
|
||||
+ ret i1 %1
|
||||
+}
|
||||
+
|
||||
declare { i64, i1 } @llvm.smul.with.overflow.i64(i64, i64)
|
||||
+declare { i128, i1 } @llvm.smul.with.overflow.i128(i128, i128)
|
||||
diff --git a/llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll b/llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
|
||||
index 335946cb24de..778edba2719a 100644
|
||||
--- a/llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
|
||||
+++ b/llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
|
||||
@@ -32,110 +32,103 @@ define { i128, i8 } @muloti_test(i128 %l, i128 %r) unnamed_addr #0 {
|
||||
;
|
||||
; PPC32-LABEL: muloti_test:
|
||||
; PPC32: # %bb.0: # %start
|
||||
-; PPC32-NEXT: mflr 0
|
||||
-; PPC32-NEXT: stw 0, 4(1)
|
||||
; PPC32-NEXT: stwu 1, -64(1)
|
||||
-; PPC32-NEXT: stw 24, 32(1) # 4-byte Folded Spill
|
||||
-; PPC32-NEXT: mfcr 12
|
||||
; PPC32-NEXT: stw 26, 40(1) # 4-byte Folded Spill
|
||||
-; PPC32-NEXT: mr 26, 7
|
||||
-; PPC32-NEXT: stw 28, 48(1) # 4-byte Folded Spill
|
||||
-; PPC32-NEXT: mr 28, 4
|
||||
-; PPC32-NEXT: stw 29, 52(1) # 4-byte Folded Spill
|
||||
-; PPC32-NEXT: mr 29, 8
|
||||
-; PPC32-NEXT: mr 24, 3
|
||||
-; PPC32-NEXT: li 3, 0
|
||||
-; PPC32-NEXT: li 4, 0
|
||||
-; PPC32-NEXT: li 7, 0
|
||||
-; PPC32-NEXT: li 8, 0
|
||||
+; PPC32-NEXT: mulhwu. 26, 7, 6
|
||||
+; PPC32-NEXT: mcrf 1, 0
|
||||
+; PPC32-NEXT: mfcr 12
|
||||
+; PPC32-NEXT: cmpwi 7, 5, 0
|
||||
+; PPC32-NEXT: cmpwi 2, 7, 0
|
||||
+; PPC32-NEXT: stw 22, 24(1) # 4-byte Folded Spill
|
||||
+; PPC32-NEXT: mulhwu. 26, 5, 8
|
||||
+; PPC32-NEXT: mcrf 5, 0
|
||||
; PPC32-NEXT: stw 23, 28(1) # 4-byte Folded Spill
|
||||
-; PPC32-NEXT: mr 23, 5
|
||||
+; PPC32-NEXT: crnor 28, 30, 10
|
||||
+; PPC32-NEXT: stw 29, 52(1) # 4-byte Folded Spill
|
||||
+; PPC32-NEXT: cmpwi 2, 9, 0
|
||||
+; PPC32-NEXT: mulhwu. 26, 3, 10
|
||||
+; PPC32-NEXT: mcrf 6, 0
|
||||
+; PPC32-NEXT: cmpwi 3, 3, 0
|
||||
+; PPC32-NEXT: stw 24, 32(1) # 4-byte Folded Spill
|
||||
+; PPC32-NEXT: crnor 29, 10, 14
|
||||
; PPC32-NEXT: stw 25, 36(1) # 4-byte Folded Spill
|
||||
-; PPC32-NEXT: mr 25, 9
|
||||
+; PPC32-NEXT: mulhwu. 26, 9, 4
|
||||
; PPC32-NEXT: stw 27, 44(1) # 4-byte Folded Spill
|
||||
-; PPC32-NEXT: mr 27, 6
|
||||
+; PPC32-NEXT: crorc 28, 28, 6
|
||||
+; PPC32-NEXT: stw 28, 48(1) # 4-byte Folded Spill
|
||||
+; PPC32-NEXT: crorc 20, 28, 22
|
||||
; PPC32-NEXT: stw 30, 56(1) # 4-byte Folded Spill
|
||||
-; PPC32-NEXT: mr 30, 10
|
||||
-; PPC32-NEXT: stw 12, 24(1)
|
||||
-; PPC32-NEXT: bl __multi3
|
||||
-; PPC32-NEXT: mulhwu. 9, 26, 27
|
||||
-; PPC32-NEXT: mfcr 9 # cr0
|
||||
-; PPC32-NEXT: cmpwi 2, 26, 0
|
||||
-; PPC32-NEXT: stw 9, 20(1)
|
||||
-; PPC32-NEXT: cmpwi 3, 23, 0
|
||||
-; PPC32-NEXT: crnor 12, 14, 10
|
||||
-; PPC32-NEXT: cmpwi 4, 24, 0
|
||||
-; PPC32-NEXT: mulhwu. 9, 23, 29
|
||||
-; PPC32-NEXT: mcrf 5, 0
|
||||
-; PPC32-NEXT: cmpwi 1, 25, 0
|
||||
-; PPC32-NEXT: crnor 4, 6, 18
|
||||
-; PPC32-NEXT: mulhwu. 9, 24, 30
|
||||
-; PPC32-NEXT: mcrf 6, 0
|
||||
-; PPC32-NEXT: mulhwu. 0, 25, 28
|
||||
-; PPC32-NEXT: mcrf 7, 0
|
||||
-; PPC32-NEXT: or. 0, 28, 24
|
||||
-; PPC32-NEXT: mcrf 2, 0
|
||||
-; PPC32-NEXT: or. 0, 29, 26
|
||||
-; PPC32-NEXT: crnor 5, 2, 10
|
||||
-; PPC32-NEXT: mullw 10, 26, 27
|
||||
-; PPC32-NEXT: lwz 26, 20(1)
|
||||
-; PPC32-NEXT: mullw 9, 23, 29
|
||||
-; PPC32-NEXT: add 9, 10, 9
|
||||
-; PPC32-NEXT: mtcrf 128, 26 # cr0
|
||||
-; PPC32-NEXT: crorc 6, 12, 2
|
||||
-; PPC32-NEXT: crorc 20, 6, 22
|
||||
-; PPC32-NEXT: mulhwu 7, 29, 27
|
||||
-; PPC32-NEXT: add 9, 7, 9
|
||||
-; PPC32-NEXT: cmplw 9, 7
|
||||
-; PPC32-NEXT: crorc 21, 4, 26
|
||||
-; PPC32-NEXT: cror 20, 20, 0
|
||||
-; PPC32-NEXT: crorc 21, 21, 30
|
||||
-; PPC32-NEXT: mullw 11, 25, 28
|
||||
-; PPC32-NEXT: mullw 12, 24, 30
|
||||
-; PPC32-NEXT: add 10, 12, 11
|
||||
-; PPC32-NEXT: lwz 12, 24(1)
|
||||
-; PPC32-NEXT: lwz 26, 40(1) # 4-byte Folded Reload
|
||||
-; PPC32-NEXT: mulhwu 8, 28, 30
|
||||
-; PPC32-NEXT: add 10, 8, 10
|
||||
-; PPC32-NEXT: cmplw 10, 8
|
||||
-; PPC32-NEXT: cror 21, 21, 0
|
||||
-; PPC32-NEXT: cror 21, 5, 21
|
||||
+; PPC32-NEXT: mulhwu 0, 6, 10
|
||||
+; PPC32-NEXT: stw 12, 20(1)
|
||||
+; PPC32-NEXT: crorc 21, 29, 26
|
||||
+; PPC32-NEXT: crorc 21, 21, 2
|
||||
+; PPC32-NEXT: li 11, 0
|
||||
+; PPC32-NEXT: mullw 26, 5, 10
|
||||
+; PPC32-NEXT: addc 0, 26, 0
|
||||
+; PPC32-NEXT: mulhwu 29, 5, 10
|
||||
+; PPC32-NEXT: addze 29, 29
|
||||
+; PPC32-NEXT: mullw 23, 5, 8
|
||||
+; PPC32-NEXT: mullw 22, 7, 6
|
||||
+; PPC32-NEXT: mulhwu 30, 6, 9
|
||||
+; PPC32-NEXT: mulhwu 12, 5, 9
|
||||
+; PPC32-NEXT: mulhwu 28, 8, 6
|
||||
+; PPC32-NEXT: mullw 25, 6, 9
|
||||
+; PPC32-NEXT: mullw 24, 5, 9
|
||||
+; PPC32-NEXT: mullw 5, 9, 4
|
||||
+; PPC32-NEXT: add 9, 22, 23
|
||||
+; PPC32-NEXT: add 9, 28, 9
|
||||
+; PPC32-NEXT: cmplw 1, 9, 28
|
||||
+; PPC32-NEXT: cror 20, 20, 4
|
||||
+; PPC32-NEXT: mullw 23, 3, 10
|
||||
+; PPC32-NEXT: add 26, 23, 5
|
||||
+; PPC32-NEXT: addc 5, 25, 0
|
||||
+; PPC32-NEXT: addze 30, 30
|
||||
+; PPC32-NEXT: or. 3, 4, 3
|
||||
+; PPC32-NEXT: mulhwu 27, 4, 10
|
||||
+; PPC32-NEXT: mcrf 1, 0
|
||||
+; PPC32-NEXT: addc 3, 29, 30
|
||||
+; PPC32-NEXT: add 26, 27, 26
|
||||
+; PPC32-NEXT: cmplw 6, 26, 27
|
||||
+; PPC32-NEXT: cror 21, 21, 24
|
||||
+; PPC32-NEXT: mullw 0, 4, 10
|
||||
+; PPC32-NEXT: or. 4, 8, 7
|
||||
+; PPC32-NEXT: addze 4, 11
|
||||
+; PPC32-NEXT: addc 7, 24, 3
|
||||
+; PPC32-NEXT: crnor 22, 2, 6
|
||||
+; PPC32-NEXT: mullw 28, 8, 6
|
||||
+; PPC32-NEXT: adde 8, 12, 4
|
||||
+; PPC32-NEXT: addc 3, 0, 28
|
||||
+; PPC32-NEXT: adde 9, 26, 9
|
||||
+; PPC32-NEXT: addc 4, 7, 3
|
||||
+; PPC32-NEXT: adde 3, 8, 9
|
||||
+; PPC32-NEXT: cror 21, 22, 21
|
||||
+; PPC32-NEXT: cmplw 4, 7
|
||||
+; PPC32-NEXT: cmplw 1, 3, 8
|
||||
+; PPC32-NEXT: lwz 12, 20(1)
|
||||
; PPC32-NEXT: cror 20, 21, 20
|
||||
-; PPC32-NEXT: mullw 0, 29, 27
|
||||
+; PPC32-NEXT: crandc 21, 4, 6
|
||||
+; PPC32-NEXT: crand 22, 6, 0
|
||||
+; PPC32-NEXT: cror 21, 22, 21
|
||||
+; PPC32-NEXT: crnor 20, 20, 21
|
||||
+; PPC32-NEXT: li 7, 1
|
||||
+; PPC32-NEXT: mullw 6, 6, 10
|
||||
+; PPC32-NEXT: bc 12, 20, .LBB0_1
|
||||
+; PPC32-NEXT: b .LBB0_2
|
||||
+; PPC32-NEXT: .LBB0_1: # %start
|
||||
+; PPC32-NEXT: li 7, 0
|
||||
+; PPC32-NEXT: .LBB0_2: # %start
|
||||
; PPC32-NEXT: mtcrf 32, 12 # cr2
|
||||
; PPC32-NEXT: mtcrf 16, 12 # cr3
|
||||
-; PPC32-NEXT: mtcrf 8, 12 # cr4
|
||||
-; PPC32-NEXT: lwz 29, 52(1) # 4-byte Folded Reload
|
||||
-; PPC32-NEXT: mullw 7, 28, 30
|
||||
-; PPC32-NEXT: addc 7, 7, 0
|
||||
-; PPC32-NEXT: adde 11, 10, 9
|
||||
-; PPC32-NEXT: addc 9, 4, 7
|
||||
-; PPC32-NEXT: adde 8, 3, 11
|
||||
-; PPC32-NEXT: cmplw 6, 9, 4
|
||||
-; PPC32-NEXT: cmplw 8, 3
|
||||
-; PPC32-NEXT: crand 22, 2, 24
|
||||
-; PPC32-NEXT: crandc 23, 0, 2
|
||||
-; PPC32-NEXT: cror 22, 22, 23
|
||||
-; PPC32-NEXT: crnor 20, 20, 22
|
||||
-; PPC32-NEXT: li 3, 1
|
||||
-; PPC32-NEXT: bc 12, 20, .LBB0_2
|
||||
-; PPC32-NEXT: # %bb.1: # %start
|
||||
-; PPC32-NEXT: ori 7, 3, 0
|
||||
-; PPC32-NEXT: b .LBB0_3
|
||||
-; PPC32-NEXT: .LBB0_2: # %start
|
||||
-; PPC32-NEXT: li 7, 0
|
||||
-; PPC32-NEXT: .LBB0_3: # %start
|
||||
-; PPC32-NEXT: mr 3, 8
|
||||
-; PPC32-NEXT: mr 4, 9
|
||||
; PPC32-NEXT: lwz 30, 56(1) # 4-byte Folded Reload
|
||||
+; PPC32-NEXT: lwz 29, 52(1) # 4-byte Folded Reload
|
||||
; PPC32-NEXT: lwz 28, 48(1) # 4-byte Folded Reload
|
||||
; PPC32-NEXT: lwz 27, 44(1) # 4-byte Folded Reload
|
||||
+; PPC32-NEXT: lwz 26, 40(1) # 4-byte Folded Reload
|
||||
; PPC32-NEXT: lwz 25, 36(1) # 4-byte Folded Reload
|
||||
; PPC32-NEXT: lwz 24, 32(1) # 4-byte Folded Reload
|
||||
; PPC32-NEXT: lwz 23, 28(1) # 4-byte Folded Reload
|
||||
-; PPC32-NEXT: lwz 0, 68(1)
|
||||
+; PPC32-NEXT: lwz 22, 24(1) # 4-byte Folded Reload
|
||||
; PPC32-NEXT: addi 1, 1, 64
|
||||
-; PPC32-NEXT: mtlr 0
|
||||
; PPC32-NEXT: blr
|
||||
start:
|
||||
%0 = tail call { i128, i1 } @llvm.umul.with.overflow.i128(i128 %l, i128 %r) #2
|
||||
diff --git a/llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll b/llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll
|
||||
index ef73fa686b3c..65ea57eaf3b9 100644
|
||||
--- a/llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll
|
||||
+++ b/llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll
|
||||
@@ -208,43 +208,46 @@ define <3 x i1> @test_urem_vec(<3 x i11> %X) nounwind {
|
||||
define i1 @test_urem_oversized(i66 %X) nounwind {
|
||||
; PPC-LABEL: test_urem_oversized:
|
||||
; PPC: # %bb.0:
|
||||
-; PPC-NEXT: mflr 0
|
||||
-; PPC-NEXT: stw 0, 4(1)
|
||||
-; PPC-NEXT: stwu 1, -16(1)
|
||||
-; PPC-NEXT: mr 6, 5
|
||||
-; PPC-NEXT: mr 5, 4
|
||||
-; PPC-NEXT: mr 4, 3
|
||||
-; PPC-NEXT: lis 3, 12057
|
||||
-; PPC-NEXT: lis 7, -12795
|
||||
-; PPC-NEXT: ori 9, 3, 37186
|
||||
-; PPC-NEXT: ori 10, 7, 40665
|
||||
-; PPC-NEXT: li 3, 0
|
||||
-; PPC-NEXT: li 7, 0
|
||||
-; PPC-NEXT: li 8, 2
|
||||
-; PPC-NEXT: bl __multi3
|
||||
-; PPC-NEXT: rotlwi 7, 6, 31
|
||||
-; PPC-NEXT: lis 3, -5526
|
||||
-; PPC-NEXT: rlwimi 7, 5, 31, 0, 0
|
||||
-; PPC-NEXT: rotlwi 5, 5, 31
|
||||
-; PPC-NEXT: rlwimi 5, 4, 31, 0, 0
|
||||
-; PPC-NEXT: ori 3, 3, 61135
|
||||
-; PPC-NEXT: cmplwi 1, 5, 13
|
||||
-; PPC-NEXT: cmplw 7, 3
|
||||
-; PPC-NEXT: rlwinm 4, 4, 31, 31, 31
|
||||
+; PPC-NEXT: lis 6, -12795
|
||||
+; PPC-NEXT: ori 6, 6, 40665
|
||||
+; PPC-NEXT: mulhwu 7, 5, 6
|
||||
+; PPC-NEXT: lis 9, 12057
|
||||
+; PPC-NEXT: ori 9, 9, 37186
|
||||
+; PPC-NEXT: mullw 11, 4, 6
|
||||
+; PPC-NEXT: addc 7, 11, 7
|
||||
+; PPC-NEXT: lis 11, -5526
|
||||
+; PPC-NEXT: ori 11, 11, 61135
|
||||
+; PPC-NEXT: mulhwu 8, 4, 6
|
||||
+; PPC-NEXT: addze 8, 8
|
||||
+; PPC-NEXT: mulhwu 10, 5, 9
|
||||
+; PPC-NEXT: mullw 4, 4, 9
|
||||
+; PPC-NEXT: mullw 9, 5, 9
|
||||
+; PPC-NEXT: addc 7, 9, 7
|
||||
+; PPC-NEXT: addze 9, 10
|
||||
+; PPC-NEXT: rotlwi 10, 7, 31
|
||||
+; PPC-NEXT: mullw 3, 3, 6
|
||||
+; PPC-NEXT: mullw 6, 5, 6
|
||||
+; PPC-NEXT: slwi 5, 5, 1
|
||||
+; PPC-NEXT: add 3, 5, 3
|
||||
+; PPC-NEXT: rotlwi 5, 6, 31
|
||||
+; PPC-NEXT: rlwimi 5, 7, 31, 0, 0
|
||||
+; PPC-NEXT: add 7, 8, 9
|
||||
+; PPC-NEXT: add 4, 4, 7
|
||||
+; PPC-NEXT: add 3, 4, 3
|
||||
+; PPC-NEXT: rlwimi 10, 3, 31, 0, 0
|
||||
+; PPC-NEXT: cmplw 5, 11
|
||||
+; PPC-NEXT: cmplwi 1, 10, 13
|
||||
+; PPC-NEXT: rlwinm 3, 3, 31, 31, 31
|
||||
; PPC-NEXT: crand 20, 6, 0
|
||||
; PPC-NEXT: crandc 21, 4, 6
|
||||
-; PPC-NEXT: rlwimi. 4, 6, 1, 30, 30
|
||||
+; PPC-NEXT: rlwimi. 3, 6, 1, 30, 30
|
||||
; PPC-NEXT: cror 20, 20, 21
|
||||
; PPC-NEXT: crnand 20, 2, 20
|
||||
; PPC-NEXT: li 3, 1
|
||||
; PPC-NEXT: bc 12, 20, .LBB5_1
|
||||
-; PPC-NEXT: b .LBB5_2
|
||||
+; PPC-NEXT: blr
|
||||
; PPC-NEXT: .LBB5_1:
|
||||
; PPC-NEXT: li 3, 0
|
||||
-; PPC-NEXT: .LBB5_2:
|
||||
-; PPC-NEXT: lwz 0, 20(1)
|
||||
-; PPC-NEXT: addi 1, 1, 16
|
||||
-; PPC-NEXT: mtlr 0
|
||||
; PPC-NEXT: blr
|
||||
;
|
||||
; PPC64LE-LABEL: test_urem_oversized:
|
||||
--
|
||||
2.35.1
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f5d7ffb86ed57f97d7c471d542c4e5685db4b75fb817c4c3f027bfa49e561b9b
|
||||
size 18536580
|
3
clang-14.0.1.src.tar.xz
Normal file
3
clang-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:844f8ed5c54438fc533d0a16e0aacf75f84b98a59a53d084853d2dbec2fd92a1
|
||||
size 18536192
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:278e85a4294440256e2be13c8610f4f6aa8c2e7d3ad2074ab0d6b716f51811a6
|
||||
size 1413280
|
3
clang-docs-14.0.1.src.tar.xz
Normal file
3
clang-docs-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e1522becb6e72c8271869896175715810e4d7c19755a83352d97792f46265320
|
||||
size 1413508
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f49de4b4502a6608425338e2d93bbe4529cac0a22f2dc1c119ef175a4e1b5bf0
|
||||
size 2849264
|
3
clang-tools-extra-14.0.1.src.tar.xz
Normal file
3
clang-tools-extra-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:69850d0d5b47fe941735f51bbaeffc331a64b3e28f185e807785c2040f9ab944
|
||||
size 2849328
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:27ab7fcfb21d108093c0be766a9ed5fe18c04e4f74f936069711a312c8ae0377
|
||||
size 2327888
|
3
compiler-rt-14.0.1.src.tar.xz
Normal file
3
compiler-rt-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e9b2d6b199cb97c356a498a53b8cdca43c9766a1e3086fd8d40ebcb3c3028beb
|
||||
size 2326912
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2afa906b1a9c6fef0c83af576f54191c33b5170de3c4adf01aab66a510af3fd6
|
||||
size 3065196
|
3
libcxx-14.0.1.src.tar.xz
Normal file
3
libcxx-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d2d099ad1b47a790c17bf9eb3551e0143f5b7822634d5312d9301be860ba5f72
|
||||
size 3065424
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b6fd1b53ced3c9a230bf0660c58a0a26ef9b0e8257e4ef70d1f690fa84e77074
|
||||
size 561952
|
3
libcxxabi-14.0.1.src.tar.xz
Normal file
3
libcxxabi-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ec1ee3681cb6fc182bea5488e56260f2996fb137c4e5ca9838da8fce6636f50c
|
||||
size 561796
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:88fc0f028aa8c0d9287920b101f288b03c7fabb584077326c5a0be482eb9115c
|
||||
size 1362316
|
3
lld-14.0.1.src.tar.xz
Normal file
3
lld-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:31bac54882d27c9e217ea445034046ac05242e5c8e4b2c50f3f9802fc8a3781a
|
||||
size 1362452
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:39c814255a905722587bd6aeb44d013d34cd510699ebc5901c9e1f8afe46faeb
|
||||
size 10088792
|
3
lldb-14.0.1.src.tar.xz
Normal file
3
lldb-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c7deef63c5c4b3ee498a2c9d13d4b1913854957e51491de8434f3d9eefa9c77f
|
||||
size 10089148
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4df7ed50b8b7017b90dc22202f6b59e9006a29a9568238c6af28df9c049c7b9b
|
||||
size 49650544
|
3
llvm-14.0.1.src.tar.xz
Normal file
3
llvm-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5b89017dec2729311ab143402f03da1dea6d0c79dd5c701bc939cf8b34f01ec2
|
||||
size 49644268
|
@ -2,10 +2,10 @@ This has similar effect as simply deleting the static libraries which we don't
|
||||
want after installation. By not copying them in the first place we reduce the
|
||||
disk usage during installation.
|
||||
|
||||
Index: clang-14.0.0.src/cmake/modules/AddClang.cmake
|
||||
Index: clang-14.0.1.src/cmake/modules/AddClang.cmake
|
||||
===================================================================
|
||||
--- a/clang-14.0.0.src/cmake/modules/AddClang.cmake
|
||||
+++ b/clang-14.0.0.src/cmake/modules/AddClang.cmake
|
||||
--- a/clang-14.0.1.src/cmake/modules/AddClang.cmake
|
||||
+++ b/clang-14.0.1.src/cmake/modules/AddClang.cmake
|
||||
@@ -106,12 +106,15 @@ macro(add_clang_library name)
|
||||
|
||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
|
||||
@ -68,10 +68,10 @@ Index: cmake/modules/AddLLVM.cmake
|
||||
endif()
|
||||
if (ARG_MODULE)
|
||||
set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
|
||||
Index: lld-14.0.0.src/cmake/modules/AddLLD.cmake
|
||||
Index: lld-14.0.1.src/cmake/modules/AddLLD.cmake
|
||||
===================================================================
|
||||
--- a/lld-14.0.0.src/cmake/modules/AddLLD.cmake
|
||||
+++ b/lld-14.0.0.src/cmake/modules/AddLLD.cmake
|
||||
--- a/lld-14.0.1.src/cmake/modules/AddLLD.cmake
|
||||
+++ b/lld-14.0.1.src/cmake/modules/AddLLD.cmake
|
||||
@@ -17,13 +17,6 @@ macro(add_lld_library name)
|
||||
|
||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||
@ -86,10 +86,10 @@ Index: lld-14.0.0.src/cmake/modules/AddLLD.cmake
|
||||
if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
add_llvm_install_targets(install-${name}
|
||||
DEPENDS ${name}
|
||||
Index: polly-14.0.0.src/cmake/polly_macros.cmake
|
||||
Index: polly-14.0.1.src/cmake/polly_macros.cmake
|
||||
===================================================================
|
||||
--- a/polly-14.0.0.src/cmake/polly_macros.cmake
|
||||
+++ b/polly-14.0.0.src/cmake/polly_macros.cmake
|
||||
--- a/polly-14.0.1.src/cmake/polly_macros.cmake
|
||||
+++ b/polly-14.0.1.src/cmake/polly_macros.cmake
|
||||
@@ -42,12 +42,14 @@ macro(add_polly_library name)
|
||||
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
|
||||
endif( LLVM_LINK_COMPONENTS )
|
||||
@ -110,10 +110,10 @@ Index: polly-14.0.0.src/cmake/polly_macros.cmake
|
||||
endmacro(add_polly_library)
|
||||
|
||||
macro(add_polly_loadable_module name)
|
||||
Index: polly-14.0.0.src/lib/CMakeLists.txt
|
||||
Index: polly-14.0.1.src/lib/CMakeLists.txt
|
||||
===================================================================
|
||||
--- a/polly-14.0.0.src/lib/CMakeLists.txt
|
||||
+++ b/polly-14.0.0.src/lib/CMakeLists.txt
|
||||
--- a/polly-14.0.1.src/lib/CMakeLists.txt
|
||||
+++ b/polly-14.0.1.src/lib/CMakeLists.txt
|
||||
@@ -74,7 +74,7 @@ set_target_properties(PollyCore PROPERTI
|
||||
# It depends on all library it needs, such that with
|
||||
# LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8e9fcada110499d0c1bc7c12f79e9fc2cfa0989f520e6ae6afa808c4f01e2914
|
||||
size 6601284
|
3
llvm-docs-14.0.1.src.tar.xz
Normal file
3
llvm-docs-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6b257721d086d84957aaf93a356828c11e10f2f86f032a555c79e4fce824b731
|
||||
size 6601264
|
@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 24 20:52:29 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||
|
||||
- Update to version 14.0.1.
|
||||
* This release contains bug-fixes for the LLVM 14.0.0 release.
|
||||
This release is API and ABI compatible with 14.0.0.
|
||||
- Rebase llvm-do-not-install-static-libraries.patch.
|
||||
- Drop obsolete patches:
|
||||
* PPCISelLowering-Avoid-emitting-calls-to-__multi3.patch
|
||||
- Don't override default linker flags. (We were losing -Wl,-z,now.)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 3 14:13:45 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||
|
||||
@ -24,7 +35,7 @@ Sun Apr 3 14:13:45 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||
- Rebase patches:
|
||||
* lldb-cmake.patch
|
||||
* llvm-do-not-install-static-libraries.patch
|
||||
* lvm-normally-versioned-libllvm.patch
|
||||
* llvm-normally-versioned-libllvm.patch
|
||||
- Drop patches that have landed upstream:
|
||||
* llvm-update-extract-section-script.patch
|
||||
|
||||
|
19
llvm14.spec
19
llvm14.spec
@ -16,14 +16,14 @@
|
||||
#
|
||||
|
||||
|
||||
%define _relver 14.0.0
|
||||
%define _relver 14.0.1
|
||||
%define _version %_relver%{?_rc:rc%_rc}
|
||||
%define _tagver %_relver%{?_rc:-rc%_rc}
|
||||
%define _minor 14.0
|
||||
%define _sonum 14
|
||||
%define _itsme14 1
|
||||
# Integer version used by update-alternatives
|
||||
%define _uaver 1400
|
||||
%define _uaver 1401
|
||||
%define _soclang 13
|
||||
%define _socxx 1
|
||||
|
||||
@ -153,8 +153,6 @@ Patch26: lld-default-sha1.patch
|
||||
Patch33: CMake-Look-up-target-subcomponents-in-LLVM_AVAILABLE_LIBS.patch
|
||||
# Make link dependencies of clang-repl private (https://reviews.llvm.org/D122546).
|
||||
Patch34: clang-repl-private-deps.patch
|
||||
# Fix build on ppc (boo#1197111, https://reviews.llvm.org/D122090)
|
||||
Patch35: PPCISelLowering-Avoid-emitting-calls-to-__multi3.patch
|
||||
BuildRequires: binutils-devel >= 2.21.90
|
||||
BuildRequires: cmake >= 3.13.4
|
||||
BuildRequires: fdupes
|
||||
@ -582,7 +580,6 @@ This package contains the development files for Polly.
|
||||
%patch24 -p1
|
||||
%patch25 -p2
|
||||
%patch33 -p2
|
||||
%patch35 -p2
|
||||
|
||||
pushd clang-%{_version}.src
|
||||
%patch2 -p1
|
||||
@ -718,7 +715,7 @@ avail_mem=$(awk '/MemAvailable/ { print $2 }' /proc/meminfo)
|
||||
|
||||
%define __builder ninja
|
||||
%define __builddir stage1
|
||||
# -z,now is breaking now, it needs to be fixed
|
||||
%define build_ldflags -Wl,--no-keep-memory
|
||||
%cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
@ -743,10 +740,7 @@ avail_mem=$(awk '/MemAvailable/ { print $2 }' /proc/meminfo)
|
||||
-DCOMPILER_RT_BUILD_SANITIZERS:BOOL=OFF \
|
||||
-DCOMPILER_RT_BUILD_XRAY:BOOL=OFF \
|
||||
-DCOMPILER_RT_USE_LIBCXX:BOOL=OFF \
|
||||
-DLIBCXX_INCLUDE_BENCHMARKS:BOOL=OFF \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-keep-memory" \
|
||||
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-keep-memory" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-keep-memory"
|
||||
-DLIBCXX_INCLUDE_BENCHMARKS:BOOL=OFF
|
||||
ninja -v %{?_smp_mflags} clang llvm-tblgen clang-tblgen \
|
||||
%if %{with thin_lto}
|
||||
llvm-ar llvm-ranlib \
|
||||
@ -787,6 +781,7 @@ max_link_jobs=1
|
||||
%endif
|
||||
|
||||
%define __builddir build
|
||||
%define build_ldflags -Wl,--build-id=sha1
|
||||
export PATH=${PWD}/stage1/bin:$PATH
|
||||
export CC=${PWD}/stage1/bin/clang
|
||||
export CXX=${PWD}/stage1/bin/clang++
|
||||
@ -802,7 +797,6 @@ export CLANG_TOOLS_EXTRA_DIR=${PWD}/tools/clang/tools/extra
|
||||
# The build occasionally uses tools linking against previously built
|
||||
# libraries (mostly libLLVM.so), but we don't want to set RUNPATHs.
|
||||
export LD_LIBRARY_PATH=${PWD}/build/%{_lib}
|
||||
# -z,now is breaking now, it needs to be fixed
|
||||
%cmake \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
-DLLVM_HOST_TRIPLE=%{host_triple} \
|
||||
@ -864,9 +858,6 @@ export LD_LIBRARY_PATH=${PWD}/build/%{_lib}
|
||||
-DLLDB_USE_SYSTEM_SIX:BOOL=ON \
|
||||
%endif
|
||||
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,--build-id=sha1" \
|
||||
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,--build-id=sha1" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--build-id=sha1" \
|
||||
-DLLVM_POLLY_LINK_INTO_TOOLS=OFF \
|
||||
-DPOLLY_BUNDLED_ISL:BOOL=ON
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:28a1cbdd3dfdd331e4ed2dda2b4477fc418e455c883bd0d1d6acc331118e4688
|
||||
size 1205564
|
3
openmp-14.0.1.src.tar.xz
Normal file
3
openmp-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ea8a791c7dea7d08ad69c62cfc5e77a1ee700997fcde6a74c30a1c8e663ca3ae
|
||||
size 1205536
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5a486acc8d5baadb2358fc03d1220773dc8d5283f4c864eaca9c5afd8ee2fe0e
|
||||
size 9362224
|
3
polly-14.0.1.src.tar.xz
Normal file
3
polly-14.0.1.src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6b214edbdc656c114f5cbdab762517b0c8fbfeedfa669979fb59ba0968d66420
|
||||
size 9360640
|
Loading…
Reference in New Issue
Block a user