summaryrefslogtreecommitdiff
path: root/compiler/llvmGen/LlvmCodeGen/Ppr.hs
diff options
context:
space:
mode:
authorGabor Greif <ggreif@gmail.com>2018-01-29 14:34:25 +0100
committerGabor Greif <ggreif@gmail.com>2019-04-15 17:19:03 -0400
commitbe05bd8168b0ea65d63dc0093a5c8781a2528500 (patch)
treed45ed24579c4d084c73884da9589da25b8dcf7d8 /compiler/llvmGen/LlvmCodeGen/Ppr.hs
parented94d3450cbb6ec7a31d9aa37efb7fe93d0559cf (diff)
downloadhaskell-be05bd8168b0ea65d63dc0093a5c8781a2528500.tar.gz
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%.
Diffstat (limited to 'compiler/llvmGen/LlvmCodeGen/Ppr.hs')
-rw-r--r--compiler/llvmGen/LlvmCodeGen/Ppr.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/llvmGen/LlvmCodeGen/Ppr.hs b/compiler/llvmGen/LlvmCodeGen/Ppr.hs
index c1378aa1fd..3f29133e59 100644
--- a/compiler/llvmGen/LlvmCodeGen/Ppr.hs
+++ b/compiler/llvmGen/LlvmCodeGen/Ppr.hs
@@ -71,7 +71,7 @@ pprLlvmCmmDecl (CmmProc mb_info entry_lbl live (ListGraph blks))
let fun = LlvmFunction funDec funArgs llvmStdFunAttrs funSect
prefix lmblocks
name = decName $ funcDecl fun
- defName = name `appendFS` fsLit "$def"
+ defName = llvmDefLabel name
funcDecl' = (funcDecl fun) { decName = defName }
fun' = fun { funcDecl = funcDecl' }
funTy = LMFunction funcDecl'