- 23 Feb, 2016 1 commit
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261669 | aaronballman | 2016-02-23 10:55:15 -0800 (Tue, 23 Feb 2016) | 1 line Amends r252104 to evaluate the controlling expression in an unevaluated context. This eliminates false-positive diagnostics about null pointer dereferences (etc) in the controlling expression. ``` --------------------------------------------------------------------- llvm-svn: 261684
-
- 22 Feb, 2016 6 commits
-
-
Quentin Colombet authored
This adapts r261349 to the release branch. llvm-svn: 261586
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261441 | nemanjai | 2016-02-20 10:16:25 -0800 (Sat, 20 Feb 2016) | 12 lines Fix for PR 26500 This patch corresponds to review: http://reviews.llvm.org/D17294 It ensures that whatever block we are emitting the prologue/epilogue into, we have the necessary scratch registers. It takes away the hard-coded register numbers for use as scratch registers as registers that are guaranteed to be available in the function prologue/epilogue are not guaranteed to be available within the function body. Since we shrink-wrap, the prologue/epilogue may end up in the function body. ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r261447 | nemanjai | 2016-02-20 12:45:37 -0800 (Sat, 20 Feb 2016) | 6 lines Fix the build bot break caused by rL261441. The patch has a necessary call to a function inside an assert. Which is fine when you have asserts turned on. Not so much when they're off. Sorry about the regression. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r261546 | nemanjai | 2016-02-22 10:04:00 -0800 (Mon, 22 Feb 2016) | 6 lines Fix for PR26690 take 2 This is what was meant to be in the initial commit to fix this bug. The parens were missing. This commit also adds a test case for the bug and has undergone full testing on PPC and X86. ------------------------------------------------------------------------ llvm-svn: 261572
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261422 | rdivacky | 2016-02-20 00:31:24 -0800 (Sat, 20 Feb 2016) | 10 lines Fix handling of vaargs on PPC32 when going from regsave to overflow. It can happen that when we only have 1 more register left in the regsave area we need to store a value bigger than 1 register and therefore we go to the overflow area. In this case we have to leave the last slot in the regsave area unused and keep using overflow area. Do this by storing a limit value to the used register counter in the overflow block. Issue diagnosed by and solution tested by Mark Millard! ``` --------------------------------------------------------------------- llvm-svn: 261553
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261387 | davide | 2016-02-19 16:44:47 -0800 (Fri, 19 Feb 2016) | 8 lines [X86ISelLowering] Fix TLSADDR lowering when shrink-wrapping is enabled. TLSADDR nodes are lowered into actuall calls inside MC. In order to prevent shrink-wrapping from pushing prologue/epilogue past them (which result in TLS variables being accessed before the stack frame is set up), we put markers, so that the stack gets adjusted properly. Thanks to Quentin Colombet for guidance/help on how to fix this problem! ``` --------------------------------------------------------------------- llvm-svn: 261542
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261384 | qcolombet | 2016-02-19 16:32:29 -0800 (Fri, 19 Feb 2016) | 4 lines [RegAllocFast] Properly track the physical register definitions on calls. PR26485 ``` --------------------------------------------------------------------- llvm-svn: 261539
-
Michael Wong authored
http://reviews.llvm.org/D17323 llvm-svn: 261526
-
- 19 Feb, 2016 10 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261368 | hans | 2016-02-19 13:40:12 -0800 (Fri, 19 Feb 2016) | 3 lines Revert r255691 "[LoopVectorizer] Refine loop vectorizer's register usage calculator by ignoring specific instructions." It caused PR26509. ``` --------------------------------------------------------------------- llvm-svn: 261369
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261360 | dim | 2016-02-19 12:14:11 -0800 (Fri, 19 Feb 2016) | 19 lines Fix incorrect selection of AVX512 sqrt when OptForSize is on Summary: When optimizing for size, sqrt calls can be incorrectly selected as AVX512 VSQRT instructions. This is because X86InstrAVX512.td has a `Requires<[OptForSize]>` in its `avx512_sqrt_scalar` multiclass definition. Even if the target does not support AVX512, the class can apparently still be chosen, leading to an incorrect selection of `vsqrtss`. In PR26625, this lead to an assertion: Reg >= X86::FP0 && Reg <= X86::FP6 && "Expected FP register!", because the `vsqrtss` instruction requires an XMM register, which is not available on i686 CPUs. Reviewers: grosbach, resistor, joker.eph Subscribers: spatel, emaste, llvm-commits Differential Revision: http://reviews.llvm.org/D17414 ``` --------------------------------------------------------------------- llvm-svn: 261367
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261365 | hans | 2016-02-19 13:26:31 -0800 (Fri, 19 Feb 2016) | 3 lines Revert r253557 "Alternative to long nops for X86 CPUs, by Andrey Turetsky" Turns out the new nop sequences aren't actually nops on x86_64 (PR26554). ``` --------------------------------------------------------------------- llvm-svn: 261366
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261148 | samsonov | 2016-02-17 12:40:10 -0800 (Wed, 17 Feb 2016) | 1 line [TSan] PR26609: Fix two test cases. ``` --------------------------------------------------------------------- llvm-svn: 261359
-
Renato Golin authored
llvm-svn: 261357
-
Renato Golin authored
llvm-svn: 261343
-
Renato Golin authored
llvm-svn: 261341
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261306 | matze | 2016-02-18 20:44:19 -0800 (Thu, 18 Feb 2016) | 1 line LegalizeDAG: Fix ExpandFCOPYSIGN assuming the same type on both inputs ``` --------------------------------------------------------------------- llvm-svn: 261334
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261263 | rnk | 2016-02-18 13:24:30 -0800 (Thu, 18 Feb 2016) | 1 line Un-XFAIL the last C++ EH test, it was fixed by r261258 ``` --------------------------------------------------------------------- llvm-svn: 261283
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261258 | rnk | 2016-02-18 12:57:41 -0800 (Thu, 18 Feb 2016) | 14 lines [IR] Straighten out bundle overload of IRBuilder::CreateCall IRBuilder has two ways of putting bundle operands on calls: the default operand bundle, and an overload of CreateCall that takes an operand bundle list. Previously, this overload used a default argument of None. This made it impossible to distinguish between the case were the caller doesn't care about bundles, and the case where the caller explicitly wants no bundles. We behaved as if they wanted the latter behavior rather than the former, which led to problems with simplifylibcalls and WinEH. This change fixes it by making the parameter non-optional, so we can distinguish these two cases. ``` --------------------------------------------------------------------- llvm-svn: 261282
-
- 18 Feb, 2016 4 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261209 | abataev | 2016-02-18 05:48:15 -0800 (Thu, 18 Feb 2016) | 4 lines [OPENMP] Fix codegen for lastprivate loop counters. Patch fixes bug with codegen for lastprivate loop counters. Also it may improve performance for lastprivates calculations in some cases. ``` --------------------------------------------------------------------- llvm-svn: 261257
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261080 | abataev | 2016-02-17 02:29:05 -0800 (Wed, 17 Feb 2016) | 3 lines [OPENMP] Fix handling loop-based directives with arrays. Patch fixes possible problems with correct handling arrays as expressions in initialization, conditions etc in loop-based constructs. ``` --------------------------------------------------------------------- llvm-svn: 261256
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261193 | hahnfeld | 2016-02-17 23:08:26 -0800 (Wed, 17 Feb 2016) | 6 lines [compiler-rt] Return correct size of struct pthread for glibc-2.12.2 There seems to be a difference between 2.12.1 and 2.12.2 in 64-bit build. Tested on Scientific Linux 6.6, based on RHEL. Differential Revision: http://reviews.llvm.org/D17190 ``` --------------------------------------------------------------------- llvm-svn: 261244
-
Hans Wennborg authored
```--------------------------------------------------------------------- r257763 | djasper | 2016-01-14 05:36:46 -0800 (Thu, 14 Jan 2016) | 8 lines clang-format: Fix incorrectly enforced linebreak with ColumnLimit 0. Before: aaaa[bbbb] .cccc(); After: aaaa[bbbb].cccc(); ``` --------------------------------------------------------------------- llvm-svn: 261225
-
- 17 Feb, 2016 16 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r260669 | dsanders | 2016-02-12 02:35:53 -0800 (Fri, 12 Feb 2016) | 9 lines [msan+tsan] Bring back the tests that disappeared after r260230 and r259512. The lit test-suite containing the unit tests needs to be explicitly specified as an argument to lit.py since it is no longer discovered when the other tests are run (because they are one directory deeper). dfsan, lsan, and sanitizer_common don't show the same problem. ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r261142 | samsonov | 2016-02-17 11:35:51 -0800 (Wed, 17 Feb 2016) | 1 line [tests] Slightly improve a fix in r260669. ------------------------------------------------------------------------ llvm-svn: 261162
-
Hans Wennborg authored
```--------------------------------------------------------------------- r259874 | compnerd | 2016-02-04 20:12:40 -0800 (Thu, 04 Feb 2016) | 8 lines CodeGen: correct Windows ARM C++ assertion Because the Decl is explicitly passed as nullptr further up the call chain, it is possible to invoke isa on a nullptr, which will assert. Guard against the nullptr. Take the opportunity to reuse the helper method rather than re-implementing this logic. ``` --------------------------------------------------------------------- llvm-svn: 261158
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261073 | hahnfeld | 2016-02-16 23:12:18 -0800 (Tue, 16 Feb 2016) | 6 lines [compiler-rt][msan] Ensure initialisation before calling __msan_unpoison __msan_unpoison uses intercepted memset which currently leads to a SEGV when linking with libc++ under CentOS 7. Differential Revision: http://reviews.llvm.org/D17263 ``` --------------------------------------------------------------------- llvm-svn: 261138
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261039 | rnk | 2016-02-16 16:17:33 -0800 (Tue, 16 Feb 2016) | 6 lines [X86] Fix a shrink-wrapping miscompile around __chkstk __chkstk clobbers EAX. If EAX is live across the prologue, then we have to take extra steps to save it. We already had code to do this if EAX was a register parameter. This change adapts it to work when shrink wrapping is used. ``` --------------------------------------------------------------------- llvm-svn: 261136
-
David Majnemer authored
```--------------------------------------------------------------------- r258616 | majnemer | 2016-01-22 22:00:44 -0800 (Fri, 22 Jan 2016) | 3 lines [PruneEH] Don't try to insert a terminator after another terminator LLVM's BasicBlock has a single terminator, it is not valid to have two. ``` --------------------------------------------------------------------- llvm-svn: 261132
-
David Majnemer authored
```--------------------------------------------------------------------- r258611 | majnemer | 2016-01-22 21:41:29 -0800 (Fri, 22 Jan 2016) | 6 lines [PruneEH] FuncletPads must not have undef operands Instead of RAUW with undef, replace the first non-token instruction with unreachable. This fixes PR26263. ``` --------------------------------------------------------------------- llvm-svn: 261131
-
David Majnemer authored
```--------------------------------------------------------------------- r258610 | majnemer | 2016-01-22 21:41:27 -0800 (Fri, 22 Jan 2016) | 3 lines [PruneEH] Unify invoke and call handling in DeleteBasicBlock No functionality change is intended. ``` --------------------------------------------------------------------- llvm-svn: 261130
-
David Majnemer authored
```--------------------------------------------------------------------- r258609 | majnemer | 2016-01-22 21:41:22 -0800 (Fri, 22 Jan 2016) | 5 lines [PruneEH] Reuse code from removeUnwindEdge PruneEH had functionality idential to removeUnwindEdge. Consolidate around removeUnwindEdge. No functionality change is intended. ``` --------------------------------------------------------------------- llvm-svn: 261129
-
David Majnemer authored
```--------------------------------------------------------------------- r259702 | majnemer | 2016-02-03 13:30:34 -0800 (Wed, 03 Feb 2016) | 7 lines [LoopStrengthReduce] Don't rewrite PHIs with incoming values from CatchSwitches Bail out if we have a PHI on an EHPad that gets a value from a CatchSwitchInst. Because the CatchSwitchInst cannot be split, there is no good place to stick any instructions. This fixes PR26373. ``` --------------------------------------------------------------------- llvm-svn: 261126
-
David Majnemer authored
```--------------------------------------------------------------------- r260164 | akaylor | 2016-02-08 14:52:51 -0800 (Mon, 08 Feb 2016) | 5 lines [regalloc][WinEH] Do not mark intervals as not spillable if they contain a regmask Differential Revision: http://reviews.llvm.org/D16831 ``` --------------------------------------------------------------------- llvm-svn: 261125
-
David Majnemer authored
```--------------------------------------------------------------------- r260733 | akaylor | 2016-02-12 13:10:16 -0800 (Fri, 12 Feb 2016) | 5 lines [WinEH] Prevent EH state numbering from skipping nested cleanup pads that never return Differential Revision: http://reviews.llvm.org/D17208 ``` --------------------------------------------------------------------- llvm-svn: 261124
-
Dimitry Andric authored
```--------------------------------------------------------------------- r260839 | dim | 2016-02-14 01:26:32 +0100 (Sun, 14 Feb 2016) | 8 lines Fix lib/tsan/go/buildgo.sh for FreeBSD after r243051. FreeBSD also needs to have sanitizer_linux_libcdep.cc included, otherwise linking will fail with "undefined reference to `__sanitizer::GetRSS()'". While here, tabify the FreeBSD part, similar to the other parts. ``` --------------------------------------------------------------------- llvm-svn: 261123
-
Hans Wennborg authored
llvm-svn: 261116
-
Hans Wennborg authored
```--------------------------------------------------------------------- r261033 | akaylor | 2016-02-16 15:52:18 -0800 (Tue, 16 Feb 2016) | 5 lines Fix build LLVM with -D LLVM_USE_INTEL_JITEVENTS:BOOL=ON on Windows Differential Revision: http://reviews.llvm.org/D16940 ``` --------------------------------------------------------------------- llvm-svn: 261106
-
Daniel Sanders authored
```--------------------------------------------------------------------- r261088 | dsanders | 2016-02-17 13:16:31 +0000 (Wed, 17 Feb 2016) | 21 lines [libcxx] Fix definition of regex_traits::__regex_word on big-endian glibc systems Summary: On glibc, the bits used for the various character classes is endian dependant (see _ISbit() in ctypes.h) but __regex_word does not account for this and uses a spare bit that isn't spare on big-endian. On big-endian, it overlaps with the bit for graphic characters which causes '-', '@', etc. to be considered a word character. Fixed this by defining the value using _ISbit(15) on MIPS glibc systems. We've restricted this to MIPS for now to avoid the risk of introducing failures in other targets. Fixes PR26476. Reviewers: hans, mclow.lists Subscribers: dsanders, cfe-commits Differential Revision: http://reviews.llvm.org/D17132 ``` --------------------------------------------------------------------- llvm-svn: 261097
-
Hans Wennborg authored
llvm-svn: 261035
-
- 16 Feb, 2016 3 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r260390 | jyknight | 2016-02-10 09:47:20 -0800 (Wed, 10 Feb 2016) | 12 lines [SPARC] Repair floating-point condition encodings in assembly parser. The encodings for floating point conditions A(lways) and N(ever) were incorrectly specified for the assembly parser, per Sparc manual v8 page 121. This change corrects that mistake. Also, strangely, all of the branch instructions already had MC test cases, except for the broken ones. Added the tests. Patch by Chris Dewhurst Differential Revision: http://reviews.llvm.org/D17074 ``` --------------------------------------------------------------------- llvm-svn: 261031
-
Hans Wennborg authored
```--------------------------------------------------------------------- r258103 | kli | 2016-01-18 16:04:41 -0800 (Mon, 18 Jan 2016) | 2 lines parseArch() supports more variations of arch names for PowerPC builds ``` --------------------------------------------------------------------- llvm-svn: 261015
-
Dimitry Andric authored
```--------------------------------------------------------------------- r260851 | dim | 2016-02-14 17:08:20 +0100 (Sun, 14 Feb 2016) | 13 lines As reported in https://llvm.org/bugs/show_bug.cgi?id=25496, on FreeBSD, C++ programs compiled for profiling (using `-pg`) should be linked with `-lc++_p` (or `-lstdc++_p`, depending on the `-stdlib=` setting), not with the regular C++ libraries. Add a `FreeBSD::AddCXXStdlibLibArgs()` override to handle this, and add a test case for it. While here, extend the test case for the proper passing of -lm and -lm_p. Reviewers: compnerd, davide, dws, emaste Reviewed By: compnerd Differential Revision: http://reviews.llvm.org/D16264 ``` --------------------------------------------------------------------- llvm-svn: 261003
-