summaryrefslogtreecommitdiff
path: root/compiler/GHC/Cmm/Node.hs
Commit message (Collapse)AuthorAgeFilesLines
* Cmm: track the type of global registerssheaf2023-01-311-1/+0
| | | | | | | | | | | | This patch tracks the type of Cmm global registers. This is needed in order to lint uses of polymorphic registers, such as SIMD vector registers that can be used both for floating-point and integer values. This changes allows us to refactor VanillaReg to not store VGcPtr, as that information is instead stored in the type of the usage of the register. Fixes #22297
* Scrub some no-warning pragmas.M Farkas-Dyck2022-11-231-4/+2
|
* Scrub various partiality involving empty lists.M Farkas-Dyck2022-09-301-1/+2
| | | | Avoids some uses of `head` and `tail`, and some panics when an argument is null.
* Clean up some. In particular:M Farkas-Dyck2022-09-171-2/+2
| | | | | | | | | | • Delete some dead code, largely under `GHC.Utils`. • Clean up a few definitions in `GHC.Utils.(Misc, Monad)`. • Clean up `GHC.Types.SrcLoc`. • Derive stock `Functor, Foldable, Traversable` for more types. • Derive more instances for newtypes. Bump haddock submodule.
* Remove label style from printing contextKrzysztof Gogolewski2022-08-261-2/+2
| | | | | | | | | | | | Previously, the SDocContext used for code generation contained information whether the labels should use Asm or C style. However, at every individual call site, this is known statically. This removes the parameter to 'PprCode' and replaces every 'pdoc' used to print a label in code style with 'pprCLabel' or 'pprAsmLabel'. The OutputableP instance is now used only for dumps. The output of T15155 changes, it now uses the Asm style (which is faithful to what actually happens).
* cmm: Eliminate orphan Outputable instancesBen Gamari2022-07-161-0/+219
| | | | | | | Here we reorganize `GHC.Cmm` to eliminate the orphan `Outputable` and `OutputableP` instances for the Cmm AST. This makes it significantly easier to use the Cmm pretty-printers in tracing output without incurring module import cycles.
* Introduce alignment to CmmStoreBen Gamari2022-02-041-6/+6
|
* Introduce alignment in CmmLoadBen Gamari2022-02-041-9/+9
|
* Fix a few Note inconsistenciesBen Gamari2022-02-011-6/+6
|
* Transfer tickish things to GHC.Types.TickishLuite Stegeman2021-03-201-1/+1
| | | | | Metric Increase: MultiLayerModules
* remove superfluous 'id' type parameter from GenTickishLuite Stegeman2021-03-201-4/+1
| | | | | The 'id' type is now determined by the pass, using the XTickishId type family.
* CodeGen: Make folds User/DefinerOfRegs INLINEABLE.Andreas Klebinger2020-12-081-0/+5
| | | | | | | | | Reduces allocation for the test case I was looking at by about 1.2%. Mostly from avoiding allocation of some folding functions which turn into let-no-escape bindings which just reuse their environment instead. We also force inlining in a few key places in CmmSink which helps a bit more.
* Lint the compiler for extraneous LANGUAGE pragmasHécate2020-10-101-2/+1
|
* DynFlags: use Platform in foldRegs*Sylvain Henry2020-09-041-12/+10
|
* cmm: Clean up Notes a bitBen Gamari2020-08-071-6/+7
|
* Clarify leaf module names for new module hierarchyTakenobu Tani2020-06-101-1/+1
| | | | | | | | | | | | | | | | | | | | | This updates comments only. This patch replaces leaf module names according to new module hierarchy [1][2] as followings: * Expand leaf names to easily find the module path: for instance, `Id.hs` to `GHC.Types.Id`. * Modify leaf names according to new module hierarchy: for instance, `Convert.hs` to `GHC.ThToHs`. * Fix typo: for instance, `GHC.Core.TyCo.Rep.hs` to `GHC.Core.TyCo.Rep` See also !3375 [1]: https://gitlab.haskell.org/ghc/ghc/-/wikis/Make-GHC-codebase-more-modular [2]: https://gitlab.haskell.org/ghc/ghc/issues/13009
* Modules: Utils and Data (#13009)Sylvain Henry2020-04-261-4/+4
| | | | | | | Update Haddock submodule Metric Increase: haddock.compiler
* Modules: type-checker (#13009)Sylvain Henry2020-04-071-1/+1
| | | | Update Haddock submodule
* Modules: Types (#13009)Sylvain Henry2020-03-291-3/+3
| | | | | | | Update Haddock submodule Metric Increase: haddock.compiler
* Modules: Core (#13009)Sylvain Henry2020-02-261-1/+1
| | | | Update haddock submodule
* Modules: Driver (#13009)Sylvain Henry2020-02-211-1/+1
| | | | submodule updates: nofib, haddock
* Module hierarchy: ByteCode and Runtime (cf #13009)Sylvain Henry2020-02-121-1/+1
| | | | Update haddock submodule
* Disable two warnings for files that trigger themTom Ellis2020-01-271-0/+2
| | | | | | incomplete-uni-patterns and incomplete-record-updates will be in -Wall at a future date, so prepare for that by disabling those warnings on files that trigger them.
* Module hierarchy: Cmm (cf #13009)Sylvain Henry2020-01-251-0/+724