summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [profile] initialize static pool properly Xinliang David Li2016-05-225-13/+20
| | | | | | | Remove dependency on runtime initializer to avoid issues related to initialization order. llvm-svn: 270371
* use 'auto' with 'dyn_cast'; fix formatting; NFCSanjay Patel2016-05-221-10/+8
| | | | llvm-svn: 270370
* [ValueTracking, InstCombine] extend isKnownToBeAPowerOfTwo() to handle ↵Sanjay Patel2016-05-224-13/+8
| | | | | | | | | | | | | | vector splat constants We could try harder to handle non-splat vector constants too, but that seems much rarer to me. Note that the div test isn't resolved because there's a check for isIntegerTy() guarding that transform. Differential Revision: http://reviews.llvm.org/D20497 llvm-svn: 270369
* [driver][mips] Use target triple mips-mti-linux-gnu for toolchain detectionSimon Atanasyan2016-05-222-117/+119
| | | | llvm-svn: 270368
* [driver][mips] Rename some variables to better reflect their purpose. NFCSimon Atanasyan2016-05-221-8/+9
| | | | llvm-svn: 270367
* [driver][mips] Drop support for outdated version of CodeSourcery MIPS toolchainSimon Atanasyan2016-05-22180-752/+1
| | | | llvm-svn: 270366
* Reword ThreadSanitizer messages to use a lowercase 't' in thread names when ↵Kuba Brecka2016-05-221-5/+5
| | | | | | in the middle of a sentence. llvm-svn: 270365
* Reword ThreadSanitizer message for invalid mutex reports.Kuba Brecka2016-05-222-2/+2
| | | | llvm-svn: 270364
* A better fix of incorrectly used locking in HistoryThread and HistoryUnwind.Kuba Brecka2016-05-222-2/+2
| | | | llvm-svn: 270363
* Revert r270358 ("Fix an incorrectly used locking in HistoryThread and ↵Kuba Brecka2016-05-222-2/+4
| | | | | | HistoryUnwind"). llvm-svn: 270359
* Fix an incorrectly used locking in HistoryThread and HistoryUnwind, where ↵Kuba Brecka2016-05-222-4/+2
| | | | | | unique_lock's release() was called causing the mutex to stay locked. llvm-svn: 270358
* [AVX512] Implement missing patterns for any_extend load lowering.Igor Breger2016-05-223-55/+158
| | | | | | Differential Revision: http://reviews.llvm.org/D20513 llvm-svn: 270357
* [AVX512] The AVX512 file only need subtract_subvector index 0 patterns where ↵Craig Topper2016-05-221-15/+35
| | | | | | the source is 512-bits. The 256-bit source patterns were redundant with AVX. llvm-svn: 270356
* [AVX512] Add an AddedComplexity line to the 512-bit insert_subvector undef ↵Craig Topper2016-05-222-14/+16
| | | | | | index 0 patterns. This gives them higher priority than the memory patterns. This matches AVX1/2. llvm-svn: 270355
* [AVX512] Change the AddedComplexity on some patterns to match their AVX/SSE ↵Craig Topper2016-05-221-9/+13
| | | | | | equivalents. This helps group them close together in the isel tables and enable table compression. llvm-svn: 270354
* [AST] Cleanup comments regarding CXXRecordDecl::isEmptyDavid Majnemer2016-05-222-11/+15
| | | | | | | | | We were missing references to the standard, some of our home-grown verbiage didn't make any sense. No functional change is intended. llvm-svn: 270353
* Driver: sink getLinuxDynamicLoader into the ToolchainSaleem Abdulrasool2016-05-223-70/+72
| | | | | | | | The parameter already requires the toolchain, sink the method into the class. This also enables the use of the distro detection logic which will be needed to support Exherbo's multiarch approach. llvm-svn: 270352
* Driver: simplify getDynameLinkerSaleem Abdulrasool2016-05-221-47/+49
| | | | | | | | Convert the cascading if/else to a switch. This makes it easier to follow the logic. Minor difference is that we no longer default to x86_64 but rather to the architecture specified by the architecture. llvm-svn: 270351
* bug fix: trim section specifier name lengthXinliang David Li2016-05-221-2/+2
| | | | llvm-svn: 270350
* bug fix: trim section specifier name lengthXinliang David Li2016-05-221-2/+2
| | | | llvm-svn: 270349
* Store section contents to SectionPiece. NFC.Rui Ueyama2016-05-223-16/+20
| | | | | | So that we don't need to cut a slice when we use a SectionPiece. llvm-svn: 270348
* Use StringPiece::Size instead of calculating it again. NFC.Rui Ueyama2016-05-221-28/+10
| | | | llvm-svn: 270347
* Simplify SplitInputSection::getRangeAndSize.Rui Ueyama2016-05-225-20/+17
| | | | | | | | This patch adds Size member to SectionPiece so that getRangeAndSize can just return a SectionPiece instead of a std::pair<SectionPiece *, uint_t>. Also renamed the function. llvm-svn: 270346
* [X86] Add a common check-prefix to both run lines on a test so identical ↵Craig Topper2016-05-221-361/+168
| | | | | | checks appear just once. llvm-svn: 270345
* [AVX512] Add a couple patterns to fix some cases where two vector mask ↵Craig Topper2016-05-222-12/+15
| | | | | | inversions could appear in a row. llvm-svn: 270344
* [AVX512] Remove seemingly unnecessary AddedComplexity adjustment.Craig Topper2016-05-221-2/+0
| | | | llvm-svn: 270343
* Use slightly longer names. NFC.Rui Ueyama2016-05-222-55/+56
| | | | | | | We generally prefer short names, but this code went probably a bit too far. This patch renames single letter local/member varables. llvm-svn: 270342
* Use ArrayRef<uint8_t> for binary data instead of StringRef. NFC.Rui Ueyama2016-05-222-6/+6
| | | | llvm-svn: 270341
* Define SectionPiece and use it instead of std::pair<uint_t, uint_t>.Rui Ueyama2016-05-225-76/+56
| | | | | | | | | | | | | We were using std::pair to represents pieces of splittable section contents. It hurt readability because "first" and "second" are not meaningful. This patch give them names. One more thing is that piecewise liveness information is stored to the second element of the pair as a special value of output section offset. It was confusing, so I defiend a new bit, "Live", in the new struct. llvm-svn: 270340
* Fix a typo (darwin only)Xinliang David Li2016-05-211-1/+1
| | | | llvm-svn: 270339
* Fix typoXinliang David Li2016-05-212-2/+2
| | | | llvm-svn: 270338
* [profile] Static counter allocation for value profiling (part-2)Xinliang David Li2016-05-2111-24/+136
| | | | | | Differential Revision: http://reviews.llvm.org/D20460 llvm-svn: 270337
* [profile] Static counter allocation for value profiling (part-1)Xinliang David Li2016-05-215-13/+161
| | | | | | Differential Revision: http://reviews.llvm.org/D20459 llvm-svn: 270336
* [X86] Remove unnecessary alignment check on patterns that use VEXTRACTF128 ↵Craig Topper2016-05-211-8/+8
| | | | | | for integer types when only AVX1 is supported. llvm-svn: 270335
* [AVX512] Add patterns for extracting subvectors and storing to memory.Craig Topper2016-05-214-16/+99
| | | | llvm-svn: 270334
* [AVX512] Capitalize the Z in VEXTRACTPSzmr. Lowercase z has been primarily ↵Craig Topper2016-05-211-2/+2
| | | | | | used to indicating the zero masking behavior which is not the case here. NFC llvm-svn: 270333
* [AVX512] Rename vector extract instructions so 'mr' intead of 'rm' to ↵Craig Topper2016-05-211-2/+2
| | | | | | reflect the fact that memory is the destination. llvm-svn: 270332
* [AVX512] Fix copy/paste mistake a I made in a comment.Craig Topper2016-05-211-1/+1
| | | | llvm-svn: 270331
* [X86][AVX] Ensure zero-extension of _mm256_extract_epi8 and _mm256_extract_epi16Simon Pilgrim2016-05-212-9/+7
| | | | | | | | | | Ensure _mm256_extract_epi8 and _mm256_extract_epi16 zero extend their i8/i16 result to i32. This matches _mm_extract_epi8 and _mm_extract_epi16. Fix for PR27594 Differential Revision: http://reviews.llvm.org/D20468 llvm-svn: 270330
* Fix 80-column violation.Chad Rosier2016-05-211-1/+2
| | | | llvm-svn: 270329
* [ELF] Take into account offset in the output section when read addends for a ↵Simon Atanasyan2016-05-213-3/+26
| | | | | | non-alloc input section llvm-svn: 270328
* Use uintX_t instead of unsigned.Rui Ueyama2016-05-212-2/+2
| | | | | | | | This fixes a potential bug when cross linking very large executables on LLP64 machines such as Windows. On such platform, uintX_t is 64 bits while unsigned is 32 bits. llvm-svn: 270327
* Remove dead variable.Rui Ueyama2016-05-211-2/+1
| | | | llvm-svn: 270326
* Split EHOutputSection<ELFT>::addSectionAux. NFC.Rui Ueyama2016-05-211-12/+20
| | | | llvm-svn: 270325
* Swap the arguments of writeAlignedCieOrFde. NFC.Rui Ueyama2016-05-211-7/+7
| | | | | | | | Most functions take destination buffers as the first arguments just like memcpy, so this order is easier to read. Also simplified the function. llvm-svn: 270324
* [LiveIntervalAnalysis] Don't dereference an end iterator in ↵Hal Finkel2016-05-211-1/+1
| | | | | | | | | | | | | | | | repairIntervalsInRange This fixes a bug introduced in: r262115 - CodeGen: Take MachineInstr& in SlotIndexes and LiveIntervals, NFC The iterator End here might == MBB->end(), and so we can't unconditionally dereference it. This often goes unnoticed (I don't have a test case that always crashes, and ASAN does not catch it either) because the function call arguments are turned right back into iterators. MachineInstrBundleIterator's constructor, however, does have an assert which might randomly fire. llvm-svn: 270323
* [Clang][AVX512][intrinsics] Fix rcp and sqrt intrinsics.Michael Zuckerman2016-05-216-27/+52
| | | | | | Differential Revision: http://reviews.llvm.org/D20438 llvm-svn: 270322
* [Clang][AVX512][intrinsics] Fix vscalef intrinsics.Michael Zuckerman2016-05-218-43/+37
| | | | | | Differential Revision: http://reviews.llvm.org/D20324 llvm-svn: 270321
* [llvm-readobj] - Teach readobj to recognize SHF_COMPRESSED flag.George Rimar2016-05-213-2/+19
| | | | | | | | | | | | | | | | | | | | | | | Main problem here was that SHF_COMPRESSED has the same value with XCORE_SHF_CP_SECTION, which was included as standart (common) flag. As far I understand xCore is a family of controllers and it that means it's constant should be processed separately, only if e_machine == EM_XCORE, otherwise llvm-readobj would output different constants twice for compressed section: Flags [ .. SHF_COMPRESSED (0x800) .. XCORE_SHF_CP_SECTION (0x800) .. ] what probably does not make sence if you're not working with xcore file. Differential revision: http://reviews.llvm.org/D20273 llvm-svn: 270320
* [tsan] Don't abort when a deadlock detector finds a mutex cycle longer than 10Kuba Brecka2016-05-213-3/+50
| | | | | | | | In one of the already existing apps that I'm testing TSan on, I really see a mutex path that is longer than 10 (but not by much, something like 11-13 actually). Let's raise this to 20 and weaken the assertion so we don't crash. Differential Revision: http://reviews.llvm.org/D20427 llvm-svn: 270319
OpenPOWER on IntegriCloud