1. 29 Sep, 2012 1 commit
    • ian@well-typed.com's avatar
      Change how we handle options required by 'way's · f6983efb
      ian@well-typed.com authored
      We used to add the options when the way was enabled, but this caused
      problems with the static/dynamic choice, as once the 'dynamic' options
      had been added it wasn't easy to remove them. We therefore didn't allow
      -static on the commandline if we'd already seen -static, which kludged
      around the issue.
      
      But apart from being unsatisfactory in the first place, this is a
      problem if we want to allow -dynamic being on by default, as there
      wouldn't be any way to turn it off.
      
      So now we add C/CPP/linker flags required by the 'way's when flags
      are requested, rather than during flag parsing.
      f6983efb
  2. 26 Sep, 2012 1 commit
    • Edward Z. Yang's avatar
      Partially fix #367 by adding HpLim checks to entry with -fno-omit-yields. · d3128bfc
      Edward Z. Yang authored
      
      
      The current fix is relatively dumb as far as where to add HpLim
      checks: it will always perform a check unless we know that we're
      returning from a closure or we are doing a non let-no-escape case
      analysis.  The performance impact on the nofib suite looks like this:
      
                  Min          +5.7%     -0.0%     -6.5%     -6.4%    -50.0%
                  Max          +6.3%     +5.8%     +5.0%     +5.5%     +0.8%
       Geometric Mean          +6.2%     +0.1%     +0.5%     +0.5%     -0.8%
      
      Overall, the executable bloat is the biggest problem, so we keep the old
      omit-yields optimization on by default. Remember that if you need an
      interruptibility guarantee, you need to recompile all of your libraries
      with -fno-omit-yields.
      
      A better fix would involve only inserting the yields necessary to break
      loops; this is left as future work.
      Signed-off-by: Edward Z. Yang's avatarEdward Z. Yang <ezyang@mit.edu>
      d3128bfc
  3. 25 Sep, 2012 1 commit
  4. 19 Sep, 2012 1 commit
  5. 17 Sep, 2012 1 commit
  6. 16 Sep, 2012 2 commits
  7. 14 Sep, 2012 2 commits
  8. 13 Sep, 2012 2 commits
  9. 03 Sep, 2012 8 commits
  10. 31 Aug, 2012 2 commits
  11. 07 Aug, 2012 1 commit
  12. 06 Aug, 2012 1 commit
  13. 05 Aug, 2012 3 commits
  14. 02 Aug, 2012 1 commit
    • Simon Marlow's avatar
      Explicitly share some return continuations · 6ede0067
      Simon Marlow authored
      Instead of relying on common-block-elimination to share return
      continuations in the common case (case-alternative heap checks) we do
      it explicitly.  This isn't hard to do, is more robust, and saves some
      compilation time.  Full commentary in Note [sharing continuations].
      6ede0067
  15. 30 Jul, 2012 1 commit
    • Simon Marlow's avatar
      New codegen: do not split proc-points when using the NCG · f1ed6a10
      Simon Marlow authored
      Proc-point splitting is only required by backends that do not support
      having proc-points within a code block (that is, everything except the
      native backend, i.e. LLVM and C).
      
      Not doing proc-point splitting saves some compilation time, and might
      produce slightly better code in some cases.
      f1ed6a10
  16. 26 Jul, 2012 1 commit
  17. 24 Jul, 2012 2 commits
  18. 20 Jul, 2012 1 commit
  19. 18 Jul, 2012 1 commit
    • pcapriotti's avatar
      Remove hPrintDump and make rule dump output more consistent (#7060) · 2b341fc4
      pcapriotti authored
      The only difference between SevDump and SevOutput in defaultLogAction is
      an extra blank line, so we don't need a separate hPrintDump function.
      
      Also make -ddump-to-file consistent with the stdout version, by avoiding
      to add the extra empty line when dumping rules.
      2b341fc4
  20. 16 Jul, 2012 4 commits
  21. 26 Jun, 2012 1 commit
  22. 25 Jun, 2012 2 commits