Fix branch name check regex in sync-all
Rename mkNoTick to mkNoCount
mkNoScope: expand the default case
tickishCanSplit should be False for HpcTick

(no functional changes I hope)
refactor tick handling a little
80 columns
80 columns
Comment
80 columns
In the DEBUG rts, track when CAFs are GC'd

This resurrects some old code and makes it work again.  The idea is
that we want to get an error message if we ever enter a CAF that has
been GC'd, rather than following its indirection which will likely
cause a segfault.  Without this patch, these bugs are hard to track
down in gdb, because the IND_STATIC code overwrites R1 (the pointer to
the CAF) with its indirectee before jumping into bad memory, so we've
lost the address of the CAF that got GC'd.

Some associated refactoring while I was here.
CheckUnload needs to look at revertible_caf_list

Retained CAFs must keep an object file alive.
Allow the linker to be used without retaining CAFs unconditionally

This creates a new C API:

   initLinker_ (int retain_cafs)

The old initLinker() was left as-is for backwards compatibility.  See
documentation in Linker.h.
Grammar in comments
Don't complain about rules overlapping functions with no unfolding

This showed up when importing a module that was compiled
without -O, so there were no unfoldings in the interface file
Add debug dump of the list of Cmm proc points
Improve panic printout
When removing unreachable code, remove unreachable info tables too

This bug only shows up when you are using proc-point splitting.
What was happening was:
  * We generate a proc-point for the stack check
  * And an info table
  * We eliminate the stack check because it's redundant
  * And the dangling info table caused a panic in
    CmmBuildInfoTables.bundle
Ignore untracked contents in submodules

The GHC build creates files there that are not part of the project’s
.gitignore, and clutter up "git status" in ghc/. With this patch, these
changes are ignored; modifications to existing files in the submodule
repositories are still reported.
GHCi: Properly generate jump code for ARM (#8380)

This adds code for jumping to given addresses for ARM, written by Ben
Gamari.

However, when allocating new infotables for bytecode (which is where
this jump code occurs), we need to be sure to flush the cache on the
execute pointer returned from allocateExec() - on systems like ARM, the
processor won't reliably read back code or automatically cache flush,
where x86 will.

So we add a new flushExec primitive to call out to GCC's
__builtin___clear_cache primitive, which will properly generate the
correct code (nothing on x86, and a call to libgcc's __clear_cache on
ARM) and make sure we use it after writing the code out.

Authored-by: Ben Gamari <bgamari.foss@gmail.com>
Authored-by: Austin Seipp <austin@well-typed.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
Fix make binary-dist on OS X (#8122)

Authored-by: Christiaan Baaj <christiaan.baaij@gmail.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>