summaryrefslogtreecommitdiff
path: root/compiler/GHC/CmmToAsm/SPARC/CodeGen.hs
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2020-03-16 16:46:39 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-04-21 06:39:32 -0400
commit747093b7c23a1cf92b564eb3d9efe2adc15330df (patch)
tree06b74ab72984f98036a40fc441d37438a49a26a8 /compiler/GHC/CmmToAsm/SPARC/CodeGen.hs
parentf2a98996e7792f572ab685f29742e3476be81166 (diff)
downloadhaskell-747093b7c23a1cf92b564eb3d9efe2adc15330df.tar.gz
CmmToAsm DynFlags refactoring (#17957)
* Remove `DynFlags` parameter from `isDynLinkName`: `isDynLinkName` used to test the global `ExternalDynamicRefs` flag. Now we test it outside of `isDynLinkName` * Add new fields into `NCGConfig`: current unit id, sse/bmi versions, externalDynamicRefs, etc. * Replace many uses of `DynFlags` by `NCGConfig` * Moved `BMI/SSE` datatypes into `GHC.Platform`
Diffstat (limited to 'compiler/GHC/CmmToAsm/SPARC/CodeGen.hs')
-rw-r--r--compiler/GHC/CmmToAsm/SPARC/CodeGen.hs9
1 files changed, 4 insertions, 5 deletions
diff --git a/compiler/GHC/CmmToAsm/SPARC/CodeGen.hs b/compiler/GHC/CmmToAsm/SPARC/CodeGen.hs
index 94609fbcc1..f88b2140a1 100644
--- a/compiler/GHC/CmmToAsm/SPARC/CodeGen.hs
+++ b/compiler/GHC/CmmToAsm/SPARC/CodeGen.hs
@@ -53,7 +53,6 @@ import GHC.CmmToAsm.CPrim
-- The rest:
import GHC.Types.Basic
-import GHC.Driver.Session
import FastString
import OrdList
import Outputable
@@ -455,7 +454,7 @@ genCCall target dest_regs args
let transfer_code
= toOL (move_final vregs allArgRegs extraStackArgsHere)
- dflags <- getDynFlags
+ platform <- getPlatform
return
$ argcode `appOL`
move_sp_down `appOL`
@@ -463,7 +462,7 @@ genCCall target dest_regs args
callinsns `appOL`
unitOL NOP `appOL`
move_sp_up `appOL`
- assign_code (targetPlatform dflags) dest_regs
+ assign_code platform dest_regs
-- | Generate code to calculate an argument, and move it into one
@@ -594,8 +593,8 @@ outOfLineMachOp mop
= do let functionName
= outOfLineMachOp_table mop
- dflags <- getDynFlags
- mopExpr <- cmmMakeDynamicReference dflags CallReference
+ config <- getConfig
+ mopExpr <- cmmMakeDynamicReference config CallReference
$ mkForeignLabel functionName Nothing ForeignLabelInExternalPackage IsFunction
let mopLabelOrExpr