- 17 Dec, 2013 4 commits
-
-
Bill Wendling authored
llvm-svn: 197468
-
Bill Wendling authored
```--------------------------------------------------------------------- r197409 | rikka | 2013-12-16 11:19:18 -0800 (Mon, 16 Dec 2013) | 4 lines Make Sema::BuildCXXNestedNameSpecifier correctly clear the previous CXXScopeSpec when necessary while performing typo correction. This fixes the crash reported in PR18213 (the problem existed since r185487, and r193020 made it easier to hit). ``` --------------------------------------------------------------------- llvm-svn: 197463
-
Bill Wendling authored
```--------------------------------------------------------------------- r197449 | arnolds | 2013-12-16 17:11:01 -0800 (Mon, 16 Dec 2013) | 7 lines LoopVectorizer: Don't if-convert constant expressions that can trap A phi node operand or an instruction operand could be a constant expression that can trap (division). Check that we don't vectorize such cases. PR16729 radar://15653590 ``` --------------------------------------------------------------------- llvm-svn: 197453
-
Bill Wendling authored
llvm-svn: 197443
-
- 16 Dec, 2013 8 commits
-
-
Bill Wendling authored
llvm-svn: 197417
-
Sylvestre Ledru authored
llvm-svn: 197381
-
Gabor Greif authored
llvm-svn: 197379
-
Sylvestre Ledru authored
After chatting with Anna Zaks, she believes that my code samples were more bugs in the previous releases of the static analyzer. llvm-svn: 197377
-
Sylvestre Ledru authored
Bill accepted this commit for the 3.4 release. The build was failing with: /tmp/buildd/llvm-toolchain-3.4-3.4~+/tools/lldb/source/Host/common/Host.cpp:1222:30: error: request for member 'Printf' in 'log', which is of non-class type 'double(double)throw ()' log->Printf("Host::GetLLDBPath(ePathTypeLLDBTempSystemDir) => '%s'", g_lldb_tmp_dir.GetCString()); llvm-svn: 197376 -
Bill Wendling authored
```--------------------------------------------------------------------- r195411 | mgottesman | 2013-11-21 21:00:51 -0800 (Thu, 21 Nov 2013) | 1 line [block-freq] Update data in test case to be unsigned long long to fix mingw build. ``` --------------------------------------------------------------------- llvm-svn: 197363
-
Bill Wendling authored
```--------------------------------------------------------------------- r196802 | chandlerc | 2013-12-09 11:25:51 -0800 (Mon, 09 Dec 2013) | 11 lines Revert three patches which were committed without explicit contribution by their authors. This may break builds where others added code relying on these patches, but please *do not* revert this commit. Instead, we will prepare patches which fix the failures. Reverts the following commits: r168306: "[asan] support x32 mode in the fast stack unwinder. Patch by H.J. Lu" r168356: "[asan] more support for powerpc, patch by Peter Bergner" r196489: "[sanitizer] fix the ppc32 build (patch by Jakub Jelinek)" ``` --------------------------------------------------------------------- llvm-svn: 197360
-
Bill Wendling authored
```--------------------------------------------------------------------- r196212 | alp | 2013-12-02 22:13:01 -0800 (Mon, 02 Dec 2013) | 22 lines Emit an extension warning when changing system header tokens clang converts keywords to identifiers for compatibility with various system headers such as GNU libc. Implement a -Wkeyword-compat extension warning to diagnose those cases. The warning is on by default but will generally be ignored in system headers. It can however be enabled globally to aid standards conformance testing. This also changes the __uptr keyword avoidance from r195710 to no longer special-case system headers, bringing it in line with other similar workarounds in clang. Implementation returns bool for symmetry with token annotation functions. Some examples: warning: keyword '__is_pod' will be treated as an identifier for the remainder of the translation unit [-Wkeyword-compat] struct __is_pod warning: keyword '__uptr' will be treated as an identifier here [-Wkeyword-compat] union w *__uptr; ``` --------------------------------------------------------------------- llvm-svn: 197359
-
- 15 Dec, 2013 5 commits
-
-
Bill Wendling authored
```--------------------------------------------------------------------- r197047 | d0k | 2013-12-11 08:36:09 -0800 (Wed, 11 Dec 2013) | 3 lines SelectionDAG: Fix a typo. Found by "cppcheck". PR18208. ``` --------------------------------------------------------------------- llvm-svn: 197355
-
Bill Wendling authored
------------------------------------------------------------------------ llvm-svn: 197354
-
Bill Wendling authored
```--------------------------------------------------------------------- r196779 | samsonov | 2013-12-09 05:21:43 -0800 (Mon, 09 Dec 2013) | 11 lines PR17977: don't assume EOWNERDEAD is always defined Summary: See details in http://llvm.org/bugs/show_bug.cgi?id=17977 Reviewers: dvyukov Reviewed By: dvyukov CC: glider, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2340 ``` --------------------------------------------------------------------- llvm-svn: 197353
-
Bill Wendling authored
```--------------------------------------------------------------------- r197216 | chandlerc | 2013-12-13 00:00:01 -0800 (Fri, 13 Dec 2013) | 9 lines [inliner] Fix PR18206 by preventing inlining functions that call setjmp through an invoke instruction. The original patch for this was written by Mark Seaborn, but I've reworked his test case into the existing returns_twice test case and implemented the fix by the prior refactoring to actually run the cost analysis over invoke instructions, and then here fixing our detection of the returns_twice attribute to work for both calls and invokes. We never noticed because we never saw an invoke. =[ ``` --------------------------------------------------------------------- llvm-svn: 197352
-
Bill Wendling authored
```--------------------------------------------------------------------- r197215 | chandlerc | 2013-12-12 23:59:56 -0800 (Thu, 12 Dec 2013) | 24 lines [inliner] Completely change (and fix) how the inline cost analysis handles terminator instructions. The inline cost analysis inheritted some pretty rough handling of terminator insts from the original cost analysis, and then made it much, much worse by factoring all of the important analyses into a separate instruction visitor. That instruction visitor never visited the terminator. This works fine for things like conditional branches, but for many other things we simply computed The Wrong Value. First example are unconditional branches, which should be free but were counted as full cost. This is most significant for conditional branches where the condition simplifies and folds during inlining. We paid a 1 instruction tax on every branch in a straight line specialized path. =[ Oh, we also claimed that the unreachable instruction had cost. But it gets worse. Let's consider invoke. We never applied the call penalty. We never accounted for the cost of the arguments. Nope. Worse still, we didn't handle the *correctness* constraints of not inlining recursive invokes, or exception throwing returns_twice functions. Oops. See PR18206. Sadly, PR18206 requires yet another fix, but this refactoring is at least a huge step in that direction. ``` --------------------------------------------------------------------- llvm-svn: 197351
-
- 14 Dec, 2013 5 commits
-
-
Hal Finkel authored
llvm-svn: 197325
-
Bill Wendling authored
```--------------------------------------------------------------------- r197178 | hfinkel | 2013-12-12 12:45:24 -0800 (Thu, 12 Dec 2013) | 9 lines Fix a use-after-free error in GlobalOpt CleanupConstantGlobalUsers GlobalOpt's CleanupConstantGlobalUsers function uses a worklist array to manage constant users to be visited. The pointers in this array need to be weak handles because when we delete a constant array, we may also be holding a pointer to one of its elements (or an element of one of its elements if we're dealing with an array of arrays) in the worklist. Fixes PR17347. ``` --------------------------------------------------------------------- llvm-svn: 197322
-
Bill Wendling authored
```--------------------------------------------------------------------- r197228 | d0k | 2013-12-13 05:40:24 -0800 (Fri, 13 Dec 2013) | 8 lines X86: When lowering shl_parts, don't emit shift amounts larger than the bit width. While it's safe for the X86-specific shift nodes, dag combining will kill generic nodes. Insert an AND to make it safe, isel will nuke it as x86's shift instructions have an implicit AND. Fixes PR16108, which contains a contraption to hit this case in between constant folders. ``` --------------------------------------------------------------------- llvm-svn: 197321
-
Bill Wendling authored
```--------------------------------------------------------------------- r197298 | rsmith | 2013-12-13 17:04:22 -0800 (Fri, 13 Dec 2013) | 3 lines PR18232: implement instantiation for class-scope explicit specializations of class templates (a Microsoft extension). ``` --------------------------------------------------------------------- llvm-svn: 197320
-
Bill Wendling authored
```--------------------------------------------------------------------- r197305 | rsmith | 2013-12-13 19:18:05 -0800 (Fri, 13 Dec 2013) | 7 lines PR18246: When performing template argument deduction to decide which template is specialized by an explicit specialization, start from the first declaration in case we've got a member of a class template (redeclarations might not number the template parameters the same way). Our recover here is still far from ideal. ``` --------------------------------------------------------------------- llvm-svn: 197319
-
- 13 Dec, 2013 2 commits
-
-
Sylvestre Ledru authored
llvm-svn: 197225
-
Bill Wendling authored
llvm-svn: 197203
-
- 12 Dec, 2013 9 commits
-
-
Bill Wendling authored
```--------------------------------------------------------------------- r197061 | marshall | 2013-12-11 11:32:32 -0800 (Wed, 11 Dec 2013) | 1 line Move std::begin(array) and std::end(array) out from under an #ifdef that was preventing people from building libc++ using gcc. This corrects a mistake that I introduced in r196058 ``` --------------------------------------------------------------------- llvm-svn: 197134
-
Bill Wendling authored
```--------------------------------------------------------------------- r196058 | marshall | 2013-12-01 19:24:33 -0800 (Sun, 01 Dec 2013) | 1 line Fix for PRPR17934; based on a fix suggested by Peter Sommerlad ``` --------------------------------------------------------------------- llvm-svn: 197133
-
Bill Wendling authored
```--------------------------------------------------------------------- r197100 | hfinkel | 2013-12-11 16:23:29 -0800 (Wed, 11 Dec 2013) | 1 line Remove unused multiclass from PPCInstrInfo.td ``` --------------------------------------------------------------------- llvm-svn: 197131
-
Bill Wendling authored
```--------------------------------------------------------------------- r197100 | hfinkel | 2013-12-11 16:23:29 -0800 (Wed, 11 Dec 2013) | 1 line Remove unused multiclass from PPCInstrInfo.td ``` --------------------------------------------------------------------- llvm-svn: 197130
-
Bill Wendling authored
```--------------------------------------------------------------------- r197120 | rsmith | 2013-12-11 18:42:17 -0800 (Wed, 11 Dec 2013) | 2 lines Update user manual to note that implementation for C++11 and C++1y is complete, and fix a bunch of other issues here. ``` --------------------------------------------------------------------- llvm-svn: 197127
-
Bill Wendling authored
```--------------------------------------------------------------------- r197089 | hfinkel | 2013-12-11 15:12:25 -0800 (Wed, 11 Dec 2013) | 6 lines Fix the PPC subsumes-predicate check For one predicate to subsume another, they must both check the same condition register. Failure to check this prerequisite was causing miscompiles. Fixes PR18003. ``` --------------------------------------------------------------------- llvm-svn: 197126
-
Richard Smith authored
llvm-svn: 197118
-
Richard Smith authored
llvm-svn: 197117
-
Richard Smith authored
llvm-svn: 197115
-
- 11 Dec, 2013 7 commits
-
-
Daniel Jasper authored
llvm-svn: 197042
-
Sergey Matveev authored
```--------------------------------------------------------------------- r197022 | smatveev | 2013-12-11 13:14:36 +0400 (Wed, 11 Dec 2013) | 1 line Mention LeakSanitizer in AddressSanitizer docs. ``` --------------------------------------------------------------------- llvm-svn: 197023
-
Bill Wendling authored
```--------------------------------------------------------------------- r196058 | marshall | 2013-12-01 19:24:33 -0800 (Sun, 01 Dec 2013) | 1 line Fix for PRPR17934; based on a fix suggested by Peter Sommerlad ``` --------------------------------------------------------------------- llvm-svn: 197013
-
Bill Wendling authored
llvm-svn: 197012
-
Bill Wendling authored
```--------------------------------------------------------------------- r196802 | chandlerc | 2013-12-09 11:25:51 -0800 (Mon, 09 Dec 2013) | 11 lines Revert three patches which were committed without explicit contribution by their authors. This may break builds where others added code relying on these patches, but please *do not* revert this commit. Instead, we will prepare patches which fix the failures. Reverts the following commits: r168306: "[asan] support x32 mode in the fast stack unwinder. Patch by H.J. Lu" r168356: "[asan] more support for powerpc, patch by Peter Bergner" r196489: "[sanitizer] fix the ppc32 build (patch by Jakub Jelinek)" ``` --------------------------------------------------------------------- llvm-svn: 197011
-
Bill Wendling authored
```--------------------------------------------------------------------- r196809 | rsmith | 2013-12-09 11:52:39 -0800 (Mon, 09 Dec 2013) | 2 lines Unbreak build by adding an implementation of PopStackFrames function. ``` --------------------------------------------------------------------- llvm-svn: 197010
-
Bill Wendling authored
```--------------------------------------------------------------------- r196995 | rsmith | 2013-12-10 17:40:16 -0800 (Tue, 10 Dec 2013) | 5 lines When performing an array new of a multidimensional array with an initializer list, each element of the initializer list may provide more than one of the base elements of the array. Be sure to initialize the right type and bump the array pointer by the right amount. ``` --------------------------------------------------------------------- llvm-svn: 197005
-