Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
improve the --help docs a bit (#7008)
Add a Note, copying text from #2437
-package P was loading all versions of P in GHCi (#7030)

-package P means "the latest version of P" if multiple versions are
installed.  It was working as advertised, but we were
eagerly *linking* all versions of P, which might cause an error if the
package has some C code, because we can't link multiple instances of
the same symbol.
don't crash if argv[0] == NULL (#7037)
mainly tidyup
no need to check for unreachable blocks with -fnew-codegen

we've already done it
Add an experimental sinking pass
prefer later defined commands (fixes #3858)
Merge remote-tracking branch 'origin/master' into newcg

* origin/master: (756 commits)
  don't crash if argv[0] == NULL (#7037)
  -package P was loading all versions of P in GHCi (#7030)
  Add a Note, copying text from #2437
  improve the --help docs a bit (#7008)
  Copy Data.HashTable's hashString into our Util module
  Build fix
  Build fixes
  Parse error: suggest brackets and indentation.
  Don't build the ghc DLL on Windows; works around trac #5987
  On Windows, detect if DLLs have too many symbols; trac #5987
  Add some more Integer rules; fixes #6111
  Fix PA dfun construction with silent superclass args
  Add silent superclass parameters to the vectoriser
  Add silent superclass parameters (again)
  Mention Generic1 in the user's guide
  Make the GHC API a little more powerful.
  tweak llvm version warning message
  New version of the patch for #5461.
  Fix Word64ToInteger conversion rule.
  Implemented feature request on reconfigurable pretty-printing in GHCi (#5461)
  ...

Conflicts:
	compiler/basicTypes/UniqSupply.lhs
	compiler/cmm/CmmBuildInfoTables.hs
	compiler/cmm/CmmLint.hs
	compiler/cmm/CmmOpt.hs
	compiler/cmm/CmmPipeline.hs
	compiler/cmm/CmmStackLayout.hs
	compiler/cmm/MkGraph.hs
	compiler/cmm/OldPprCmm.hs
	compiler/codeGen/CodeGen.lhs
	compiler/codeGen/StgCmm.hs
	compiler/codeGen/StgCmmBind.hs
	compiler/codeGen/StgCmmLayout.hs
	compiler/codeGen/StgCmmUtils.hs
	compiler/main/CodeOutput.lhs
	compiler/main/HscMain.hs
	compiler/nativeGen/AsmCodeGen.lhs
	compiler/simplStg/SimplStg.lhs
Fix merge-related problems
Remove "fuel", adapt to Hoopl changes, fix warnings
Merge remote-tracking branch 'origin/master' into newcg

* origin/master:
  prefer later defined commands (fixes #3858)
Delete some unused code
Add documentation for -interactive-print (#5461)

Based on a patch by Vitaly Bragilevsky <bravit111@gmail.com>
do a pass over this file, remove obsolete stuff
Rename BTail -> BCons, BHead -> BSnoc
Generate slightly less crap to be cleaned up later
bugfix: coalescing moves from RealReg to VirtualReg got broken at some point
Allow the register allocator access to argument regs (R1.., F1.., etc.)

This was made possible by the recent change to codeGen to attach the
live GlobalRegs to every CmmJump, and we'll be relying on it quite
heavily in the new code generator too.

What this means essentially is that when we see

  x = R1

the register allocator will automatically assign x to R1 and generate
no code at all (also known as "coalescing"). It wasn't possible before
because the register allocator had to assume that R1 was always live,
because it didn't have access to accurate liveness information.