diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2020-03-16 16:46:39 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-04-21 06:39:32 -0400 |
commit | 747093b7c23a1cf92b564eb3d9efe2adc15330df (patch) | |
tree | 06b74ab72984f98036a40fc441d37438a49a26a8 /compiler/GHC/CmmToAsm/SPARC/CodeGen.hs | |
parent | f2a98996e7792f572ab685f29742e3476be81166 (diff) | |
download | haskell-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.hs | 9 |
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 |