Tag build swift-DEVELOPMENT-SNAPSHOT-2017-01-05-a
Merge remote-tracking branch 'origin/swift-3.1-branch' into stable

* origin/swift-3.1-branch:
  Shift-left (ISD::SHL) operation crashes on "DAG Legalization" phase. https://llvm.org/bugs/show_bug.cgi?id=29058.
  [instsimplify] Fix incorrect folding of an ordered fcmp with a vector of all NaN.
  [DAGcombiner] Fix incorrect sinking of a truncate into the operand of a shift.
  [Loads] Properly populate the visited set in isDereferenceableAndAlignedPointer
  [LoadStoreVectorizer] Change VectorSet to Vector to match head and tail positions. Resolves PR29148.
  Fix a thinko in r278189.
  [SimplifyCFG] Hoisting invalidates metadata
  Fixed a bug in type legalizer for masked gather. The problem occurs when the Node doesn't updated in place , UpdateNodeOperation() return the node that already exist. In this case assert fail in PromoteIntegerOperand() , N have 2 results ( val + chain).
  BranchRelaxation: Fix handling of blocks with multiple conditional branches
  [AliasSetTracker] Degrade AliasSetTracker when may-alias sets get too large.