summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [DAGCombine] Use APInt::operator|(uint64_t) instead of creating a temporary ↵Craig Topper2017-03-051-6/+6
| | | | | | | | APInt and calling APInt::Or. NFC This is more efficient by itself. But this is prep for a future patch that may remove APInt::Or while making operator| support rvalue references similar to add/sub. llvm-svn: 296981
* GCC workaround: use explicit qualification to avoid injected class name.John McCall2017-03-041-2/+6
| | | | | | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52625 llvm-svn: 296980
* Refactor ConstantInitBuilder to allow other frontends to moreJohn McCall2017-03-042-260/+471
| | | | | | | | | | easily extend the aggregate-builder API. Stupid missing language features. Also add APIs for constructing a relative reference and computing the offset of a position from the start of the initializer. llvm-svn: 296979
* [x86] don't require a zext when forming ADC/SBBSanjay Patel2017-03-042-36/+41
| | | | | | | | | | | | | The larger goal is to move the ADC/SBB transforms currently in combineX86SetCC() to combineAddOrSubToADCOrSBB() because we're creating ADC/SBB in lots of places where we shouldn't. This was intended to be an NFC change, but avx-512 has something strange going on. It doesn't seem like any of the affected tests should really be using SET+TEST or ADC; a simple ADD could replace several instructions. But that's another bug... llvm-svn: 296978
* [DAGCombiner] allow transforming (select Cond, C +/- 1, C) to (add(ext Cond), C)Sanjay Patel2017-03-049-168/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | select Cond, C +/- 1, C --> add(ext Cond), C -- with a target hook. This is part of the ongoing process to obsolete D24480. The motivation is to canonicalize to select IR in InstCombine whenever possible, so we need to have a way to undo that easily in codegen. PowerPC is an obvious winner for this kind of transform because it has fast and complete bit-twiddling abilities but generally lousy conditional execution perf (although this might have changed in recent implementations). x86 also sees some wins, but the effect is limited because these transforms already mostly exist in its target-specific combineSelectOfTwoConstants(). The fact that we see any x86 changes just shows that that code is a mess of special-case holes. We may be able to remove some of that logic now. My guess is that other targets will want to enable this hook for most cases. The likely follow-ups would be to add value type and/or the constants themselves as parameters for the hook. As the tests in select_const.ll show, we can transform any select-of-constants to math/logic, but the general transform for any 2 constants needs one more instruction (multiply or 'and'). ARM is one target that I think may not want this for most cases. I see infinite loops there because it wants to use selects to enable conditionally executed instructions. Differential Revision: https://reviews.llvm.org/D30537 llvm-svn: 296977
* Try to fix thread name truncation on non-Windows.Zachary Turner2017-03-044-8/+17
| | | | llvm-svn: 296976
* [index] C++: Improve handling of typedefs as base names in C++ class ↵Argyrios Kyrtzidis2017-03-042-7/+32
| | | | | | | | | | | declarations Report the typedef as reference, and desugar it to report the underlying class as an implicit 'base' reference. Reporting the underlying base class for 'base' relations matches the ObjC handling and leads to a simpler model. llvm-svn: 296975
* [index] ObjC: Improve handling of typedefs as base names in ObjC interface ↵Argyrios Kyrtzidis2017-03-042-14/+40
| | | | | | | | | declarations - Report the typedef reference occurrence - Mark super or protocol references as 'implicit' when they come from a typedef. llvm-svn: 296974
* Improve the Threading code on NetBSDKamil Rytarowski2017-03-041-5/+2
| | | | | | | | Do not include <sys/user.h> on NetBSD. It's dead file and will be removed. No need to include <sys/sysctl.h> in this code context on NetBSD. llvm-svn: 296973
* Truncate thread names if they're too long.Zachary Turner2017-03-044-5/+37
| | | | llvm-svn: 296972
* DebugCounter: Initialize skip to 0, not -1Daniel Berlin2017-03-041-2/+2
| | | | llvm-svn: 296971
* Replaced UserNullMacros with NullMacros in modernize-use-nullptr check docsSylvestre Ledru2017-03-041-2/+2
| | | | | | | By patch Peter Goldsborough on https://github.com/llvm-mirror/clang-tools-extra/pull/14 See https://github.com/llvm-mirror/clang-tools-extra/blob/2cd835ee5bcd6c4944d7e30826668ec38db40b38/clang-tidy/modernize/UseNullptrCheck.cpp#L466 llvm-svn: 296970
* Fix a typo. Patch by fcrick on github ↵Sylvestre Ledru2017-03-041-1/+1
| | | | | | https://github.com/llvm-mirror/llvm/pull/23 llvm-svn: 296969
* Remove redundant code block and update comment.Sylvestre Ledru2017-03-041-13/+1
| | | | | | By patch zoren here: https://github.com/llvm-mirror/llvm/pull/20 llvm-svn: 296968
* Fix a typo. Thanks to huangml. Reported here: ↵Sylvestre Ledru2017-03-041-1/+1
| | | | | | https://github.com/llvm-mirror/llvm/pull/6 llvm-svn: 296967
* [X86][SSE] Enable post-legalize vXi64 shuffle combining on 32-bit targetsSimon Pilgrim2017-03-045-35/+10
| | | | | | | | Long ago (2010 according to svn blame), combineShuffle probably needed to prevent the accidental creation of illegal i64 types but there doesn't appear to be any combines that can cause this any more as they all have their own legality checks. Differential Revision: https://reviews.llvm.org/D30213 llvm-svn: 296966
* Fix nonsense commentEric Fiselier2017-03-041-1/+2
| | | | llvm-svn: 296965
* [legalize-types] Remove stale entries from SoftenedFloats.Florian Hahn2017-03-047-13/+34
| | | | | | | | | | | | | | | | | | | | | | | | Summary: When replacing a SDValue, we should remove the replaced value from SoftenedFloats (and possibly the other maps as well?). When we revisit a Node because it needs analyzing again, we have to remove all result values from SoftenedFloats (and possibly other maps?). This fixes the fp128 test failures with expensive checks for X86. I think we probably should also remove the values from the other maps (PromotedIntegers and so on), let me know what you think. Reviewers: baldrick, bogner, davidxl, ab, arsenm, pirama, chh, RKSimon Reviewed By: chh Subscribers: danalbert, wdng, srhines, hfinkel, sepavloff, llvm-commits Differential Revision: https://reviews.llvm.org/D29265 llvm-svn: 296964
* Project file fixes after movement of Data* and removal of ThisThread.cppSean Callanan2017-03-041-42/+32
| | | | llvm-svn: 296963
* Add test missed in r296770.Evgeny Stupachenko2017-03-041-0/+65
| | | | | | | Differential Revision: http://reviews.llvm.org/D27004 From: Evgeny Stupachenko <evstupac@gmail.com> llvm-svn: 296962
* Fix bug in bisect-skip-count not using passed-in argumentsDaniel Berlin2017-03-041-1/+1
| | | | llvm-svn: 296961
* Fully Reformat fallback_malloc.cppEric Fiselier2017-03-042-140/+158
| | | | | | | | | | | | This patch fully reformats fallback_malloc.cpp. Previously the test was a mess of different styles and indentations. This made it very hard to work in and read. Therefore I felt it was best to re-format the whole thing. Unfortuantly this means some history will be lost, but hopefully much of it will still be accessible after ignoring whitespace changes. llvm-svn: 296960
* Set option enabling LSR alternative way to resolve complex solution to false.Evgeny Stupachenko2017-03-043-3/+3
| | | | | | | Differential Revision: http://reviews.llvm.org/D29862 From: Evgeny Stupachenko <evstupac@gmail.com> llvm-svn: 296959
* [ODRHash] Try again to fix build bot.Richard Trieu2017-03-041-3/+3
| | | | llvm-svn: 296958
* Add missing UNSUPPORTED for -fno-exception modeEric Fiselier2017-03-041-0/+1
| | | | llvm-svn: 296957
* Handle null QualType better in Stmt::ProfileRichard Trieu2017-03-041-1/+1
| | | | | | | | If the QualType is null, calling ASTContext::getCanonicalType on it will lead to an assert. This was found while testing a new use for Stmt::Profile, so there is no test case for this. llvm-svn: 296956
* Attempt to suppress test failures on OS XEric Fiselier2017-03-042-0/+14
| | | | llvm-svn: 296955
* Fix CMake configuration errors on OS XEric Fiselier2017-03-041-3/+6
| | | | llvm-svn: 296954
* [ODRHash] Change test to try to appease buildbot.Richard Trieu2017-03-041-0/+2
| | | | llvm-svn: 296953
* [libcxxabi] Fix alignment of allocated exceptions in 32 bit buildsEric Fiselier2017-03-044-16/+74
| | | | | | | | | | | | | | | | | Summary: In 32 bit builds on a 64 bit system `std::malloc` does not return correctly aligned memory. This leads to undefined behavior. This patch switches to using `posix_memalign` to allocate correctly aligned memory instead. Reviewers: mclow.lists, danalbert, jroelofs, compnerd Reviewed By: compnerd Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D25417 llvm-svn: 296952
* Disable the lldb-mi tests on remote platforms.Sean Callanan2017-03-0416-0/+64
| | | | | | | Currently on remote platforms the lldb-mi tests fail, which means they time out. Given how many of the lldb-mi tests there are, this means a long wait. llvm-svn: 296951
* X86ISelLowering: Only perform copy elision on legal types.Matthias Braun2017-03-042-35/+60
| | | | | | | | | This fixes cases where i1 types were not properly legalized yet and lead to the creating of 0-sized stack slots. This fixes http://llvm.org/PR32136 llvm-svn: 296950
* Fix build.Peter Collingbourne2017-03-041-1/+1
| | | | llvm-svn: 296949
* WholeProgramDevirt: Implement exporting for uniform ret val opt.Peter Collingbourne2017-03-042-6/+55
| | | | | | Differential Revision: https://reviews.llvm.org/D29846 llvm-svn: 296948
* Fix a bug in the dep analysis script.Zachary Turner2017-03-041-0/+1
| | | | | | | It wasn't always normalizing slashes correctly, so you'd end up with the same thing in the map twice. llvm-svn: 296947
* Delete LLDB's code for getting / setting thread name.Zachary Turner2017-03-0415-307/+7
| | | | | | | This is now functionality in LLVM, and all callers have already been updated to use the LLVM functions. llvm-svn: 296946
* WholeProgramDevirt: Implement exporting for single-impl devirtualization.Peter Collingbourne2017-03-042-6/+132
| | | | | | Differential Revision: https://reviews.llvm.org/D29811 llvm-svn: 296945
* Add dependency on DynamicLoaderStatic to Utility.Zachary Turner2017-03-041-0/+1
| | | | llvm-svn: 296944
* Move DataBuffer / DataExtractor and friends from Core -> Utility.Zachary Turner2017-03-04179-308/+308
| | | | llvm-svn: 296943
* teach LIT how to detect the glibc versionEric Fiselier2017-03-041-0/+8
| | | | llvm-svn: 296942
* Move UUID from Core -> Utility.Zachary Turner2017-03-0423-27/+33
| | | | llvm-svn: 296941
* Fix PR25874 - Detect features required for cxa_thread_atexit_test.pass.cppEric Fiselier2017-03-044-0/+10
| | | | llvm-svn: 296940
* WholeProgramDevirt: Add any unsuccessful llvm.type.checked.load ↵Peter Collingbourne2017-03-044-12/+146
| | | | | | | | | | | | | devirtualizations to the list of llvm.type.test users. Any unsuccessful llvm.type.checked.load devirtualizations will be translated into uses of llvm.type.test, so we need to add the resulting llvm.type.test intrinsics to the function summaries so that the LowerTypeTests pass will export them. Differential Revision: https://reviews.llvm.org/D29808 llvm-svn: 296939
* Fix the macOS build all the way after r296909.Jim Ingham2017-03-042-72/+97
| | | | llvm-svn: 296938
* [scan-build-py] create decorator for compiler wrapper methodsLaszlo Nagy2017-03-047-114/+208
| | | | | | Differential Revision: https://reviews.llvm.org/D29260 llvm-svn: 296937
* Turn on -Wunused-function and cleanup occurancesEric Fiselier2017-03-043-15/+14
| | | | llvm-svn: 296936
* NewGVN: Be consistent in what order we compare operands for swapping.Daniel Berlin2017-03-041-2/+2
| | | | | | NFC. llvm-svn: 296935
* [MISched] Remove unused arguments. NFC.Eli Friedman2017-03-041-4/+2
| | | | llvm-svn: 296934
* [x86] check for commuted add pattern to find ADC/SBBSanjay Patel2017-03-042-8/+14
| | | | llvm-svn: 296933
* [ODRHash] Add support for detecting different method properties.Richard Trieu2017-03-044-10/+241
| | | | | | | | Now print diagnostics for static, virtual, inline, volatile, and const differences in methods. Also use DeclarationName instead of IdentifierInfo for additional robustness in diagnostic printing. llvm-svn: 296932
OpenPOWER on IntegriCloud