summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [PowerPC] Generate VSX version of splat wordNemanja Ivanovic2016-05-048-9/+186
| | | | | | | | | | This patch corresponds to review: http://reviews.llvm.org/D18592 It allows the PPC back end to generate the xxspltw instruction where we previously only emitted vspltw. llvm-svn: 268516
* Delete getTlsGotRel.Rafael Espindola2016-05-043-25/+2
| | | | | | | It was an old hack to avoid duplicating expression computation, but that is not needed with getExprRel. llvm-svn: 268515
* [X86][SSE] Regenerate vector bswap testsSimon Pilgrim2016-05-041-60/+91
| | | | llvm-svn: 268514
* Typo. NFC.Chad Rosier2016-05-041-3/+3
| | | | llvm-svn: 268513
* [SimplifyCFG] isSafeToSpeculateStore now ignores debug infoHans Wennborg2016-05-042-2/+74
| | | | | | | | | | | | | | | This patch fixes PR27615. @llvm.dbg.value instructions no longer count towards the maximum number of instructions to look back at in the instruction list when searching for a store instruction. This should make the output consistent between debug and non-debug build. Patch by Henric Karlsson <henric.karlsson@ericsson.com>! Differential Revision: http://reviews.llvm.org/D19912 llvm-svn: 268512
* [Coverage] Fix an issue where a coverage region might not be created for a ↵Igor Kudrin2016-05-042-3/+42
| | | | | | | | | | | macro containing a loop statement. The issue happened when a macro contained a full for or while statement, which body ended at the end of the macro. Differential Revision: http://reviews.llvm.org/D19725 llvm-svn: 268511
* Fixed some spelling errors in assert messages. No functional change. Thanks ↵Marshall Clow2016-05-041-19/+19
| | | | | | to giffunip@yahoo.com for the report. llvm-svn: 268510
* Do not disable completely loop unroll when optimizing for size.Marianne Mailhot-Sarrasin2016-05-041-1/+1
| | | | | | | | Let the loop unroll pass handle /Os. It already checks that option and adjust its thresholds accordingly. Also, will allow the #pragma unroll to have an effect in /Os. Differential Revision: http://reviews.llvm.org/D19827 llvm-svn: 268509
* Revert "Use ScopedPrinter in llvm-pdbdump"Chad Rosier2016-05-043-1431/+1139
| | | | | | This reverts commit r268506 due to build breakage. llvm-svn: 268508
* Use a uniform name for the load combine pass. NFC.Chad Rosier2016-05-041-6/+5
| | | | llvm-svn: 268507
* Use ScopedPrinter in llvm-pdbdumpZachary Turner2016-05-043-1139/+1431
| | | | | | | | | | | | | | | | When printing raw PDB file fields, streams, and records, use the ScopedPrinter class so we have consistency with llvm-readobj's output format. For the most part this is pretty mechanical, but I had to fix up the test file to conform to the new YAMLesque output format. i added a few additional helper functions to the ScopedPrinter such as one to print a dotted version, etc. Differential Revision: http://reviews.llvm.org/D19897 Reviewed By: rnk llvm-svn: 268506
* Removed another dead code. NFC.George Rimar2016-05-041-3/+0
| | | | llvm-svn: 268505
* [SelectionDAG] BITREVERSE vector legalization of bit operationsSimon Pilgrim2016-05-042-11965/+1519
| | | | | | | | Vector bit operations are typically promoted instead of having custom lowering. This patch changes the isOperationLegalOrCustom tests for vector AND/OR operations to use isOperationLegalOrPromote instead, allowing the SSE implementations to stay on the simd unit. Differential Revision: http://reviews.llvm.org/D19805 llvm-svn: 268504
* AMDGPU/R600: Minor cleanup in InstrInfoJan Vesely2016-05-041-17/+16
| | | | | | | | | | | | | | Use std::make_pair instead of constructor Use C++11 loop Reuse helper var Reviewers: tstellardAMD Subsribers: arsenm Differential Revision: http://reviews.llvm.org/D19787 llvm-svn: 268503
* [RS4GC] Use SetVector/MapVector instead of DenseSet/DenseMap to guarantee ↵Igor Laevsky2016-05-046-106/+66
| | | | | | | | | | | | | | | stable ordering Goal of this change is to guarantee stable ordering of the statepoint arguments and other newly inserted values such as gc.relocates. Previously we had explicit sorting in a couple of places. However for unnamed values ordering was partial and overall we didn't have any strong invariant regarding it. This change switches all data structures to use SetVector's and MapVector's which provide possibility for deterministic iteration over them. Explicit sorting is now redundant and was removed. Differential Revision: http://reviews.llvm.org/D19669 llvm-svn: 268502
* Simplify handling of hint relocations.Rafael Espindola2016-05-045-15/+7
| | | | llvm-svn: 268501
* Update to ISL 0.17.Michael Kruse2016-05-0465-7174/+9557
| | | | | | | | | | | | This release includes sevaral improvments compared to the previous version isl-0.16.1-145-g243bf7c (from the ISL 0.17 announcement): - optionally combine SCCs incrementally in scheduler - optionally maximize coincidence in scheduler - optionally avoid loop coalescing in scheduler - minor AST generator improvements - improve support for expansions in schedule trees llvm-svn: 268500
* Sort entries. NFC.Rafael Espindola2016-05-041-1/+1
| | | | llvm-svn: 268499
* The test files are auto-generated by update_llc_test_checks.py utility.Elena Demikhovsky2016-05-042-186/+1198
| | | | | | No functional changes. llvm-svn: 268498
* Removed dead code. NFC.George Rimar2016-05-041-7/+0
| | | | llvm-svn: 268497
* [mips][ias] Only round section sizes when explicitly requested.Daniel Sanders2016-05-046-40/+49
| | | | | | | | As requested by Rafael Espindola in his post-commit comments on r268036. This makes the previous behaviour the default while still allowing verification of IAS. llvm-svn: 268496
* Print the cpio trailer after every member.Rafael Espindola2016-05-044-21/+18
| | | | | | | | | This is both simpler and safer. If we crash at any point, there is a valid cpio file to reproduce the crash. Thanks to Rui for the suggestion. llvm-svn: 268495
* [clang-tidy] Remove STL dependency from a test.Gabor Horvath2016-05-041-1/+11
| | | | llvm-svn: 268494
* [Sparc] Allow taking of function address into a register.Chris Dewhurst2016-05-042-5/+56
| | | | | | | | Modification of previously existing code (variable rename only), with unit test added. Differential Revision: http://reviews.llvm.org/D19368 llvm-svn: 268493
* [clang-tidy] New: checker misc-unconventional-assign-operator replacing ↵Gabor Horvath2016-05-0410-49/+91
| | | | | | | | | | | | | | misc-assign-operator-signature Summary: Finds return statements in assign operator bodies where the return value is different from '*this'. Only assignment operators with correct return value Class& are checked. Reviewers: aaron.ballman, alexfh, sbenza Subscribers: o.gyorgy, baloghadamsoftware, LegalizeAdulthood, aaron.ballman, Eugene.Zelenko, xazax.hun, cfe-commits Differential Revision: http://reviews.llvm.org/D18265 llvm-svn: 268492
* [mips][microMIPS] Add CodeGen support for microMIPSr6 ROTR and ROTRV and add ↵Zlatko Buljan2016-05-0417-11/+155
| | | | | | | | tests for LL, SC, SYSCALL, ROTR, ROTRV, LWM32, SWM32 and MOVEP instructions Differential Revision: http://reviews.llvm.org/D19857 llvm-svn: 268491
* [ASTMatchers] New matcher forFunctionGabor Horvath2016-05-044-0/+89
| | | | | | | | | | | | Summary: Matcher proposed in the review of checker misc-assign-operator (name pending). Its goal is to find the direct enclosing function declaration of a statement and run the inner matcher on it. Two version is attached in this patch (thus it will not compile), to be decided which approach to take. The second one always chooses one single parent while the first one does a depth-first search upwards (thus a height-first search) and returns the first positive match of the inner matcher (thus it always returns zero or one matches, not more). Further questions: is it enough to implement it in-place, or ASTMatchersInternals or maybe ASTMatchFinder should be involved? Reviewers: sbenza Subscribers: aaron.ballman, klimek, o.gyorgy, xazax.hun, cfe-commits Differential Revision: http://reviews.llvm.org/D19357 llvm-svn: 268490
* [X86] Add -m[no-]x87 and -m[no-]80387 options to control FeatureX87.Andrey Turetskiy2016-05-042-0/+11
| | | | | | | | | Add -m[no-]x87 and -m[no-]80387 options to control FeatureX87. -m[no-]80387 options is added for compatibility with GCC. Differential Revision: http://reviews.llvm.org/D19658 llvm-svn: 268489
* Add missing -mno-cx16 driver option.Andrey Turetskiy2016-05-042-2/+3
| | | | | | Differential Revision: http://reviews.llvm.org/D19658 llvm-svn: 268488
* Add a test for driver options from m_x86_Features_Group.Andrey Turetskiy2016-05-041-0/+44
| | | | | | Differential Revision: http://reviews.llvm.org/D19658 llvm-svn: 268487
* [ELF][MIPS] Fix typo in the comment. NFC.Simon Atanasyan2016-05-041-1/+1
| | | | llvm-svn: 268486
* [ELF][MIPS] Read/write .MIPS.options sectionSimon Atanasyan2016-05-048-12/+144
| | | | | | | | | MIPS N64 ABI introduces .MIPS.options section which specifies miscellaneous options to be applied to an object/shared/executable file. LLVM as well as modern versions of GNU tools read and write the only type of the options - ODK_REGINFO. It is exact copy of .reginfo section used by O32 ABI. llvm-svn: 268485
* When renaming a class, ename pointers to that class as well.Manuel Klimek2016-05-042-0/+27
| | | | | | Patch by Miklos Vajna. llvm-svn: 268484
* [Sparc] Implement __builtin_setjmp, __builtin_longjmp back-end.Chris Dewhurst2016-05-045-21/+384
| | | | | | | | | | | | | | This code implements builtin_setjmp and builtin_longjmp exception handling intrinsics for 32-bit Sparc back-ends. The code started as a mash-up of the PowerPC and X86 versions, although there are sufficient differences to both that had to be made for Sparc handling. Note: I have manual tests running. I'll work on a unit test and add that to the rest of this diff in the next day. Also, this implementation is only for 32-bit Sparc. I haven't focussed on a 64-bit version, although I have left the code in a prepared state for implementing this, including detecting pointer size and comments indicating where I suspect there may be differences. Differential Revision: http://reviews.llvm.org/D19798 llvm-svn: 268483
* [mips] Remove -mattr=+n64 and fix indentation in tailcall.ll RUN lines. NFC.Daniel Sanders2016-05-041-5/+5
| | | | | | | -mattr=+n64 isn't the correct way to specify the ABI and N64 is already the default for the RUN line concerned. llvm-svn: 268482
* [Clang][Builtin][AVX512] Adding intrinsics fot cvt{u}si2s{d|s} ↵Michael Zuckerman2016-05-043-0/+235
| | | | | | | | cvt{sd|ss}2{ss|sd} instruction set Differential Revision: http://reviews.llvm.org/D19765 llvm-svn: 268481
* Added XrefsDBManager into include-fixer and made XrefsDB return SymbolInfo.Eric Liu2016-05-0413-62/+195
| | | | | | | | | | | | Summary: Added XrefsDBManager into include-fixer and made XrefsDB return SymbolInfo. Reviewers: hokein, djasper, klimek Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19869 llvm-svn: 268480
* [ConstantFolding, ValueTracking] Fold constants involving bitcasts of ↵David Majnemer2016-05-043-9/+39
| | | | | | | | | | | | | | | | | ConstantVector We assumed that ConstantVectors would be rather uninteresting from the perspective of analysis. However, this is not the case due to a quirk of how LLVM handles vectors of i1. Vectors of i1 are not ConstantDataVectors like vectors of i8, i16, i32 or i64 because i1's SizeInBits differs from it's StoreSizeInBytes. This leads to it being categorized as a ConstantVector instead of a ConstantDataVector. Instead, treat ConstantVector more uniformly. This fixes PR27591. llvm-svn: 268479
* [llvm-readobj] Print MIPS .MIPS.options section contentSimon Atanasyan2016-05-045-7/+80
| | | | | | | | | .MIPS.options section specifies miscellaneous options to be applied to an object file. LLVM as well as modern versions of GNU tools emit the only type of the options - ODK_REGINFO. The patch teaches llvm-readobj to print details of the ODK_REGINFO and skip contents of other options. llvm-svn: 268478
* libc++abi: fix visibility of personalitiesSaleem Abdulrasool2016-05-041-2/+3
| | | | | | | The personality routines need to be exposed to the users as the functions reference the personality routine to handle exceptions. llvm-svn: 268477
* [IPO/ConstantMerge] Convert to static function, to facilitate transition to ↵Davide Italiano2016-05-041-6/+1
| | | | | | the new PM. llvm-svn: 268476
* Add a way for an ObjectFile to indicate that assembly emulationJason Molenda2016-05-046-3/+71
| | | | | | | | | | | | | | | | | | | | | should not be used for this module -- for use when an ObjectFile knows that it does not have meaningful or accurate function start addresses. More commonly, it is not clear that function start addresses are missing in a module. There are certain cases on Mac OS X where we can tell that a Mach-O binary has been stripped of this essential information, and the unwinder can end up emulating many megabytes of instructions for a single "function" in the binary. When a Mach-O binary is missing both an LC_FUNCTION_STARTS load command (very unusual) and an eh_frame section, then we will assume it has also been stripped of symbols and that instruction emulation will not be useful on this module. <rdar://problem/25988067> llvm-svn: 268475
* [X86] Add -malign-double supportReid Kleckner2016-05-045-0/+123
| | | | | | | | | | | | | | | | | The -malign-double flag causes i64 and f64 types to have alignment 8 instead of 4. On x86-64, the behavior of -malign-double is enabled by default. Rebases and cleans phosek's work here: http://reviews.llvm.org/D12860 Patch by Sean Klein Reviewers: rnk Subscribers: rnk, jfb, dschuff, phosek Differential Revision: http://reviews.llvm.org/D19734 llvm-svn: 268473
* Make ListScope and DictScope re-use the same code.Zachary Turner2016-05-041-18/+11
| | | | llvm-svn: 268472
* Fix CodeCompletion & TypoCorrection when combining a PCH with ModulesBen Langmuir2016-05-048-12/+109
| | | | | | | | | | | | | | This commit fixes the IdentifierIterator to actually include identifiers from a PCH or precompiled preamble when there is also a global module index. This was causing code-completion (outside of C++) and typo-correction to be missing global identifiers defined in the PCH/preamble. Typo-correction has been broken since we first started using the module index, whereas code-completion only started relying on identifier iterator in r232793. rdar://problem/25642879 llvm-svn: 268471
* [X86] Lower zext i1 argumentsDavid Majnemer2016-05-042-0/+57
| | | | | | | | | | | | | i1 is now a legal type for X86 with AVX512. There were some paths in X86FastISel which were not quite ready to see an i1 value: they were not quite sure how to deal with sign/zero extends for call arguments. DTRT by extending to i8 for zeroext and bailing out of FastISel for signext. This fixes PR27591. llvm-svn: 268470
* Remove (unused) "using namespace llvm;" in Support header. This caused the ↵Richard Smith2016-05-041-2/+0
| | | | | | modules build to break. llvm-svn: 268469
* [GlobalDCE, Misc] Don't remove functions referenced by ifuncsDavid Majnemer2016-05-047-22/+72
| | | | | | | | | | | | We forgot to consider the target of ifuncs when considering if a function was alive or dead. N.B. Also update a few auxiliary tools like bugpoint and verify-uselistorder. This fixes PR27593. llvm-svn: 268468
* You have to call setHasLoadedFieldsFromExternalStorage AFTER callingJim Ingham2016-05-041-1/+1
| | | | | | | | | | | the field_begin that starts the copy or it won't do anything. This causes failures, but only in complex apps, I haven't found a reduced test case for this yet. <rdar://problem/21951798> llvm-svn: 268467
* [sanitizer] Move stat/__xstat to the common interceptorsMike Aizatsky2016-05-036-64/+48
| | | | | | | | | | | | | | | | | | Summary: Adds stat/__xstat to the common interceptors. Removes the now-duplicate stat/__xstat interceptor from msan/tsan/esan. This adds stat/__xstat to asan, which previously did not intercept it. Resubmit of http://reviews.llvm.org/D19875 with win build fixes. Reviewers: aizatsky, eugenis Subscribers: tberghammer, llvm-commits, danalbert, vitalybuka, bruening, srhines, kubabrecka, kcc Differential Revision: http://reviews.llvm.org/D19890 llvm-svn: 268466
OpenPOWER on IntegriCloud