1. 25 Mar, 2011 1 commit
  2. 22 Mar, 2011 2 commits
    • Edward Z. Yang's avatar
      Split out "Raw Cmm" dump to its own flag -ddump-raw-cmm · 419821c7
      Edward Z. Yang authored
      Previously, -ddump-cmmz was used to dump out the "Raw Cmm" right
      before it gets passed to the backends, as well as all of the
      intermediate phases in the new code generator.  Unfortunately,
      there are a lot of intermediate phases, which means -ddump-cmmz
      takes a very long time with -fnew-codegen for large programs,
      even if you're only interested in the final result.
      
      Here we split up -ddump-cmmz into -ddump-cmmz (now exclusively for
      the new code generator) and -ddump-raw-cmm (for both code generation
      paths.) The old flag was not documented in the manual, so hopefully
      not too many people will be surprised by this change.
      419821c7
    • Edward Z. Yang's avatar
  3. 23 Mar, 2011 1 commit
    • Edward Z. Yang's avatar
      Immediately tag initialization code to prevent untagged spills. · cb5260d4
      Edward Z. Yang authored
      When allocating new objects on the heap, we previously returned
      a CmmExpr containing the heap pointer as well as the tag expression,
      which would be added to the code graph upon first usage.  Unfortunately,
      this meant that untagged heap pointers living in registers might
      be spilled to the stack, where they interacted poorly with garbage
      collection (we saw this bug specifically with the compacting garbage
      collector.)
      
      This fix immediately tags the register containing the heap pointer,
      so that unless we have extremely unfriendly spill code, the new pointer
      will never be spilled to the stack untagged.
      
      An alternate solution might have been to modify allocDynClosure to
      tag the pointer upon the initial register allocation, but not all
      invocations of allocDynClosure tag the resulting pointer, and
      threading the consequent CgIdInfo for the cases that did would have
      been annoying.
      cb5260d4
  4. 21 Mar, 2011 1 commit
  5. 18 Mar, 2011 1 commit
  6. 23 Mar, 2011 1 commit
  7. 22 Mar, 2011 1 commit
    • Ian Lynagh's avatar
      bindist checker improvements · 90d7a88f
      Ian Lynagh authored
      * Some refactoring
      * Support for Windows filenames
      * Some support for installed trees (as Windows "bindists" are really
        install trees)
      90d7a88f
  8. 21 Mar, 2011 2 commits
  9. 09 Mar, 2011 1 commit
  10. 20 Mar, 2011 2 commits
    • batterseapower's avatar
    • Ian Lynagh's avatar
      Change how we compute install paths on cygwin · b1fff745
      Ian Lynagh authored
      We used to have
          MK_INSTALL_DEST = "$(shell cygpath $1)"
      but this meant we ended up with
          "$(shell cygpath "[...]/html/`basename $$i`")"
      and the $(...) gets evaluated before the makefile rule, so the for loop
      hasn't been run, and so $i isn't defined. So we were taking the basename
      of the empty string, meaning docs weren't being installed in the right
      place.
      
      Now we have
          MK_INSTALL_DEST = $$(cygpath $1)
      so the evaluation happens in the shell, while the for loop is running.
      b1fff745
  11. 17 Mar, 2011 1 commit
  12. 16 Mar, 2011 6 commits
  13. 15 Mar, 2011 1 commit
  14. 13 Mar, 2011 2 commits
  15. 11 Mar, 2011 1 commit
  16. 19 Feb, 2011 1 commit
  17. 27 Oct, 2010 1 commit
  18. 09 Mar, 2011 1 commit
  19. 07 Mar, 2011 1 commit
  20. 06 Mar, 2011 2 commits
  21. 01 Mar, 2011 2 commits
    • Sergei Trofimovich's avatar
      configure: amend sanity check · e45b7db2
      Sergei Trofimovich authored
      As we perform some mangling of original --build/--host/--target
      params we should check the result of mangling against desired triplet,
      not originally passed by user.
      
      Patch also adds mangled triplets to the output.
      e45b7db2
    • Sergei Trofimovich's avatar
      configure: triplet: accept i486 CPU (and more), more vendors and OSes · c00ea87f
      Sergei Trofimovich authored
      Gentoo has interesting ports:
      
        - freebsd with following triplet:
              ./configure --build=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8
          should be recognized as 'i386-unknown-freebsd'
        - 'pc' vendor along with non-'i386' is very common:
              ./configure --build=i486-pc-linux-gnu --i486-pc-linux-gnu --host=i486-pc-linux-gnu
              ./configure --build=i686-pc-linux-gnu --i686-pc-linux-gnu --host=i686-pc-linux-gnu
          should be recognized as 'i386-unknown-linux'
      
      Patch adds:
      
        - 'pc' vendor                 (maps to 'unknown')
        - 'gentoo' vendor             (maps to 'unknown')
        - 'i486', 'i586', 'i686' CPUs (maps to 'i386')
        - 'freebsd8' OS               (maps to 'freebsd')
      c00ea87f
  22. 06 Mar, 2011 1 commit
  23. 05 Mar, 2011 5 commits
  24. 02 Mar, 2011 2 commits