From 20956e5784fe43781d156dd7ab02f0bff4ab41fb Mon Sep 17 00:00:00 2001 From: Sylvain Henry Date: Wed, 20 Oct 2021 11:39:16 +0200 Subject: Remove target dependent CPP for Word64/Int64 (#11470) Primops types were dependent on the target word-size at *compiler* compilation time. It's an issue for multi-target as GHC may not have the correct primops types for the target. This patch fixes some primops types: if they take or return fixed 64-bit values they now always use `Int64#/Word64#`, even on 64-bit architectures (where they used `Int#/Word#` before). Users of these primops may now need to convert from Int64#/Word64# to Int#/Word# (a no-op at runtime). This is a stripped down version of !3658 which goes the all way of changing the underlying primitive types of Word64/Int64. This is left for future work. T12545 allocations increase ~4% on some CI platforms and decrease ~3% on AArch64. Metric Increase: T12545 Metric Decrease: T12545 --- .gitignore | 1 - 1 file changed, 1 deletion(-) (limited to '.gitignore') diff --git a/.gitignore b/.gitignore index 46fb24d4a9..cbf1429c23 100644 --- a/.gitignore +++ b/.gitignore @@ -106,7 +106,6 @@ _darcs/ /compiler/Bytecodes.h /compiler/ClosureTypes.h /compiler/FunTypes.h -/compiler/MachDeps.h /compiler/MachRegs.h /compiler/ghc-llvm-version.h /compiler/ghc.cabal -- cgit v1.2.1