JS: add GHC.JS.Optimizer, remove RTS.Printer, add Linker.Opt
This MR changes some simple optimizations and is a first step in re-architecting the JS backend pipeline to add the optimizer. In particular it: - removes simple peep hole optimizations from `GHC.StgToJS.Printer` and removes that module - adds module `GHC.JS.Optimizer` - defines the same peep hole opts that were removed only now they are `Syntax -> Syntax` transformations rather than `Syntax -> JS code` optimizations - hooks the optimizer into code gen - adds FuncStat and ForStat constructors to the backend. Working Ticket: - #22736 Related MRs: - MR !10142 - MR !10000 ------------------------- Metric Decrease: CoOpt_Read ManyAlternatives PmSeriesS PmSeriesT PmSeriesV T10421 T12707 T13253 T13253-spj T15164 T17516 T18140 T18282 T18698a T18698b T18923 T1969 T19695 T20049 T3064 T5321FD T5321Fun T783 T9198 T9233 T9630 -------------------------
Showing
- compiler/GHC/JS/Make.hs 22 additions, 9 deletionscompiler/GHC/JS/Make.hs
- compiler/GHC/JS/Optimizer.hs 271 additions, 0 deletionscompiler/GHC/JS/Optimizer.hs
- compiler/GHC/JS/Ppr.hs 125 additions, 64 deletionscompiler/GHC/JS/Ppr.hs
- compiler/GHC/JS/Syntax.hs 35 additions, 21 deletionscompiler/GHC/JS/Syntax.hs
- compiler/GHC/JS/Transform.hs 11 additions, 3 deletionscompiler/GHC/JS/Transform.hs
- compiler/GHC/JS/Unsat/Syntax.hs 2 additions, 0 deletionscompiler/GHC/JS/Unsat/Syntax.hs
- compiler/GHC/StgToJS/Apply.hs 5 additions, 11 deletionscompiler/GHC/StgToJS/Apply.hs
- compiler/GHC/StgToJS/CodeGen.hs 15 additions, 12 deletionscompiler/GHC/StgToJS/CodeGen.hs
- compiler/GHC/StgToJS/Expr.hs 5 additions, 6 deletionscompiler/GHC/StgToJS/Expr.hs
- compiler/GHC/StgToJS/Linker/Linker.hs 3 additions, 2 deletionscompiler/GHC/StgToJS/Linker/Linker.hs
- compiler/GHC/StgToJS/Linker/Opt.hs 120 additions, 0 deletionscompiler/GHC/StgToJS/Linker/Opt.hs
- compiler/GHC/StgToJS/Object.hs 28 additions, 20 deletionscompiler/GHC/StgToJS/Object.hs
- compiler/GHC/StgToJS/Rts/Rts.hs 22 additions, 22 deletionscompiler/GHC/StgToJS/Rts/Rts.hs
- compiler/ghc.cabal.in 2 additions, 1 deletioncompiler/ghc.cabal.in
- testsuite/tests/javascript/opt/all.T 4 additions, 0 deletionstestsuite/tests/javascript/opt/all.T
- testsuite/tests/javascript/opt/deadCodeElim.hs 96 additions, 0 deletionstestsuite/tests/javascript/opt/deadCodeElim.hs
- testsuite/tests/javascript/opt/deadCodeElim.stdout 7 additions, 0 deletionstestsuite/tests/javascript/opt/deadCodeElim.stdout
- testsuite/tests/linters/notes.stdout 9 additions, 8 deletionstestsuite/tests/linters/notes.stdout
Loading
Please register or sign in to comment