Name entry blocks, and don't flag unexpanded calls as tail calls, as they have almost certainly gained direct reference to an alloca. Leave it to the standard optimiser to figure out when this is too conservative.
Add more thorough stats reporting and fix programs with a root function that doesn't allocate by forcing it to have a frame.
Fix: ignored edges are not given store or block-certainty refs; don't drop them either when discarding loop edge refs in the iterative solver.
Fix: don't call ConstantFoldCompareInstOperands with conflicting types.
Fixes: tolerate inline asm that is explicitly side-effect free (nginx uses this to call cpuid), and note that pointer masking operations that cannot be resolved at spec time nontheless cannot move the pointer into a different object.
Supress decorating the DOT print of a loop when describing terminated loops in a child context.

These blocks only exist in parent scope as a convenience, and trying to print their values in the usual way caused a crash when trying to walk their operands, in particular whilst getting a call's callee.
Fix stupid bug in aggregate member extraction
Handle switching on a ptrtoint
Annotate epoll_create
Fixes:

* Account for out-of-bounds writes when deciding whether we can release an underlying IMap
* Clobber when memcpy has uncertain pointers for either parameter
Allow user-defined allocators
Fix: tolerate out-of-bounds reads
Feature: provide an "intrinsic" for use in model functions that determines whether two pointers refer to the same object
Feature: allow flagging never-explore functions
Fix: Check blocks status before doing store merge, as this affects whether the base store should be used.
Fix: Tolerate constant arguments to switch statements.
Annotate ioctl(FIONBIO) and permit path conditions to suggest a syscall return value.