MFC r255798:
Pre-acquire the filedesc sx when a possibility exists that the later
code could need to remove a kqueue from the filedesc list.
MFC r255945:
Make the mac_policy_rm lock recursable, which allows reentrance into
the mac framework.
MFC r255940:
Add LK_TRYUPGRADE operation for lockmgr(9).
MFC r255941:
Increase the chance of the buffer write from the bufdaemon helper
context to succeed. If the locked vnode which owns the buffer to be
written is shared locked, try the non-blocking upgrade of the lock to
exclusive.
MFC r255942:
For vunref(), try to upgrade the vnode lock if the function was called
with the vnode shared-locked.
MFC r256024:

Pull in r186338 from upstream llvm trunk:

  Remove invalid assert in DAGTypeLegalizer::RemapValue

  There is a comment at the top of DAGTypeLegalizer::PerformExpensiveChecks
  which, in part, says:

   // Note that these invariants may not hold momentarily when processing a node:
   // the node being processed may be put in a map before being marked Processed.

  Unfortunately, this assert would be valid only if the above-mentioned invariant
  held unconditionally. This was causing llc to assert when, in fact,
  everything was fine.

  Thanks to Richard Sandiford for investigating this issue!

  Fixes PR16562.

This fixes assertions which could occur in the multimedia/ffmpeg1 and
multimedia/ffmpeg2 ports.

Reported by:	Matthias Apitz <guru@unixarea.de>
Merge remote-tracking branch 'upstream-github/stable/9' into stable/9