summaryrefslogtreecommitdiff
path: root/compiler/GHC/CmmToAsm
Commit message (Collapse)AuthorAgeFilesLines
* DynFlags refactoring IIISylvain Henry2020-03-252-10/+16
| | | | | | | | | | | | | Use Platform instead of DynFlags when possible: * `tARGET_MIN_INT` et al. replaced with `platformMinInt` et al. * no more DynFlags in PreRules: added a new `RuleOpts` datatype * don't use `wORD_SIZE` in the compiler * make `wordAlignment` use `Platform` * make `dOUBLE_SIZE` a constant Metric Decrease: T13035 T1969
* Refactoring: use Platform instead of DynFlags when possibleSylvain Henry2020-03-1911-417/+414
| | | | | | | | Metric Decrease: ManyConstructors T12707 T13035 T1969
* Refactor CmmToAsm (disentangle DynFlags)Sylvain Henry2020-03-1532-1676/+1938
| | | | | | | | | | | | | | | | | | | | | This patch disentangles a bit more DynFlags from the native code generator (CmmToAsm). In more details: - add a new NCGConfig datatype in GHC.CmmToAsm.Config which contains the configuration of a native code generation session - explicitly pass NCGConfig/Platform arguments when necessary - as a consequence `sdocWithPlatform` is gone and there are only a few `sdocWithDynFlags` left - remove the use of `unsafeGlobalDynFlags` from GHC.CmmToAsm.CFG - remove `sdocDebugLevel` (now we pass the debug level via NCGConfig) There are still some places where DynFlags is used, especially because of pretty-printing (CLabel), because of Cmm helpers (such as `cmmExprType`) and because of `Outputable` instance for the instructions. These are left for future refactoring as this patch is already big.
* Modules: Core (#13009)Sylvain Henry2020-02-262-2/+2
| | | | Update haddock submodule
* Modules: CmmToAsm (#13009)Sylvain Henry2020-02-2464-0/+26962