[commit: ghc] wip/T15155a: asm-emit-time IND_STATIC elimination (03f38c2)
git at git.haskell.org
git at git.haskell.org
Sun Mar 31 15:06:45 UTC 2019
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/T15155a
Link : http://ghc.haskell.org/trac/ghc/changeset/03f38c2da8f40f688a323cc4e91dae6a230e5626/ghc
>---------------------------------------------------------------
commit 03f38c2da8f40f688a323cc4e91dae6a230e5626
Author: Gabor Greif <ggreif at gmail.com>
Date: Mon Jan 29 14:34:25 2018 +0100
asm-emit-time IND_STATIC elimination
When a new closure identifier is being established to a
local or exported closure already emitted into the same
module, refrain from adding an IND_STATIC closure, and
instead emit an assembly-language alias.
Inter-module IND_STATIC objects still remain, and need to be
addressed by other measures.
Binary-size savings on nofib are around 0.1%.
>---------------------------------------------------------------
03f38c2da8f40f688a323cc4e91dae6a230e5626
compiler/cmm/CLabel.hs | 48 +++++++++++++++++++++-
compiler/llvmGen/Llvm/Types.hs | 1 +
compiler/llvmGen/LlvmCodeGen/Base.hs | 32 +++++++++++++--
compiler/llvmGen/LlvmCodeGen/Data.hs | 34 +++++++++++++--
compiler/llvmGen/LlvmCodeGen/Ppr.hs | 2 +-
compiler/nativeGen/PPC/Ppr.hs | 11 +++++
compiler/nativeGen/SPARC/Ppr.hs | 11 ++++-
compiler/nativeGen/X86/Ppr.hs | 12 ++++++
testsuite/tests/codeGen/should_compile/Makefile | 15 +++++++
.../T6146.stdin => should_compile/T15155.stdout} | 2 +-
testsuite/tests/codeGen/should_compile/T15155l.hs | 8 ++++
.../T6146.stdin => should_compile/T15155l.stdout} | 2 +-
testsuite/tests/codeGen/should_compile/all.T | 8 ++++
13 files changed, 174 insertions(+), 12 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 03f38c2da8f40f688a323cc4e91dae6a230e5626
More information about the ghc-commits
mailing list