asm-emit-time IND_STATIC elimination
authorGabor Greif <ggreif@gmail.com>
Mon, 29 Jan 2018 13:34:25 +0000 (14:34 +0100)
committerGabor Greif <ggreif@gmail.com>
Mon, 15 Apr 2019 21:19:03 +0000 (17:19 -0400)
commitbe05bd8168b0ea65d63dc0093a5c8781a2528500
treed45ed24579c4d084c73884da9589da25b8dcf7d8
parented94d3450cbb6ec7a31d9aa37efb7fe93d0559cf
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%.
14 files changed:
compiler/cmm/CLabel.hs
compiler/codeGen/StgCmmBind.hs
compiler/llvmGen/Llvm/Types.hs
compiler/llvmGen/LlvmCodeGen/Base.hs
compiler/llvmGen/LlvmCodeGen/Data.hs
compiler/llvmGen/LlvmCodeGen/Ppr.hs
compiler/nativeGen/PPC/Ppr.hs
compiler/nativeGen/SPARC/Ppr.hs
compiler/nativeGen/X86/Ppr.hs
testsuite/tests/codeGen/should_compile/Makefile
testsuite/tests/codeGen/should_compile/T15155.stdout [new file with mode: 0644]
testsuite/tests/codeGen/should_compile/T15155l.hs [new file with mode: 0644]
testsuite/tests/codeGen/should_compile/T15155l.stdout [new file with mode: 0644]
testsuite/tests/codeGen/should_compile/all.T