and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

  1. 29 Aug, 2017 4 commits
    • Hans Wennborg's avatar
      Merging r312022: · 656a2881
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r312022 | hans | 2017-08-29 11:41:00 -0700 (Tue, 29 Aug 2017) | 10 lines
      
      [DAG] Bound loop dependence check in merge optimization.
      
      The loop dependence check looks for dependencies between store merge
      candidates not captured by the chain sub-DAG doing a check of
      predecessors which may be very large. Conservatively bound number of
      nodes checked for compilation time. (Resolves PR34326).
      
      Landing on behalf of Nirav Dave to unblock the 5.0.0 release.
      
      Differential Revision: https://reviews.llvm.org/D37220
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 312041
      656a2881
    • Hans Wennborg's avatar
      Merging r312008: · f0701b2b
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r312008 | cbieneman | 2017-08-29 09:13:41 -0700 (Tue, 29 Aug 2017) | 7 lines
      
      [IPv6] Fix a bug in the IPv6 listen behavior
      
      The socket bind address should either be localhost or anyaddress. This bug in the listen behavior was preventing lldb-server from opening sockets for non-localhost connections.
      
      The added test verifies that opening an anyaddress socket works and has a non-zero port assignment.
      
      This should resolve PR34183.
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 312016
      f0701b2b
    • Hans Wennborg's avatar
      Merging r311835: · 828b6813
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311835 | dhinton | 2017-08-26 14:08:51 -0700 (Sat, 26 Aug 2017) | 12 lines
      
      [Dominators] Remove redundant explicit template instantiation.
      
      Summary:
      Remove redundant explicit template instantiation.
      
      This was reported by Andrew Kelley building release_50 with gcc7.2.0 on MacOS: duplicate symbol llvm::DominatorTreeBase.
      
      Reviewers: kuhar, andrewrk, davide, hans
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D37185
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 312014
      828b6813
    • Hans Wennborg's avatar
      Merging r311823: (+update ClangCommandLineReference.rst) · a18e824a
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311823 | rsmith | 2017-08-25 18:04:35 -0700 (Fri, 25 Aug 2017) | 16 lines
      
      Add flag to request Clang is ABI-compatible with older versions of itself
      
      This patch adds a flag -fclang-abi-compat that can be used to request that
      Clang attempts to be ABI-compatible with some older version of itself.
      
      This is provided on a best-effort basis; right now, this can be used to undo
      the ABI change in r310401, reverting Clang to its prior C++ ABI for pass/return
      by value of class types affected by that change, and to undo the ABI change in
      r262688, reverting Clang to using integer registers rather than SSE registers
      for passing <1 x long long> vectors. The intent is that we will maintain this
      backwards compatibility path as we make ABI-breaking fixes in future.
      
      The reversion to the old behavior for r310401 is also applied to the PS4 target
      since that change is not part of its platform ABI (which is essentially to do
      whatever Clang 3.2 did).
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 312013
      a18e824a
  2. 28 Aug, 2017 5 commits
  3. 25 Aug, 2017 6 commits
    • Hans Wennborg's avatar
      Merging r311792: · 16b04ba2
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311792 | djasper | 2017-08-25 12:14:53 -0700 (Fri, 25 Aug 2017) | 9 lines
      
      [Format] Invert nestingAndIndentLevel pair in WhitespaceManager used for
      alignments
      
      Indent should be compared before nesting level to determine if a token
      is on the same scope as the one we align with. Because it was inverted,
      clang-format sometimes tried to align tokens with tokens from outer
      scopes, causing the assert(Shift >= 0) to fire.
      
      This fixes bug #33507. Patch by Beren Minor, thank you!
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311800
      16b04ba2
    • Hans Wennborg's avatar
      Merging r311695: · 6493242f
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311695 | rsmith | 2017-08-24 13:10:33 -0700 (Thu, 24 Aug 2017) | 9 lines
      
      [ubsan] PR34266: When sanitizing the 'this' value for a member function that happens to be a lambda call operator, use the lambda's 'this' pointer, not the captured enclosing 'this' pointer (if any).
      
      Do not sanitize the 'this' pointer of a member call operator for a lambda with
      no capture-default, since that call operator can legitimately be called with a
      null this pointer from the static invoker function. Any actual call with a null
      this pointer should still be caught in the caller (if it is being sanitized).
      
      This reinstates r311589 (reverted in r311680) with the above fix.
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311799
      6493242f
    • Simon Dardis's avatar
      [mips][Release Notes] Release notes for 5.0 · f84d026a
      Simon Dardis authored
      Reviewers: atanasyan, nitesh.jain
      
      Differential Revision: https://reviews.llvm.org/D37077
      
      llvm-svn: 311771
      f84d026a
    • Hans Wennborg's avatar
      ReleaseNotes: Note about opt-viewer.py, by Adam Nemet · 419b8efe
      Hans Wennborg authored
      llvm-svn: 311738
      419b8efe
    • Hans Wennborg's avatar
      Merging r311674: · 1c2f283d
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311674 | hans | 2017-08-24 10:00:36 -0700 (Thu, 24 Aug 2017) | 3 lines
      
      Mark allocator_oom_test.cc unsupported on arm & aarch64 (PR33972)
      
      The buildbots don't seem to like it.
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311736
      1c2f283d
    • Eric Fiselier's avatar
      Update ABI lists for 5.0 · 3d589e8d
      Eric Fiselier authored
      llvm-svn: 311735
      3d589e8d
  4. 24 Aug, 2017 15 commits
  5. 23 Aug, 2017 10 commits
    • Hans Wennborg's avatar
      Merging r311555: · ab640dfb
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311555 | oleg | 2017-08-23 07:26:31 -0700 (Wed, 23 Aug 2017) | 14 lines
      
      [ARM][Compiler-rt] Fix AEABI builtins to correctly pass arguments to non-AEABI functions on HF targets
      
      Summary:
      This is a patch for PR34167.
      
      On HF targets functions like `__{eq,lt,le,ge,gt}df2` and `__{eq,lt,le,ge,gt}sf2` expect their arguments to be passed in d/s registers, while some of the AEABI builtins pass them in r registers.
      
      Reviewers: compnerd, peter.smith, asl
      
      Reviewed By: peter.smith, asl
      
      Subscribers: peter.smith, aemerson, dberris, javed.absar, llvm-commits, asl, kristof.beyls
      
      Differential Revision: https://reviews.llvm.org/D36675
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311606
      ab640dfb
    • Hans Wennborg's avatar
      Merging r311554: · 5f78a79e
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311554 | mcrosier | 2017-08-23 07:10:06 -0700 (Wed, 23 Aug 2017) | 10 lines
      
      [Reassociate] Don't canonicalize x + (-Constant * y) -> x - (Constant * y)..
      
      ..if the resulting subtract will be broken up later.  This can cause us to get
      into an infinite loop.
      
      x + (-5.0 * y)      -> x - (5.0 * y)       ; Canonicalize neg const
      x - (5.0 * y)       -> x + (0 - (5.0 * y)) ; Break up subtract
      x + (0 - (5.0 * y)) -> x + (-5.0 * y)      ; Replace 0-X with X*-1.
      
      PR34078
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311603
      5f78a79e
    • Hans Wennborg's avatar
      Merging r311565: · a58f36d2
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311565 | hans | 2017-08-23 08:43:28 -0700 (Wed, 23 Aug 2017) | 8 lines
      
      LowerAtomic: Don't skip optnone functions; atomic still need lowering (PR34020)
      
      The lowering isn't really an optimization, so optnone shouldn't make a
      difference. ARM relies on the pass running when using "-mthread-model
      single", because in that mode, it doesn't run AtomicExpand. See bug for
      more details.
      
      Differential Revision: https://reviews.llvm.org/D37040
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311602
      a58f36d2
    • Hans Wennborg's avatar
      Revert r307529 "This patch completely replaces the scheduling information for... · 8f166cc6
      Hans Wennborg authored
      Revert r307529 "This patch completely replaces the scheduling information for the SandyBridge architecture"
      
      This caused PR34080, which seems to have been fixed by r310792, but that change
      introduced severe performance regressions.
      
      Reverting to unblock the 5.0.0 release while these issues are worked out on trunk.
      
      Also reverting a few tests that were added later and depended on the new scheduling:
      
          LLVM :: CodeGen/X86/f16c-schedule.ll
          LLVM :: CodeGen/X86/lea32-schedule.ll
          LLVM :: CodeGen/X86/lea64-schedule.ll
          LLVM :: CodeGen/X86/popcnt-schedule.ll
      
      llvm-svn: 311600
      8f166cc6
    • Hans Wennborg's avatar
      Revert r309328 and r309290 (which merged r309327 and r309226). · 1bbc6d00
      Hans Wennborg authored
      The header change caused problems; see PR34182, and PR33858 from #9 onwards, as
      well as the discussion on the r309226 cfe-commits thread.
      
      These changes don't seem to be addressing any regression from 4.0.0, so rather
      than scrambling to fix this on the branch, let's revert to safety.
      
      llvm-svn: 311597
      1bbc6d00
    • Hans Wennborg's avatar
      Merging r311572: · d0c62f90
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311572 | ctopper | 2017-08-23 09:41:02 -0700 (Wed, 23 Aug 2017) | 9 lines
      
      [AVX512] Don't create SHRUNKBLEND SDNodes for 512-bit vectors
      
      There are no 512-bit blend instructions so we shouldn't create SHRUNKBLEND for them.
      
      On a side note, it looks like there may be a missed opportunity for constant folding TESTM when LHS and RHS are equal.
      
      This fixes PR34139.
      
      Differential Revision: https://reviews.llvm.org/D36992
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311593
      d0c62f90
    • Hans Wennborg's avatar
      Merging r311330: · 301eb2b8
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311330 | ibiryukov | 2017-08-21 05:03:08 -0700 (Mon, 21 Aug 2017) | 16 lines
      
      Fixed a crash on replaying Preamble's PP conditional stack.
      
      Summary:
      The crash occurs when the first token after a preamble is a macro
      expansion.
      Fixed by moving replayPreambleConditionalStack from Parser into
      Preprocessor. It is now called right after the predefines file is
      processed.
      
      Reviewers: erikjv, bkramer, klimek, yvvan
      
      Reviewed By: bkramer
      
      Subscribers: cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D36872
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311591
      301eb2b8
    • Hans Wennborg's avatar
      Merging r311579: · 5b257ba2
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311579 | compnerd | 2017-08-23 10:23:12 -0700 (Wed, 23 Aug 2017) | 6 lines
      
      Process: fix FXSAVE on x86
      
      The FXSAVE member `ftw` (FPU Tag Word) was given the wrong size (8-bit)
      instead of the correct width (16-bit) as per the x87 Programmer's
      Manual.  Adjust this to ensure that we print out the complete value for
      the register.
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311585
      5b257ba2
    • Hans Wennborg's avatar
      Merging r311496: · 76c1c287
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311496 | hans | 2017-08-22 14:54:37 -0700 (Tue, 22 Aug 2017) | 1 line
      
      [profile] Fix warning about C++ style comment in C file
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311584
      76c1c287
    • Hans Wennborg's avatar
      Merging r311495: · 9c1a363f
      Hans Wennborg authored
      ```---------------------------------------------------------------------
      r311495 | hans | 2017-08-22 14:54:37 -0700 (Tue, 22 Aug 2017) | 6 lines
      
      [esan] Use stack_t instead of struct sigaltstack (PR34011)
      
      The struct tag is going away in soon-to-be-released glibc 2.26 and the
      stack_t typedef seems to have been there forever.
      
      Patch by Bernhard Rosenkraenzer!
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 311583
      9c1a363f