Simon Atanasyan
69a710c03d
[driver][mips] Follow-up to r270373. Add missed folder.
...
llvm-svn: 270380
2016-05-22 22:06:19 +00:00
Simon Pilgrim
1ced2a6390
[X86][SSE] Added extra i8 extract element test
...
llvm-svn: 270379
2016-05-22 20:35:42 +00:00
Sanjay Patel
2959ff4a88
[x86, AVX] don't add a vzeroupper if that's what the code is already doing (PR27823)
...
This isn't the complete fix, but it handles the trivial examples of duplicate vzero* ops in PR27823:
https://llvm.org/bugs/show_bug.cgi?id=27823
...and amusingly, the bogus cases already exist as regression tests, so let's take this baby step.
We'll need to do more in the general case where there's legitimate AVX usage in the function + there's
already a vzero in the code.
Differential Revision: http://reviews.llvm.org/D20477
llvm-svn: 270378
2016-05-22 20:22:47 +00:00
Saleem Abdulrasool
3b0bde2c2c
SymbolFile: remove an unused variable
...
Address a -Wunused-but-set-variable warning from gcc. NFC.
llvm-svn: 270377
2016-05-22 20:16:53 +00:00
Kuba Brecka
83460cfe74
[sanitizer] Don't use -fomit-frame-pointer in COMPILER_RT_DEBUG=On builds
...
Using -fomit-frame-pointer sometimes makes a crash log miss some frames. Let's not use this optimization in debug builds.
Differential Revision: http://reviews.llvm.org/D20425
llvm-svn: 270376
2016-05-22 19:59:06 +00:00
Sanjay Patel
f71fc95173
[x86, AVX] add test file to show vzeroupper pass excesses
...
llvm-svn: 270375
2016-05-22 19:55:48 +00:00
Simon Atanasyan
6c51f5aca8
[driver][mips] clang-format the code. NFC
...
llvm-svn: 270374
2016-05-22 18:18:41 +00:00
Simon Atanasyan
2834a229b2
[driver][mips] Support new versions of MIPS CodeScape toolchains
...
llvm-svn: 270373
2016-05-22 18:18:07 +00:00
Sanjay Patel
a8ef4a5737
reduce indent; NFC
...
llvm-svn: 270372
2016-05-22 17:08:52 +00:00
Xinliang David Li
7b41393497
[profile] initialize static pool properly
...
Remove dependency on runtime initializer to avoid
issues related to initialization order.
llvm-svn: 270371
2016-05-22 16:36:03 +00:00
Sanjay Patel
8ec7e7c216
use 'auto' with 'dyn_cast'; fix formatting; NFC
...
llvm-svn: 270370
2016-05-22 16:07:20 +00:00
Sanjay Patel
e2e89ef936
[ValueTracking, InstCombine] extend isKnownToBeAPowerOfTwo() to handle 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
2016-05-22 15:41:53 +00:00
Simon Atanasyan
4f3fe5b1a6
[driver][mips] Use target triple mips-mti-linux-gnu for toolchain detection
...
llvm-svn: 270368
2016-05-22 15:28:34 +00:00
Simon Atanasyan
cf7ac67f69
[driver][mips] Rename some variables to better reflect their purpose. NFC
...
llvm-svn: 270367
2016-05-22 15:27:58 +00:00
Simon Atanasyan
74468a5bc9
[driver][mips] Drop support for outdated version of CodeSourcery MIPS toolchain
...
llvm-svn: 270366
2016-05-22 15:27:36 +00:00
Kuba Brecka
1a349b8d65
Reword ThreadSanitizer messages to use a lowercase 't' in thread names when in the middle of a sentence.
...
llvm-svn: 270365
2016-05-22 14:56:33 +00:00
Kuba Brecka
52ded8072a
Reword ThreadSanitizer message for invalid mutex reports.
...
llvm-svn: 270364
2016-05-22 14:32:45 +00:00
Kuba Brecka
00d7c563d2
A better fix of incorrectly used locking in HistoryThread and HistoryUnwind.
...
llvm-svn: 270363
2016-05-22 14:19:11 +00:00
Kuba Brecka
d9b228128b
Revert r270358 ("Fix an incorrectly used locking in HistoryThread and HistoryUnwind").
...
llvm-svn: 270359
2016-05-22 14:05:28 +00:00
Kuba Brecka
7380f25d29
Fix an incorrectly used locking in HistoryThread and HistoryUnwind, where unique_lock's release() was called causing the mutex to stay locked.
...
llvm-svn: 270358
2016-05-22 12:24:38 +00:00
Igor Breger
2ba64ab9ae
[AVX512] Implement missing patterns for any_extend load lowering.
...
Differential Revision: http://reviews.llvm.org/D20513
llvm-svn: 270357
2016-05-22 10:21:04 +00:00
Craig Topper
5f3fef884f
[AVX512] The AVX512 file only need subtract_subvector index 0 patterns where the source is 512-bits. The 256-bit source patterns were redundant with AVX.
...
llvm-svn: 270356
2016-05-22 07:40:58 +00:00
Craig Topper
a1041ff001
[AVX512] Add an AddedComplexity line to the 512-bit insert_subvector undef index 0 patterns. This gives them higher priority than the memory patterns. This matches AVX1/2.
...
llvm-svn: 270355
2016-05-22 07:40:40 +00:00
Craig Topper
de5498546e
[AVX512] Change the AddedComplexity on some patterns to match their AVX/SSE equivalents. This helps group them close together in the isel tables and enable table compression.
...
llvm-svn: 270354
2016-05-22 06:09:34 +00:00
David Majnemer
5cfda6feb1
[AST] Cleanup comments regarding CXXRecordDecl::isEmpty
...
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
2016-05-22 05:34:26 +00:00
Saleem Abdulrasool
783fc635f6
Driver: sink getLinuxDynamicLoader into the Toolchain
...
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
2016-05-22 03:12:19 +00:00
Saleem Abdulrasool
c9befbf552
Driver: simplify getDynameLinker
...
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
2016-05-22 01:37:36 +00:00
Xinliang David Li
9235d9f6d7
bug fix: trim section specifier name length
...
llvm-svn: 270350
2016-05-22 01:21:31 +00:00
Xinliang David Li
6edd9376d4
bug fix: trim section specifier name length
...
llvm-svn: 270349
2016-05-22 01:21:21 +00:00
Rui Ueyama
34dc99e2c5
Store section contents to SectionPiece. NFC.
...
So that we don't need to cut a slice when we use a SectionPiece.
llvm-svn: 270348
2016-05-22 01:15:32 +00:00
Rui Ueyama
c6ebb02fca
Use StringPiece::Size instead of calculating it again. NFC.
...
llvm-svn: 270347
2016-05-22 01:03:41 +00:00
Rui Ueyama
90fa3722d2
Simplify SplitInputSection::getRangeAndSize.
...
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
2016-05-22 00:41:38 +00:00
Craig Topper
dca03f8596
[X86] Add a common check-prefix to both run lines on a test so identical checks appear just once.
...
llvm-svn: 270345
2016-05-22 00:39:33 +00:00
Craig Topper
33c550cb95
[AVX512] Add a couple patterns to fix some cases where two vector mask inversions could appear in a row.
...
llvm-svn: 270344
2016-05-22 00:39:30 +00:00
Craig Topper
dbac1ff9c1
[AVX512] Remove seemingly unnecessary AddedComplexity adjustment.
...
llvm-svn: 270343
2016-05-22 00:39:27 +00:00
Rui Ueyama
1080351987
Use slightly longer names. NFC.
...
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
2016-05-22 00:25:30 +00:00
Rui Ueyama
644ac656b1
Use ArrayRef<uint8_t> for binary data instead of StringRef. NFC.
...
llvm-svn: 270341
2016-05-22 00:17:11 +00:00
Rui Ueyama
3ea8727188
Define SectionPiece and use it instead of std::pair<uint_t, uint_t>.
...
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
2016-05-22 00:13:04 +00:00
Xinliang David Li
31023d3061
Fix a typo (darwin only)
...
llvm-svn: 270339
2016-05-21 23:27:18 +00:00
Xinliang David Li
2a99857e1a
Fix typo
...
llvm-svn: 270338
2016-05-21 23:06:39 +00:00
Xinliang David Li
4e8754d2cb
[profile] Static counter allocation for value profiling (part-2)
...
Differential Revision: http://reviews.llvm.org/D20460
llvm-svn: 270337
2016-05-21 22:55:45 +00:00
Xinliang David Li
b628dd3568
[profile] Static counter allocation for value profiling (part-1)
...
Differential Revision: http://reviews.llvm.org/D20459
llvm-svn: 270336
2016-05-21 22:55:34 +00:00
Craig Topper
3fc3b4453d
[X86] Remove unnecessary alignment check on patterns that use VEXTRACTF128 for integer types when only AVX1 is supported.
...
llvm-svn: 270335
2016-05-21 22:50:18 +00:00
Craig Topper
db960eddfa
[AVX512] Add patterns for extracting subvectors and storing to memory.
...
llvm-svn: 270334
2016-05-21 22:50:14 +00:00
Craig Topper
03b849eb44
[AVX512] Capitalize the Z in VEXTRACTPSzmr. Lowercase z has been primarily used to indicating the zero masking behavior which is not the case here. NFC
...
llvm-svn: 270333
2016-05-21 22:50:11 +00:00
Craig Topper
d5da6a39f2
[AVX512] Rename vector extract instructions so 'mr' intead of 'rm' to reflect the fact that memory is the destination.
...
llvm-svn: 270332
2016-05-21 22:50:09 +00:00
Craig Topper
08a6857c82
[AVX512] Fix copy/paste mistake a I made in a comment.
...
llvm-svn: 270331
2016-05-21 22:50:04 +00:00
Simon Pilgrim
28666ce778
[X86][AVX] Ensure zero-extension of _mm256_extract_epi8 and _mm256_extract_epi16
...
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
2016-05-21 21:14:35 +00:00
Chad Rosier
56def258e3
Fix 80-column violation.
...
llvm-svn: 270329
2016-05-21 21:12:06 +00:00
Simon Atanasyan
1c980ca5aa
[ELF] Take into account offset in the output section when read addends for a non-alloc input section
...
llvm-svn: 270328
2016-05-21 19:48:54 +00:00