Changes between Version 53 and Version 54 of Internships/JanStolarek


Ignore:
Timestamp:
Oct 8, 2013 10:19:26 AM (22 months ago)
Author:
jstolarek
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Internships/JanStolarek

    v53 v54  
    1 = Jan Stolarek's internship notes =
    2 
    3 = Back-end notes =
    4 
    5 == Some interesting tickets ==
    6   * #605 - Optimisation: strict enumerations
    7   * #1498 - Optimisation: eliminate unnecessary heap check in recursive function.
    8   * #1600 - Optimisation: CPR the results of IO
    9   * #2289 - Needless reboxing of values when returning from a tight loop
    10   * #2387 - Optimizer misses unboxing opportunity
    11   * #2450 - Data.Complex.magnitude squares using ^(2 :: Int), which is slow
    12   * #2731 - Avoid unnecessary evaluation when unpacking constructors
    13   * #2823 - Another arity expansion bug
    14   * #4470 - Loop optimization: identical counters
    15   * #4937 - Remove indirections caused by sum types, such as Maybe
    16   * #5567 - LLVM: Improve alias analysis / performance [wiki:BackEndNotes#Heapstackchecks BackEndNotes] page has some discussion of this.
    17   * #7198 - New codegen more than doubles compile time of T3294
    18   * #8048 - Register spilling produces ineffecient/highly contending code
    19 
    20 == Notes on the wiki ==
    21   * [wiki:Commentary/Compiler/NewCodeGen/Cleanup]
    22   * [wiki:Commentary/Compiler/NewCodeGenStupidity]
    23   * [http://darcs.haskell.org/ghc/compiler/cmm/cmm-notes cmm-notes]
    24 
    25 = Various stuff =
    26 Tickets that I could potentially look into:
    27 
    28   * #3070 - floor(0/0) should not be defined
    29   * #3676 - realToFrac doesn't sanely convert between floating types
    30   * #3744 - Comparisons against minBound/maxBound not optimised
    31   * #4101 - Primitive constant unfolding
    32   * #5615 - ghc produces poor code for `div` with constant powers of 2.
    33   * #7858 - Fix definitions of abs/signum for !Floats/Doubles.
    34 
    35 Some LLVM notes that may be useful:
    36   - [wiki:Commentary/Compiler/Backends/LLVM/Alias LLVM Alias Notes]
    37   - [http://blog.davidterei.com/2011/09/ghc-project-for-all.html David Terei's LLVM blog post]
    38   - [http://blog.omega-prime.co.uk/?p=135 Max Bolingbroke's LLVM blog entry]
    39   - [https://github.com/mlite/HsLlvm Implementation of various LLVM optimisations using Hoopl] - '''this seems very relevant'''