summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [InstSimplify] add tests for abs/nabs+icmp folding; NFCSanjay Patel2018-10-291-0/+401
| | | | llvm-svn: 345541
* [Driver] Include missing touch files for sanitized library pathsPetr Hosek2018-10-292-0/+0
| | | | | | | | These were forgotten in r345537 causing test failures on Clang builders. Differential Revision: https://reviews.llvm.org/D53833 llvm-svn: 345540
* [LoopUnroll] NFC. Factor out runtime-loop.ll common test behavior.Fedor Sergeev2018-10-291-19/+24
| | | | | | | Adding COMMON prefix to get common part handled there. Needed to simplify test changes for D53440. llvm-svn: 345538
* [Driver] Support sanitized libraries on FuchsiaPetr Hosek2018-10-294-6/+53
| | | | | | | | | | When using sanitizers, add <resource_dir>/<target>/lib/<sanitizer> to the list of library paths to support using sanitized version of runtime libraries if available. Differential Revision: https://reviews.llvm.org/D53487 llvm-svn: 345537
* In swiftcall, don't merge FP/vector types within a chunk.John McCall2018-10-294-73/+140
| | | | llvm-svn: 345536
* [MachineOutliner] Inherit target features from parent functionJessica Paquette2018-10-292-1/+19
| | | | | | | | | | | | | | | If a function has target features, it may contain instructions that aren't represented in the default set of instructions. If the outliner pulls out one of these instructions, and the function doesn't have the right attributes attached, we'll run into an LLVM error explaining that the target doesn't support the necessary feature for the instruction. This makes outlined functions inherit target features from their parents. It also updates the machine-outliner.ll test to check that we're properly inheriting target features. llvm-svn: 345535
* [libc++abi] Provide __cxa_thread_atexit on FuchsiaPetr Hosek2018-10-292-3/+3
| | | | | | | | Fuchsia already supports this interface. Differential Revision: https://reviews.llvm.org/D53801 llvm-svn: 345534
* [OPENMP]Fix PR39372: Does not complain about loop bound variable notAlexey Bataev2018-10-2951-348/+356
| | | | | | | | | | | being shared. According to the standard, the variables with unspecified data-sharing attributes in presence of `default(none)` clause must be reported to users. Compiler did not generate error reports for the variables used in other OpenMP regions. Patch fixes this. llvm-svn: 345533
* Relax fast register allocator related test cases; NFCMatthias Braun2018-10-2940-263/+283
| | | | | | | | | | | | | - Relex hard coded registers and stack frame sizes - Some test cleanups - Change phi-dbg.ll to match on mir output after phi elimination instead of going through the whole codegen pipeline. This is in preparation for https://reviews.llvm.org/D52010 I'm committing all the test changes upfront that work before and after independently. llvm-svn: 345532
* [analyzer][NFC] Refactor PlistDiagnostics to use a class instead of passing ↵Kristof Umann2018-10-291-151/+180
| | | | | | | | | | | 9 parameters around This has been a long time coming. Note the usage of AnalyzerOptions: I'll need it for D52742, and added it in rC343620. The main motivation for this was that I'll need to add yet another parameter to every single function, and some functions would reach their 10th parameter with that change. llvm-svn: 345531
* AMDGPU: Switch some lld tests to v2Konstantin Zhuravlyov2018-10-293-5/+5
| | | | | | Differential Revision: https://reviews.llvm.org/D53526 llvm-svn: 345530
* XFAIL test on OS X availabilityEric Fiselier2018-10-292-7/+7
| | | | llvm-svn: 345529
* [X86] Set isMachineVerifierClean() back to false (PR27481)Simon Pilgrim2018-10-291-0/+4
| | | | | | Put back the isMachineVerifierClean() override removed at rL345513 to fix Windows ThinLTO tests llvm-svn: 345528
* [OpenMP] Fix condition.Gheorghe-Teodor Bercea2018-10-294-8/+9
| | | | | | | | | | | | | | Summary: Iteration variable must be strictly less than the number of iterations. This fixes a bug introduced by previous patch D53448. Reviewers: ABataev, caomhin Reviewed By: ABataev Subscribers: guansong, cfe-commits Differential Revision: https://reviews.llvm.org/D53827 llvm-svn: 345527
* Added Phab link for P0927Marshall Clow2018-10-291-2/+2
| | | | llvm-svn: 345526
* Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using ↵Eric Fiselier2018-10-293-4/+153
| | | | | | | | | | | | unsigned division by 2 when possible. Patch by Denis Yaroshevskiy (denis.yaroshevskij@gmail.com) The rational and measurements can be found in the bug description: https://bugs.llvm.org/show_bug.cgi?id=39129 Reviewed as https://reviews.llvm.org/D52697 llvm-svn: 345525
* [HotColdSplitting] Allow outlining single-block cold regionsVedant Kumar2018-10-294-54/+90
| | | | | | | | | | | | | | | | It can be profitable to outline single-block cold regions because they may be large. Allow outlining single-block regions if they have over some threshold of non-debug, non-terminator instructions. I chose 3 as the threshold after experimenting with several internal frameworks. In practice, reducing the threshold further did not give much improvement, whereas increasing it resulted in substantial regressions. Differential Revision: https://reviews.llvm.org/D53824 llvm-svn: 345524
* Fix mismatch between size_t and uint64_t in std::set benchmark.Samuel Benzaquen2018-10-291-3/+3
| | | | llvm-svn: 345523
* [clang-query] Add non-exclusive output APIStephen Kelly2018-10-296-10/+118
| | | | | | | | | | | | | | | | | | | | Summary: Add granular options for AST dumping, text printing and diagnostics. This makes it possible to * Have both diag and dump active at once * Extend the output with other queryable content in the future. Reviewers: aaron.ballman, pcc, ioeric, ilya-biryukov, klimek, sammccall Reviewed By: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D52857 llvm-svn: 345522
* [WebAssembly] Lower away condition truncations for scalar selectsThomas Lively2018-10-293-1/+55
| | | | | | | | | | Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D53676 llvm-svn: 345521
* [X86][SSE] getFauxShuffleMask - Fix shuffle mask adjustment for multiple ↵Simon Pilgrim2018-10-292-4/+100
| | | | | | | | inserted subvectors Part of the issue discovered in PR39483, although its not fully exposed until I reapply rL345395 (by reverting rL345451) llvm-svn: 345520
* [X86] Add AES to KNL CPUs to match clang.Craig Topper2018-10-291-0/+1
| | | | | | I believe this was lost from KNL when AES was pushed from Westmere to Skylake recently. KNL used to inherit from IVB. llvm-svn: 345519
* [AMDGPU] Fixed return value causing warning and regressionStanislav Mekhanoshin2018-10-291-1/+1
| | | | llvm-svn: 345518
* Revert "Revert "Support for groups of attributes in #pragma clang attribute""Erik Pilkington2018-10-299-65/+140
| | | | | | | This reverts commit r345487, which reverted r345486. I think the crashes were caused by an OOM on the builder, trying again to confirm... llvm-svn: 345517
* [libc++] Use exclude_from_explicit_instantiation instead of always_inlineLouis Dionne2018-10-292-1/+17
| | | | | | | | | | | | | | | | | | | | | | | Summary: This commit adopts the exclude_from_explicit_instantiation attribute discussed at [1] and reviewed in [2] in libc++ to supplant the use of __always_inline__ for visibility purposes. This change means that users wanting to link together translation units built with different versions of libc++'s headers into the same final linked image MUST define the _LIBCPP_HIDE_FROM_ABI_PER_TU macro to 1 when building those TUs. Doing otherwise will lead to ODR violations and ABI issues. [1]: http://lists.llvm.org/pipermail/cfe-dev/2018-August/059024.html [2]: https://reviews.llvm.org/D51789 Reviewers: rsmith, EricWF Subscribers: dexonsmith, libcxx-commits Differential Revision: https://reviews.llvm.org/D52405 llvm-svn: 345516
* [AArch64] Rename FP16FML instruction format (NFC)Bryan Chan2018-10-292-72/+78
| | | | | | | Rename SIMDThreeSameMult (etc.) to SIMDThreeSameVectorFML (etc.) to follow usual naming convention, and add some comments in the .td files. llvm-svn: 345515
* [AMDGPU] Match v_swap_b32Stanislav Mekhanoshin2018-10-293-0/+739
| | | | | | Differential Revision: https://reviews.llvm.org/D52677 llvm-svn: 345514
* [X86] Enable the MachineVerifier by defaultFrancis Visoiu Mistrih2018-10-2910-18/+23
| | | | | | | | | | | | | | | The machine verifier was disabled for x86 by default. There are now only 9 tests failing, compared to what previously was between 20 and 30. This is a good opportunity to file bugs for all the remaining issues, then explicitly disable the failing tests and enabling the machine verifier by default. This allows us to avoid adding new tests that break the verifier. PR27481 llvm-svn: 345513
* [Intrinsic] Signed and Unsigned Saturation Subtraction IntirnsicsLeonard Chan2018-10-2916-41/+546
| | | | | | | | | | | | Add an intrinsic that takes 2 integers and perform saturation subtraction on them. This is a part of implementing fixed point arithmetic in clang where some of the more complex operations will be implemented as intrinsics. Differential Revision: https://reviews.llvm.org/D53783 llvm-svn: 345512
* [AArch64] Return address signing B key supportLuke Cheeseman2018-10-292-3/+43
| | | | | | | | | | | - Add support to generate AUTIBSP, PACIBSP, RETAB instructions for return address signing - The key used to sign the function is controlled by the function attribute "sign-return-address-key" Differential Revision: https://reviews.llvm.org/D51427 llvm-svn: 345511
* [AST] Only store the needed data in SwitchStmtBruno Ricci2018-10-299-78/+232
| | | | | | | | | | | | | | | | Don't store the data for the init statement and condition variable if not needed. This cuts the size of SwitchStmt by up to 2 pointers. The order of the children is intentionally kept the same. Also use the newly available space in the bit-fields of Stmt to store the bit representing whether all enums have been covered instead of using a PointerIntPair. Differential Revision: https://reviews.llvm.org/D53714 Reviewed By: rjmccall llvm-svn: 345510
* [OpenMP][NVPTX] Use single loops when generating code for distribute ↵Gheorghe-Teodor Bercea2018-10-2913-213/+529
| | | | | | | | | | | | | | | | parallel for Summary: This patch adds a new code generation path for bound sharing directives containing distribute parallel for. The new code generation scheme applies to chunked schedules on distribute and parallel for directives. The scheme simplifies the code that is being generated by eliminating the need for an outer for loop over chunks for both distribute and parallel for directives. In the case of distribute it applies to any sized chunk while in the parallel for case it only applies when chunk size is 1. Reviewers: ABataev, caomhin Reviewed By: ABataev Subscribers: jholewinski, guansong, cfe-commits Differential Revision: https://reviews.llvm.org/D53448 llvm-svn: 345509
* [LLVM-C] Add Builder Bindings to Common Memory IntrinsicsRobert Widmann2018-10-292-0/+53
| | | | | | | | | | | | | | Summary: Add IRBuilder bindings for memmove, memcpy, and memset. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: harlanhaskins, llvm-commits Differential Revision: https://reviews.llvm.org/D53555 llvm-svn: 345508
* [OpenMP][NVPTX] Enable default scheduling for parallel for in non-SPMD cases.Gheorghe-Teodor Bercea2018-10-292-7/+30
| | | | | | | | | | | | | | Summary: This patch enables the choosing of the default schedule for parallel for loops even in non-SPMD cases. Reviewers: ABataev, caomhin Reviewed By: ABataev Subscribers: jholewinski, guansong, cfe-commits Differential Revision: https://reviews.llvm.org/D53443 llvm-svn: 345507
* [AST] Check that GNU range case statements are correctly imported.Bruno Ricci2018-10-292-0/+16
| | | | | | | | | | The test for case statements did not cover GNU range case statements. Differential Revision: https://reviews.llvm.org/D53610 Reviewed By: rjmccall llvm-svn: 345506
* [OPENMP] Do not capture private loop counters.Alexey Bataev2018-10-2910-31/+116
| | | | | | | | If the loop counter is not declared in the context of the loop and it is private, such loop counters should not be captured in the outlined regions. llvm-svn: 345505
* [git/svn] Ignore Visual Studio's CMakeSettings.json.Michael Kruse2018-10-291-0/+2
| | | | | | | | When using Visual Studio's built-in support for CMake, the CMakeSettings.json contains the build configurations (build dir, generator, toolchain, cmake variables, etc). It is specific to the build machine, therefore should not be versioned. Differential Revision: https://reviews.llvm.org/D53775 llvm-svn: 345504
* [llvm-objdump] Don't crash when using `-a` on non-archivesJames Henderson2018-10-292-4/+29
| | | | | | | | | | | | | This fixes PR39402. The crash was caused when dereferencing nullptr in DumpObject and printArchiveChild. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D53690 Patch by Xing GUO llvm-svn: 345503
* Add the isStaticLocal() AST matcher for matching on local static variables.Aaron Ballman2018-10-294-0/+35
| | | | | | Patch by Joe Ranieri. llvm-svn: 345502
* [X86] Remove outdated testFrancis Visoiu Mistrih2018-10-291-288/+0
| | | | | | | | | | | This test breaks the X86 MachineVerifier. It looks like the MIR part is completely useless. The original author suggests that it can be removed. Differential Revision: https://reviews.llvm.org/D53767 llvm-svn: 345501
* [llvm-mca] Lower to mca::Instructon before the pipeline is run.Andrea Di Biagio2018-10-297-59/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, the lowering of instructions from llvm::MCInst to mca::Instruction was done as part of the first stage of the pipeline (i.e. the FetchStage). In particular, FetchStage was responsible for picking the next instruction from the source sequence, and lower it to an mca::Instruction with the help of an object of class InstrBuilder. The dependency on InstrBuilder was problematic for a number of reasons. Class InstrBuilder only knows how to lower from llvm::MCInst to mca::Instruction. That means, it is hard to support a different scenario where instructions in input are not instances of class llvm::MCInst. Even if we managed to specialize InstrBuilder, and generalize most of its internal logic, the dependency on InstrBuilder in FetchStage would have caused more troubles (other than complicating the pipeline logic). With this patch, the lowering step is done before the pipeline is run. The pipeline is no longer responsible for lowering from MCInst to mca::Instruction. As a consequence of this, the FetchStage no longer needs to interact with an InstrBuilder. The mca::SourceMgr class now simply wraps a reference to a sequence of mca::Instruction objects. This simplifies the logic of FetchStage, and increases the usability of it. As a result, on a debug build, we see a 7-9% speedup; on a release build, the speedup is around 3-4%. llvm-svn: 345500
* [llvm-mca][UpdateTestChecks] Don't try to align blocks that have already ↵Greg Bedwell2018-10-291-4/+8
| | | | | | | | been subject to alignment in update_mca_test_checks.py This fixes PR39466. llvm-svn: 345499
* [LLDB] - Fix outdated comment. NFC.George Rimar2018-10-291-2/+1
| | | | llvm-svn: 345498
* [OpenCL] Fix serialization of OpenCLExtensionDeclsAndrew Savonichev2018-10-293-36/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: I recently discovered that adding the following code into `opencl-c.h` causes failure of `test/Headers/opencl-c-header.cl`: ``` #pragma OPENCL EXTENSION cl_my_ext : begin void cl_my_ext_foobarbaz(); #pragma OPENCL EXTENSIOn cl_my_ext : end ``` Clang crashes at the assertion is `ASTReader::getGlobalSubmoduleID()`: ``` assert(I != M.SubmoduleRemap.end() && "Invalid index into submodule index remap"); ``` The root cause of the problem that to deserialize `OPENCL_EXTENSION_DECLS` section `ASTReader` needs to deserialize a Decl contained in it. In turn, deserializing a Decl requires information about whether this declaration is part of a (sub)module, but this information is not read yet because it is located further in a module file. Reviewers: Anastasia, yaxunl, JDevlieghere Reviewed By: Anastasia Subscribers: sidorovd, cfe-commits, asavonic Differential Revision: https://reviews.llvm.org/D53200 llvm-svn: 345497
* [ASTImporter] Import overrides before importing the rest of the chainGabor Marton2018-10-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | Summary: During method import we check for structural eq of two methods. In the structural eq check we check for their isVirtual() flag. That flag, however, may depend on the number of overrides. Before this change we imported the overrides *after* we had imported the rest of the redecl chain. So, during the import of another decl from the chain IsVirtual() gave false result. Writing tests for this is not really possible, because there is no way to remove an overridden method via the AST API. (We should access the private ASTContext::OverriddenMethods container.) Also, we should do the remove in the middle of the import process. Reviewers: a_sidorin, a.sidorin Subscribers: rnkovacs, dkrupp, Szelethus, cfe-commits Differential Revision: https://reviews.llvm.org/D53704 llvm-svn: 345496
* [llvm-objdump] Add '--full-contents' as alias for '-s'James Henderson2018-10-292-1/+52
| | | | | | | | | | | | This fixes PR39404. Reviewed By: jhenderson Patch by Xing Guo Differential Revision: https://reviews.llvm.org/D53576 llvm-svn: 345495
* Mark test/tsan/getline_nohang as XFAIL for NetBSDKamil Rytarowski2018-10-291-0/+3
| | | | llvm-svn: 345493
* Disable the GNU strerror_r TSan test for NetBSDKamil Rytarowski2018-10-291-5/+3
| | | | | | | | | Revert older change that was incorrect in this test. It was already reverted in the past after an attempt to port it to Darwin. While there, mark FreeBSD as unsupported as well. llvm-svn: 345492
* [ARM][NFC] Fix test inlineasm-X-allocation.llSjoerd Meijer2018-10-291-15/+14
| | | | | | Differential Revision: https://reviews.llvm.org/D53748 llvm-svn: 345491
* Mark test/tsan/ignore_lib5 as unsupported for NetBSDKamil Rytarowski2018-10-291-1/+3
| | | | | | ReadProcMaps() on NetBSD does not handle >=1MB of memory layout information. llvm-svn: 345490
OpenPOWER on IntegriCloud