- 25 Aug, 2017 6 commits
-
-
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
-
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
-
Simon Dardis authored
Reviewers: atanasyan, nitesh.jain Differential Revision: https://reviews.llvm.org/D37077 llvm-svn: 311771
-
Hans Wennborg authored
llvm-svn: 311738
-
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
-
Eric Fiselier authored
llvm-svn: 311735
-
- 24 Aug, 2017 15 commits
-
-
Hans Wennborg authored
llvm-svn: 311729
-
Hans Wennborg authored
llvm-svn: 311728
-
Hans Wennborg authored
llvm-svn: 311725
-
Hans Wennborg authored
llvm-svn: 311724
-
Hans Wennborg authored
llvm-svn: 311723
-
Hans Wennborg authored
llvm-svn: 311722
-
Hans Wennborg authored
llvm-svn: 311721
-
Hans Wennborg authored
llvm-svn: 311718
-
Hans Wennborg authored
llvm-svn: 311717
-
Hans Wennborg authored
llvm-svn: 311716
-
Hans Wennborg authored
llvm-svn: 311715
-
Hans Wennborg authored
llvm-svn: 311714
-
Hans Wennborg authored
```--------------------------------------------------------------------- r311601 | adrian | 2017-08-23 14:24:12 -0700 (Wed, 23 Aug 2017) | 5 lines Fix a bug in CGDebugInfo::EmitInlineFunctionStart causing DILocations to be parented in function declarations. Fixes PR33997. https://bugs.llvm.org/show_bug.cgi?id=33997 ``` --------------------------------------------------------------------- llvm-svn: 311671
-
Hans Wennborg authored
```--------------------------------------------------------------------- r311623 | hans | 2017-08-23 18:08:27 -0700 (Wed, 23 Aug 2017) | 11 lines [DAG] Fix Node Replacement in PromoteIntBinOp When one operand is a user of another in a promoted binary operation we may replace and delete the returned value before returning triggering an assertion. Reorder node replacements to prevent this. Fixes PR34137. Landing on behalf of Nirav. Differential Revision: https://reviews.llvm.org/D36581 ``` --------------------------------------------------------------------- llvm-svn: 311670
-
Hans Wennborg authored
Patch by Marek Kurdej! llvm-svn: 311668
-
- 23 Aug, 2017 13 commits
-
-
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 -
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
-
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
-
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 -
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
-
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
-
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
-
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
-
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
-
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
-
Renato Golin authored
llvm-svn: 311578
-
Hans Wennborg authored
```--------------------------------------------------------------------- r311532 | krasimir | 2017-08-23 00:18:36 -0700 (Wed, 23 Aug 2017) | 24 lines [clang-format] Align trailing comments if ColumnLimit is 0 Summary: ColumnLimit = 0 means no limit, so comment should always be aligned if requested. This was broken with https://llvm.org/svn/llvm-project/cfe/trunk@304687 introduced via https://reviews.llvm.org/D33830 and is included in 5.0.0-rc2. This commit fixes it and adds a unittest for this property. Should go into clang-5.0 IMHO. Contributed by @pboettch! Reviewers: djasper, krasimir Reviewed By: djasper, krasimir Subscribers: hans, klimek Differential Revision: https://reviews.llvm.org/D36967 ``` --------------------------------------------------------------------- llvm-svn: 311573
-
Florian Hahn authored
Reviewers: t.p.northover, hans, kristof.beyls Reviewed By: hans Subscribers: aemerson, rengolin, llvm-commits Differential Revision: https://reviews.llvm.org/D36965 llvm-svn: 311539
-
- 22 Aug, 2017 6 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r311397 | ahatanak | 2017-08-21 15:46:46 -0700 (Mon, 21 Aug 2017) | 8 lines [Driver][Darwin] Do not pass -munwind-table if -fno-excpetions is supplied. With this change, -fno-exceptions disables unwind tables unless -funwind-tables is supplied too or the target is x86-64 (x86-64 requires emitting unwind tables). rdar://problem/33934446 ``` --------------------------------------------------------------------- llvm-svn: 311505
-
Hans Wennborg authored
```--------------------------------------------------------------------- r311391 | stl_msft | 2017-08-21 15:19:33 -0700 (Mon, 21 Aug 2017) | 28 lines [Driver] Recognize DevDiv internal builds of MSVC, with a different directory structure. This is a reasonably non-intrusive change, which I've verified works for both x86 and x64 DevDiv-internal builds. The idea is to change `bool IsVS2017OrNewer` into a 3-state `ToolsetLayout VSLayout`. Either a build is DevDiv-internal, released VS 2017 or newer, or released VS 2015 or older. When looking at the directory structure, if instead of `"VC"` we see `"x86ret"`, `"x86chk"`, `"amd64ret"`, or `"amd64chk"`, we recognize this as a DevDiv-internal build. After we get past the directory structure validation, we use this knowledge to regenerate paths appropriately. `llvmArchToDevDivInternalArch()` knows how we use `"i386"` subdirectories, and `MSVCToolChain::getSubDirectoryPath()` uses that. It also knows that DevDiv-internal builds have an `"inc"` subdirectory instead of `"include"`. This may still not be the "right" fix in any sense, but I believe that it's non-intrusive in the sense that if the special directory names aren't found, no codepaths are affected. (`ToolsetLayout::OlderVS` and `ToolsetLayout::VS2017OrNewer` correspond to `IsVS2017OrNewer` being `false` or `true`, respectively.) I searched for all references to `IsVS2017OrNewer`, which are places where Clang cares about VS's directory structure, and the only one that isn't being patched is some logic to deal with cross-compilation. I'm fine with that not working for DevDiv-internal builds for the moment (we typically test the native compilers), so I added a comment. Fixes D36860. ``` --------------------------------------------------------------------- llvm-svn: 311500
-
Kit Barton authored
llvm-svn: 311486
-
Anastasia Stulova authored
Differential Revision: https://reviews.llvm.org/D36951 llvm-svn: 311485
-
Hans Wennborg authored
```--------------------------------------------------------------------- r311387 | steven_wu | 2017-08-21 14:49:13 -0700 (Mon, 21 Aug 2017) | 16 lines [IR] AutoUpgrade ModuleFlagBehavior for PIC and PIE level Summary: From r303590, ModuleFlagBehavior for PIC and PIE level is changed from Error to Max. This will cause bitcode compatibility issue when linking against a bitcode static archive built with old compiler. Add an auto-ugprade path to upgrade the the ModuleFlagBehavior in the old bitcode to match the new one so IRLinker can link them. Reviewers: tejohnson, mehdi_amini, dexonsmith Reviewed By: dexonsmith Subscribers: hans, llvm-commits Differential Revision: https://reviews.llvm.org/D36556 ``` --------------------------------------------------------------------- llvm-svn: 311481
-
Hans Wennborg authored
```--------------------------------------------------------------------- r311263 | ctopper | 2017-08-19 15:02:02 -0700 (Sat, 19 Aug 2017) | 1 line [AVX512] Use alignedstore256 in a pattern that's emitting a 256-bit movaps from an extract subvector operation. ``` --------------------------------------------------------------------- llvm-svn: 311478
-