summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "[ObjC] Allow declaring __weak pointer fields in C structs inAkira Hatanaka2018-03-1218-380/+51
| | | | | | | | | | | ARC." This reverts commit r327206 as there were test failures caused by this patch. http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20180312/221427.html llvm-svn: 327294
* [clangd] Fix diagnostic errors in the test code, NFC.Haojian Wu2018-03-121-1/+3
| | | | | | | | | | | | Reviewers: ilya-biryukov Reviewed By: ilya-biryukov Subscribers: klimek, jkorous-apple, cfe-commits, ioeric Differential Revision: https://reviews.llvm.org/D44294 llvm-svn: 327293
* [X86] Remove use of MVT class from the ShuffleDecode library.Craig Topper2018-03-124-277/+240
| | | | | | | | MVT belongs to the CodeGen layer, but ShuffleDecode is used by the X86 InstPrinter which is part of the MC layer. This only worked because MVT is completely implemented in a header file with no other library dependencies. Differential Revision: https://reviews.llvm.org/D44353 llvm-svn: 327292
* [AMDGPU] Fix lowering enqueue kernel when kernel has no nameYaxun Liu2018-03-122-17/+63
| | | | | | | | | | Since the enqueued kernels have internal linkage, their names may be dropped. In this case, give them unique names __amdgpu_enqueued_kernel or __amdgpu_enqueued_kernel.n where n is a sequential number starting from 1. Differential Revision: https://reviews.llvm.org/D44322 llvm-svn: 327291
* [WebAssembly] Add test for imported ctor and fix indexing bug foundNicholas Wilson2018-03-122-80/+134
| | | | | | | | | This bug was found by accident while trying to expand out testcases for imported symbols, and is covered by the additional test case. Differential Revision: https://reviews.llvm.org/D44331 llvm-svn: 327290
* [X86][Btver2] Extend JWriteResFpuPair to accept resource/uop counts. NFCI.Simon Pilgrim2018-03-121-51/+24
| | | | | | This allows the single resource classes (VarBlend, MPSAD, VarVecShift) to use the JWriteResFpuPair macro. llvm-svn: 327289
* [AMDGPU][MC][DOC] Updated AMD GPU assembler descriptionDmitry Preobrazhensky2018-03-125-29/+5790
| | | | | | | | | See bug 36572: https://bugs.llvm.org/show_bug.cgi?id=36572 Differential Revision: https://reviews.llvm.org/D44020 Reviewers: artem.tamazov, vpykhtin llvm-svn: 327288
* [InstSimplify] add test for m_NegZero with undef elt; NFCSanjay Patel2018-03-121-0/+9
| | | | llvm-svn: 327287
* [WebAssembly] Reorder synthetic functions to come firstNicholas Wilson2018-03-1219-252/+261
| | | | | | | | | This matches the existing ordering that's been there for globals for a while (__stack_pointer coming first). Differential Revision: https://reviews.llvm.org/D44333 llvm-svn: 327286
* [clang-format] Improve detection of Objective-C block typesBen Hamilton2018-03-123-6/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, clang-format would detect the following as an Objective-C block type: FOO(^); when it actually must be a C or C++ macro dealing with an XOR statement or an XOR operator overload. According to the Clang Block Language Spec: https://clang.llvm.org/docs/BlockLanguageSpec.html block types are of the form: int (^)(char, float) and block variables of block type are of the form: void (^blockReturningVoidWithVoidArgument)(void); int (^blockReturningIntWithIntAndCharArguments)(int, char); void (^arrayOfTenBlocksReturningVoidWithIntArgument[10])(int); This tightens up the detection so we don't unnecessarily detect C macros which pass in the XOR operator. Depends On D43904 Test Plan: New tests added. Ran tests with: make -j12 FormatTests && ./tools/clang/unittests/Format/FormatTests Reviewers: krasimir, jolesiak, djasper Reviewed By: djasper Subscribers: djasper, cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D43906 llvm-svn: 327285
* [clang-format] Don't detect C++11 attribute specifiers as ObjCBen Hamilton2018-03-124-29/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, clang-format would detect C++11 and C++17 attribute specifiers like the following as Objective-C method invocations: [[noreturn]]; [[clang::fallthrough]]; [[noreturn, deprecated("so sorry")]]; [[using gsl: suppress("type")]]; To fix this, I ported part of the logic from tools/clang/lib/Parse/ParseTentative.cpp into TokenAnnotator.cpp so we can explicitly parse and identify C++11 attribute specifiers. This allows the guessLanguage() and getStyle() APIs to correctly guess files containing the C++11 attribute specifiers as C++, not Objective-C. Test Plan: New tests added. Ran tests with: make -j12 FormatTests && ./tools/clang/unittests/Format/FormatTests Reviewers: krasimir, jolesiak, djasper Reviewed By: djasper Subscribers: aaron.ballman, cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D43902 llvm-svn: 327284
* [X86][Btver2] Use JWriteResFpuPair wrapper for AES/CLMUL/HADD scheduler ↵Simon Pilgrim2018-03-121-49/+6
| | | | | | | | cases. NFCI. These are single pipe and have the default resource/uop counts like JWriteResFpuPair so there's no need to handle them separately. llvm-svn: 327283
* [clangd] Revamp handling of diagnostics.Ilya Biryukov2018-03-1223-390/+732
| | | | | | | | | | | | | | | | Summary: The new implementation attaches notes to diagnostic message and shows the original diagnostics in the message of the note. Reviewers: hokein, ioeric, sammccall Reviewed By: sammccall Subscribers: klimek, mgorny, cfe-commits, jkorous-apple Differential Revision: https://reviews.llvm.org/D44142 llvm-svn: 327282
* [Hexagon] Add REQUIRES: asserts to testcases that use -statsKrzysztof Parzyszek2018-03-122-0/+2
| | | | llvm-svn: 327281
* [ELF] - Formatted comment, fixed mistype. NFC.George Rimar2018-03-121-3/+2
| | | | llvm-svn: 327280
* [Hexagon] Add REQUIRES: asserts to testcases that use -debug-onlyKrzysztof Parzyszek2018-03-123-1/+3
| | | | llvm-svn: 327279
* [AMDGPU][MC] Corrected GATHER4 opcodesDmitry Preobrazhensky2018-03-1211-3039/+1206
| | | | | | | | | See bug 36252: https://bugs.llvm.org/show_bug.cgi?id=36252 Differential Revision: https://reviews.llvm.org/D43874 Reviewers: artem.tamazov, arsenm llvm-svn: 327278
* [llvm-readobj] Make header self-containedBenjamin Kramer2018-03-121-0/+1
| | | | | | Patch by Dean Sturtevant! llvm-svn: 327277
* Updating MIR Language Reference to include new syntax for symbols and physregs.Puyan Lotfi2018-03-121-32/+32
| | | | | | | External symbols now get the sigil '&' while physical registers get the sigil '$' for their prefix. llvm-svn: 327276
* [clangd] Collect the number of files referencing a symbol in the static index.Sam McCall2018-03-129-25/+89
| | | | | | | | | | | | | | | Summary: This is an important ranking signal. It's off for the dynamic index for now. Correspondingly, tell the index infrastructure only to report declarations for the dynamic index. Reviewers: ioeric, hokein Subscribers: klimek, ilya-biryukov, jkorous-apple, cfe-commits Differential Revision: https://reviews.llvm.org/D44315 llvm-svn: 327275
* [DebugInfo] Replace unreachable with NoneJonas Devlieghere2018-03-121-1/+1
| | | | | | | | | Invalid user input should not trigger assertions and unreachables. We already return an Option so we should just return None here. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5532 llvm-svn: 327274
* [Hexagon] fix 'must explicitly initialize the const member' error which ↵Sam McCall2018-03-121-2/+2
| | | | | | clang 3.8 emits llvm-svn: 327273
* [ELF] - Removed excessive lookup. NFC.George Rimar2018-03-121-3/+2
| | | | llvm-svn: 327272
* [Hexagon] Add more lit testsKrzysztof Parzyszek2018-03-12386-0/+32789
| | | | llvm-svn: 327271
* [analyzer] Trying to fix Windows buildbots after r327258Maxim Ostapenko2018-03-121-1/+1
| | | | llvm-svn: 327270
* AMDGPU/GlobalISel: Legality and RegBankInfo for G_{INSERT|EXTRACT}_VECTOR_ELTMatt Arsenault2018-03-126-0/+462
| | | | llvm-svn: 327269
* AMDGPU/GlobalISel: InstrMapping for G_MERGE_VALUESMatt Arsenault2018-03-123-1/+57
| | | | llvm-svn: 327268
* AMDGPU/GlobalISel: Make some G_MERGE_VALUEs legalMatt Arsenault2018-03-123-0/+174
| | | | llvm-svn: 327267
* Revert r326710 "Fuzzer: remove temporary files after we're done with them."Hans Wennborg2018-03-123-10/+0
| | | | | | | | | | | | This broke some Windows buildbots; see llvm-commits thread. > These were just copies of the relevant fuzzer binary with (presumably) > meaningful suffixes, but accounted for more than 10% of my build > directory (> 8GB). Hard drive space is cheap, but not that cheap. (Also reverts follow-up r326710 which didn't help.) llvm-svn: 327266
* [mips] Split out ASEPredicate from InsnPredicates (NFC)Simon Dardis2018-03-125-38/+38
| | | | | | | | | | | This simplifies tagging instructions with the correct ISA and ASE, albeit making instruction definitions a bit more verbose. Reviewers: atanasyan, abeserminji Differential Revision: https://reviews.llvm.org/D44299 llvm-svn: 327265
* Update the supported C language standards in the user manual.Aaron Ballman2018-03-121-4/+5
| | | | | | Remove mention of -std=c94 (it is spelled iso9899:1994, not c94) and add mention of -std=c17 and -std=gnu17. llvm-svn: 327264
* [analyzer] Trying to fix buildbots after r327258Maxim Ostapenko2018-03-121-2/+2
| | | | llvm-svn: 327263
* MC intel asm parser: Allow @ at the start of function names.Nico Weber2018-03-122-2/+9
| | | | | | | | Ports parts of r193000 to the intel parser. Fixes part of PR36676. https://reviews.llvm.org/D44359 llvm-svn: 327262
* Make lld-link shout at me less.Nico Weber2018-03-124-15/+15
| | | | | | | | | This makes the output of some flag names in warning messages consistent with the output of /? and the output of flags in most other diagnostics. https://reviews.llvm.org/D44307 llvm-svn: 327261
* [ELF] - Change consume()->expect() in INSERT AFTER parsing.George Rimar2018-03-122-1/+7
| | | | | | | | AFTER keyword is mandatory and consume() was used by mistake here. We accepted broken script before this patch, testcase shows the issue. llvm-svn: 327260
* [X86][SSE] createVariablePermute - PSHUFB requires SSSE3 not just SSE3Simon Pilgrim2018-03-122-17/+458
| | | | llvm-svn: 327259
* [analyzer] Add scope information to CFGMaxim Ostapenko2018-03-1212-10/+1437
| | | | | | | | | | | This patch adds two new CFG elements CFGScopeBegin and CFGScopeEnd that indicate when a local scope begins and ends respectively. We use first VarDecl declared in a scope to uniquely identify it and add CFGScopeBegin and CFGScopeEnd elements into corresponding basic blocks. Differential Revision: https://reviews.llvm.org/D16403 llvm-svn: 327258
* [lld-link] For suppressible warnings, print the warning number.Nico Weber2018-03-122-3/+3
| | | | | | | The warning can be suppressed by passing the number to /ignore:. https://reviews.llvm.org/D44297 llvm-svn: 327257
* Fix compilation on Darwin with expensive checks.Jonas Devlieghere2018-03-121-5/+10
| | | | | | | | | | | | | | | | | | After r327219 was landed, the bot with expensive checks on GreenDragon started failing. The problem was missing symbols `regex_t` and `regmatch_t` in `xlocale/_regex.h`. The latter was included because after the change in r327219, `random` is needed, which transitively includes `xlocale.h.` which in turn conditionally includes `xlocale/_regex.h` when _REGEX_H_ is defined. Because this is the header guard in `regex_impl.h` and because `regex_impl.h` was included before the other LLVM includes, `xlocale/_regex.h` was included without the necessary types being available. This commit fixes this by moving the include of `regex_impl.h` all the way down. I also added a comment to stress the significance of its position. llvm-svn: 327256
* clang-format: Properly handle implicit string concatenation in text protosDaniel Jasper2018-03-125-5/+24
| | | | | | | | | | | | | Three issues to fix: - char_constants weren't properly treated as string literals - Prevening the break after "label: " does not make sense in concunction with AlwaysBreakBeforeMultilineStrings. It leads to situations where clang-format just cannot find a viable format (it must break and yet it must not break). - AlwaysBreakBeforeMultilineStrings should not be on for LK_TextProto in Google style. llvm-svn: 327255
* [ThinLTO] Recommit of import global variablesEugene Leviant2018-03-128-23/+170
| | | | | | | This wasreverted in r326638 due to link problems and fixed afterwards llvm-svn: 327254
* Don't re-format raw string literal contents when formatting is disableDaniel Jasper2018-03-122-1/+15
| | | | | | | Not entirely sure this is the best place to put this check, but it fixes the immediate issue. llvm-svn: 327253
* Back out "Re-land: Teach CorrelatedValuePropagation to reduce the width of ↵Justin Lebar2018-03-123-250/+0
| | | | | | | | | | | udiv/urem instructions." This reverts r326908, originally landed as D44102. Reverted for causing performance regressions on x86. (These regressions are not yet understood.) llvm-svn: 327252
* [X86] Don't compute known bits twice for the same SDValue in LowerMUL.Craig Topper2018-03-121-4/+8
| | | | | | We called MaskedValueIsZero with two different masks, but underneath that calls computeKnownBits before applying the mask. This means we compute the same known bits twice due to the two calls. Instead just call computeKnownBits directly and apply the two masks ourselves. llvm-svn: 327251
* [CGP] Fix the remove of matched phis in complex addressing modeSerguei Katkov2018-03-122-1/+40
| | | | | | | | | | | | | | | | | | When we replace the Phi we created with matched ones it is possible that there are two identical phi nodes in IR. And matcher is smart enough to find that new created phi matches both of them. So we try to replace our phi node with matched ones twice and what is bad we delete our phi node twice causing a crash. As soon as we found that we have two identical Phi nodes it makes sense to do a clean-up and replace one phi node by other one. The patch implements it. Reviewers: john.brawn, reames Reviewed By: john.brawn Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D43758 llvm-svn: 327250
* [Driver] Update the comment about incompatible sanitizersPetr Hosek2018-03-121-1/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D44371 llvm-svn: 327249
* For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be atPeter Smith2018-03-1117-42/+85
| | | | | | | | | | | | | | | | | | the start of the .got.plt section so that _GLOBAL_OFFSET_TABLE_[0] = reserved value that is by convention the address of the dynamic section. Previously we had defined _GLOBAL_OFFSET_TABLE_ as either the start or end of the .got section with the intention that the .got.plt section would follow the .got. However this does not always hold with the current default section ordering so _GLOBAL_OFFSET_TABLE_[0] may not be consistent with the reserved first entry of the .got.plt. X86, X86_64, Arm and AArch64 will use the .got.plt. Mips and Power use .got Fixes PR36555 Differential Revision: https://reviews.llvm.org/D44259 llvm-svn: 327248
* [X86][MMX] Support MMX build vectors to avoid SSE usage (PR29222)Simon Pilgrim2018-03-115-1650/+646
| | | | | | | | | | | | 64-bit MMX vector generation usually ends up lowering into SSE instructions before being spilled/reloaded as a MMX type. This patch creates a MMX vector from MMX source values, taking the lowest element from each source and constructing broadcasts/build_vectors with direct calls to the MMX PUNPCKL/PSHUFW intrinsics. We're missing a few consecutive load combines that could be handled in a future patch if that would be useful - my main interest here is just avoiding a lot of the MMX/SSE crossover. Differential Revision: https://reviews.llvm.org/D43618 llvm-svn: 327247
* [X86][AVX512] Added more non-VLX test casesSimon Pilgrim2018-03-112-264/+197
| | | | | | Cleaned up check prefixes so that they actually share a bit more llvm-svn: 327246
* [X86][AVX] createVariablePermute - scale v16i16 variable permutes to use ↵Simon Pilgrim2018-03-112-561/+104
| | | | | | | | v32i8 codegen XOP was already doing this, and now AVX performs v32i8 variable permutes as well. llvm-svn: 327245
OpenPOWER on IntegriCloud