1. 28 Jan, 2000 5 commits
    • lewie's avatar
      [project @ 2000-01-28 20:52:37 by lewie] · 266fadd9
      lewie authored
      First pass at implicit parameters.  Honest, I didn't really go in *intending*
      to modify every file in the typechecker... ;-)  The breadth of the change
      is partly due to generalizing contexts so that they are not hardwired to
      be (Class, [Type]) pairs.  See types/Type.lhs for details (look for PredType).
      266fadd9
    • sewardj's avatar
      [project @ 2000-01-28 18:07:55 by sewardj] · c39373f1
      sewardj authored
      Modifications to make x86 register spilling to work reasonably.  It
      should work ok most of the time, although there is still a remote
      possibility that the allocator simply will be unable to complete
      spilling, and will just give up.
      
      -- Incrementally try with 0, 1, 2 and 3 spill regs, so as not to
         unduly restrict the supply of regs in code which doesn't need spilling.
      
      -- Remove the use of %ecx for shift values, so it is always available
         as the first-choice spill temporary.  For code which doesn't do
         int division, make %edx and %eax available for spilling too.
         Shifts by a non-constant amount (very rare) are now done by
         a short test-and-jump sequence, so that %ecx is not tied up.
      
      -- x86 FP: do sin, cos, tan in-line so we get the same answers as gcc.
      
      -- Moved a little code around to remove recursive dependencies.
      
      -- Fix a subtle bug in x86 regUsage, which could cause underestimation
         of live ranges.
      c39373f1
    • simonmar's avatar
      [project @ 2000-01-28 16:36:03 by simonmar] · f1553c47
      simonmar authored
      bump version to 4.07 on the main trunk.
      f1553c47
    • simonmar's avatar
      [project @ 2000-01-28 14:14:01 by simonmar] · 4d139998
      simonmar authored
      don't use ^ in patterns, Solaris sh barfs on it.
      4d139998
    • sewardj's avatar
      [project @ 2000-01-28 09:40:05 by sewardj] · 8252a068
      sewardj authored
      Commit all changes prior to addressing the x86 spilling situation in
      the register allocator.
      
      -- Fix nonsensical x86 addressing mode hacks in mangleIndexTree
         and getAmode.
      
      -- Make char-sized loads work properly, using MOVZBL.
      
      -- In assignIntCode, use primRep on the assign node to determine
         the size of data transfer, not the size of the source.
      
      -- Redo Integer primitives to be in line with current representation
         of Integers.
      8252a068
  2. 27 Jan, 2000 1 commit
  3. 26 Jan, 2000 12 commits
  4. 25 Jan, 2000 22 commits