pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/rust Apply fix from



details:   https://anonhg.NetBSD.org/pkgsrc/rev/ec2808ec29db
branches:  trunk
changeset: 441595:ec2808ec29db
user:      he <he%pkgsrc.org@localhost>
date:      Fri Nov 06 20:13:49 2020 +0000

description:
Apply fix from

  https://bugs.llvm.org/show_bug.cgi?id=46683
i.e.
  https://github.com/llvm/llvm-project/commit/a5d161c119d5a03c1ce834c6f4ce2576d6a064e4

so that we avoid emitting a 64-bit-only instructio in 32-bit PPC mode.

Bump PKGREVISION.

diffstat:

 lang/rust/Makefile                                                               |   3 +-
 lang/rust/distinfo                                                               |   3 +-
 lang/rust/patches/patch-src_llvm-project_llvm_lib_Target_PowerPC_PPCInstrInfo.td |  22 ++++++++++
 3 files changed, 26 insertions(+), 2 deletions(-)

diffs (56 lines):

diff -r cbb0901a16f9 -r ec2808ec29db lang/rust/Makefile
--- a/lang/rust/Makefile        Fri Nov 06 18:31:15 2020 +0000
+++ b/lang/rust/Makefile        Fri Nov 06 20:13:49 2020 +0000
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.200 2020/10/29 11:04:59 ryoon Exp $
+# $NetBSD: Makefile,v 1.201 2020/11/06 20:13:49 he Exp $
 
 DISTNAME=      rustc-1.46.0-src
 PKGNAME=       ${DISTNAME:S/rustc/rust/:S/-src//}
+PKGREVISION=   1
 CATEGORIES=    lang
 MASTER_SITES=  https://static.rust-lang.org/dist/
 
diff -r cbb0901a16f9 -r ec2808ec29db lang/rust/distinfo
--- a/lang/rust/distinfo        Fri Nov 06 18:31:15 2020 +0000
+++ b/lang/rust/distinfo        Fri Nov 06 20:13:49 2020 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.119 2020/10/28 11:16:46 he Exp $
+$NetBSD: distinfo,v 1.120 2020/11/06 20:13:49 he Exp $
 
 SHA1 (rust-1.45.0-x86_64-sun-solaris.tar.gz) = f0c0ce644e0f72b240ecd797b22df271f6e24a5a
 RMD160 (rust-1.45.0-x86_64-sun-solaris.tar.gz) = ebf9813d4e4626cdfa5d4bdceb8e4912b0d12ed2
@@ -111,6 +111,7 @@
 SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = 199ae71ae2e42bb67e54354a051fc9faa71f9bfe
 SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = 7588a46aaa277ef04b33ac6d904b9d1d81579f2a
 SHA1 (patch-src_llvm-project_llvm_include_llvm_Analysis_ConstantFolding.h) = 977de4b2a9d37f7e7c782f2407c15591e032b6c6
+SHA1 (patch-src_llvm-project_llvm_lib_Target_PowerPC_PPCInstrInfo.td) = b2e8c29a279d511b51414241b3fe6a2f14c26502
 SHA1 (patch-src_llvm-project_llvm_utils_FileCheck_FileCheck.cpp) = 2675b93a1d636b297a3e1e84b915a15a3da67939
 SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = 3aac5d54a6fe96b9559552e67e497488142d4e80
 SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 10e6c1253adac0262b000aec7636fa0d2ebb666c
diff -r cbb0901a16f9 -r ec2808ec29db lang/rust/patches/patch-src_llvm-project_llvm_lib_Target_PowerPC_PPCInstrInfo.td
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/rust/patches/patch-src_llvm-project_llvm_lib_Target_PowerPC_PPCInstrInfo.td  Fri Nov 06 20:13:49 2020 +0000
@@ -0,0 +1,22 @@
+$NetBSD: patch-src_llvm-project_llvm_lib_Target_PowerPC_PPCInstrInfo.td,v 1.1 2020/11/06 20:13:49 he Exp $
+
+Apply fix from
+https://github.com/llvm/llvm-project/commit/a5d161c119d5a03c1ce834c6f4ce2576d6a064e4
+so we avoid emitting a 64-bit-only instruction in 32-bit ppc code.
+
+--- src/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.td.orig      2020-07-07 06:39:17.000000000 +0000
++++ src/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.td
+@@ -5025,8 +5025,11 @@ def RotateInsertByte1 {
+   dag Left = (RLWIMI RotateInsertByte3.Left, Swap4.Bits, 8, 24, 31);
+ }
+ 
+-def : Pat<(i32 (bitreverse i32:$A)),
+-  (RLDICL_32 RotateInsertByte1.Left, 0, 32)>;
++// Clear the upper half of the register when in 64-bit mode
++let Predicates = [In64BitMode] in
++def : Pat<(i32 (bitreverse i32:$A)), (RLDICL_32 RotateInsertByte1.Left, 0, 32)>;
++let Predicates = [In32BitMode] in
++def : Pat<(i32 (bitreverse i32:$A)), RotateInsertByte1.Left>;
+ 
+ // Fast 64-bit reverse bits algorithm:
+ // Step 1: 1-bit swap (swap odd 1-bit and even 1-bit):



Home | Main Index | Thread Index | Old Index