summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [llvm-ar] Uncapitalize error messages and delete full stopFangrui Song2019-09-1420-56/+55
| | | | | | | | | | | | Most GNU binutils don't append full stops in error messages. This convention has been adopted by a bunch of LLVM binary utilities. Make llvm-ar follow the convention as well. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D67558 llvm-svn: 371912
* [llvm-objcopy] Add support for response files in llvm-strip and llvm-objcopyMichael Pozulp2019-09-146-6/+66
| | | | | | | | | | | | | | | | Summary: Addresses https://bugs.llvm.org/show_bug.cgi?id=42671 Reviewers: jhenderson, espindola, alexshap, rupprecht Reviewed By: jhenderson Subscribers: seiya, emaste, arichardson, jakehehrlich, MaskRay, abrachet, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65372 llvm-svn: 371911
* Bugpoint: Remove some unnecessary c_str conversions on the journey to StringRefDavid Blaikie2019-09-141-8/+8
| | | | llvm-svn: 371910
* [Reproducer] Add reproducer dump command.Jonas Devlieghere2019-09-136-13/+280
| | | | | | | | | | | This adds a reproducer dump commands which makes it possible to inspect a reproducer from inside LLDB. Currently it supports the Files, Commands and Version providers. I'm planning to add support for the GDB Remote provider in a follow-up patch. Differential revision: https://reviews.llvm.org/D67474 llvm-svn: 371909
* [Reproducer] Move GDB Remote Packet into Utility. (NFC)Jonas Devlieghere2019-09-1317-246/+237
| | | | | | | | | | | | | | To support dumping the reproducer's GDB remote packets, we need the (de)serialization logic to live in Utility rather than the GDB remote plugin. This patch renames StreamGDBRemote to GDBRemote and moves the relevant packet code there. Its uses in the GDBRemoteCommunicationHistory and the GDBRemoteCommunicationReplayServer are updated as well. Differential revision: https://reviews.llvm.org/D67523 llvm-svn: 371907
* [WebAssembly] Narrowing and widening SIMD opsThomas Lively2019-09-137-0/+372
| | | | | | | | | | | | | | | | Summary: Implements target-specific LLVM intrinsics and clang builtins for these new SIMD operations, as described at https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#integer-to-integer-narrowing. Reviewers: aheejin Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D67425 llvm-svn: 371906
* [test] Update TestAPILog to pass on Windows.Jonas Devlieghere2019-09-131-2/+2
| | | | | | | The pretty function macro is including __cdecl on Windows, which was causing the pattern matching to fail. This should fix that. llvm-svn: 371905
* Make test check position independent as they sometimes come out reversed. NFCI.Douglas Yung2019-09-131-2/+2
| | | | llvm-svn: 371904
* [clang-scan-deps] Fix for headers having the same name as a directoryAlex Lorenz2019-09-135-0/+31
| | | | | | | | | | | | Scan deps tool crashes when called on a C++ file, containing an include that has the same name as a directory. The tool crashes since it finds foo/dir and tries to read that as a file and fails. Patch by: kousikk (Kousik Kumar) Differential Revision: https://reviews.llvm.org/D67091 llvm-svn: 371903
* [LLDB] Add missing breaks for switch statementTim Shen2019-09-131-0/+3
| | | | llvm-svn: 371902
* [GlobalISel] Fix insertion point of new instructions to be after PHIs.Amara Emerson2019-09-133-4/+53
| | | | | | | | | | For some reason we sometimes insert new instructions one instruction before the first non-PHI when legalizing. This can result in having non-PHI instructions before PHIs, which mean that PHI elimination doesn't catch them. Differential Revision: https://reviews.llvm.org/D67570 llvm-svn: 371901
* [NFC][libLTO] Rearrange declaration in lto.hSteven Wu2019-09-131-42/+42
| | | | | | | | | | | | | | | | | | Summary: Rearrange the function declaration in lto.h so they falls in the correct doxygen group. Reviewers: tejohnson, bd1976llvm, deadalnix Reviewed By: tejohnson Subscribers: mehdi_amini, inglorion, jkorous, dexonsmith, ributzka, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67565 llvm-svn: 371900
* [test] Print the log output on failure.Jonas Devlieghere2019-09-131-2/+2
| | | | | | | | This ensures that if the assertion fails we dump the log content. This should help me investigate what the output looks like on Windows, where the test is failing. llvm-svn: 371899
* Add dependency from Orc to PassesSanjoy Das2019-09-131-2/+2
| | | | | | | | | | | | | | Summary: Orc uses registerFunctionAnalyses that's defined in Passes. Reviewers: dblaikie Subscribers: mcrosier, bixia, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67477 llvm-svn: 371898
* Fix test to use %t for newly created files.Tim Shen2019-09-131-5/+5
| | | | | | | | This is both for consistency with other `mkdir`s in tests, and fixing permission issues with the non-temporary cwd during testing (they are not always writable). llvm-svn: 371897
* [llvm-opt-report] Improve error handlingFrancis Visoiu Mistrih2019-09-131-3/+5
| | | | | | | | * std::move the error extracted from the parsing creation to avoid asserts * print a newline after the error message * create the parser from the metadata llvm-svn: 371895
* Fix C++03 build failures due to >>Eric Fiselier2019-09-131-1/+1
| | | | llvm-svn: 371894
* [AArch64][GlobalISel] Tail call memory intrinsicsJessica Paquette2019-09-135-13/+131
| | | | | | | | | | | | | | | | | | | | | | Because memory intrinsics are handled differently than other calls, we need to check them for tail call eligiblity in the legalizer. This allows us to still inline them when it's beneficial to do so, but also tail call when possible. This adds simple tail calling support for when the intrinsic is followed by a return. It ports the attribute checks from `TargetLowering::isInTailCallPosition` into a similarly-named function in LegalizerHelper.cpp. The target-specific `isUsedByReturnOnly` hook is not ported here. Update tailcall-mem-intrinsics.ll to show that GlobalISel can now tail call memory intrinsics. Update legalize-memcpy-et-al.mir to have a case where we don't tail call. Differential Revision: https://reviews.llvm.org/D67566 llvm-svn: 371893
* [OPENMP5.0]Add basic support for declare variant directive.Alexey Bataev2019-09-1313-91/+804
| | | | | | | Added basic support for declare variant directive and its match clause with user context selector. llvm-svn: 371892
* [Support] Add overload writeFileAtomically(std::function Writer)Jan Korous2019-09-137-130/+145
| | | | | | Differential Revision: https://reviews.llvm.org/D67424 llvm-svn: 371890
* [Docs] Bug fix for reference to nonexistent documentDeForest Richards2019-09-131-3/+5
| | | | | | This commit fixes a bug in which the toctree contained a reference to a non-existent document. llvm-svn: 371889
* [FPEnv] Document that constrained FP intrinsics cannot be mixed with ↵Kevin P. Neal2019-09-131-7/+16
| | | | | | | | | | non-constrained Reviewed by: andrew.w.kaylor, cameron.mcinally, uweigand Approved by: andrew.w.kaylor Differential Revision: https://reviews.llvm.org/D67360 llvm-svn: 371888
* [aarch64] move custom isel of extract_vector_elt to td file - NFCSebastian Pop2019-09-132-43/+10
| | | | | | | | | | | | | | | | | | | In preparation for def-pat selection of dot product instructions, this patch moves the custom instruction selection of extract_vector_elt to the td file. Without this change it is impossible to catch a pattern that starts with an extract_vector_elt: the custom cpp code is executed first ahead of the patterns in the td files that are only executed at the end of the switch statement in SelectCode(Node). With this patch applied, it becomes possible to select a different pattern that starts with extract_vector_elt by selecting a higher complexity than this pattern. The patch has been tested on aarch64-linux with make check-all. Differential Revision: https://reviews.llvm.org/D67497 llvm-svn: 371887
* Mark [[nodiscard]] test as unsupported with GCC 5Eric Fiselier2019-09-131-0/+1
| | | | llvm-svn: 371886
* [Reproducer] Include the this pointer in the API log.Jonas Devlieghere2019-09-132-10/+58
| | | | | | | | | | | | | | | The new centralized way of doing API logging through the reproducer macros is lacking a way to easily correlate instances of API objects. Logging the this pointer makes that significantly easier. For methods this is now always passed as the first argument, similar to the self argument in Python. This patch also adds a test case for API logging, which uncovered that we were not quoting strings. Differential revision: https://reviews.llvm.org/D67538 llvm-svn: 371885
* Fix pretty printer test with GCCEric Fiselier2019-09-131-3/+14
| | | | llvm-svn: 371884
* AArch64: fix EXPENSIVE_CHECKS for arm64_32.Tim Northover2019-09-131-1/+1
| | | | | | | For some reason I'd decided to mark the end-result of a GOT load as dead. It's clearly not (necessarily). llvm-svn: 371883
* Fix error in ProcessLauncherWindows.cppAdrian McCarthy2019-09-131-1/+1
| | | | | | Restored missing parens on a function call. llvm-svn: 371882
* Update XFAIL list for new GCC versionsEric Fiselier2019-09-131-1/+1
| | | | llvm-svn: 371881
* Fix various test failures with GCCEric Fiselier2019-09-133-5/+9
| | | | llvm-svn: 371880
* [SLP] add test for vectorization of constant expressions; NFCSanjay Patel2019-09-131-0/+13
| | | | | | Goes with D67362. llvm-svn: 371879
* Reland r371785: Add -Wpoison-system-directories warningManoj Gupta2019-09-138-0/+41
| | | | | | | | | | | | | | | | | | | | When using clang as a cross-compiler, we should not use system headers to do the compilation. This CL adds support of a new warning flag -Wpoison-system-directories which emits warnings if --sysroot is set and headers from common host system location are used. By default the warning is disabled. The intention of the warning is to catch bad includes which are usually generated by third party build system not targeting cross-compilation. Such cases happen in Chrome OS when someone imports a new package or upgrade one to a newer version from upstream. This is reland of r371785 with a fix to test file. Patch by: denik (Denis Nikitin) llvm-svn: 371878
* [NFC][InstSimplify] Add some more tests for D67498/D67502Roman Lebedev2019-09-132-0/+68
| | | | llvm-svn: 371877
* Fix build error in 371875Erich Keane2019-09-131-2/+2
| | | | | | | | | Apparently Clang complains about the name hiding here in a way that my GCC build does not, so a shocking number of buildbots decided to tell me about it. Change the name of the variable to prevent the name hiding and hope we don't have to fix this again. llvm-svn: 371876
* [NFCI]Create CommonAttributeInfo Type as base type of *Attr and ParsedAttr.Erich Keane2019-09-1330-1201/+1082
| | | | | | | | | | | | In order to enable future improvements to our attribute diagnostics, this moves info from ParsedAttr into CommonAttributeInfo, then makes this type the base of the *Attr and ParsedAttr types. Quite a bit of refactoring took place, including removing a bunch of redundant Spelling Index propogation. Differential Revision: https://reviews.llvm.org/D67368 llvm-svn: 371875
* Fix failing negative compilation test for some versions of ClangEric Fiselier2019-09-131-0/+1
| | | | llvm-svn: 371874
* Revert for: [AMDGPU]: PHI Elimination hooks added for custom COPY insertion.Alexander Timofeev2019-09-137-142/+20
| | | | llvm-svn: 371873
* Fix bug in `darwin_test_archs()` when the cache variable is set but empty.Dan Liew2019-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: If the cache variable named in `${valid_archs}` (e.g. `DARWIN_osx_BUILTIN_ARCHS`) is set in the cache but is empty then the cache check `if(${valid_archs})` will be false so the function will probe the compiler but the `set(...)` command at the end of the function to update the cache variable will be a no-op. This is because `set(...)` will not update an existing cache variable unless the `FORCE` argument is provided. To fix this this patch adds `FORCE` so the cache is always updated. rdar://problem/55323665 Reviewers: vsk, kubamracek Subscribers: mgorny, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D67530 llvm-svn: 371872
* [CMake] Separate the detection Darwin platforms architectures for theDan Liew2019-09-132-31/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | built-ins from the rest of compiler-rt. The detection of supported platform (os) architectures for Darwin relies on the `darwin_test_archs()` CMake function. This is used both for building the builtins (`builtin-config-ix.cmake`) and for the rest of the compiler-rt (`config-ix.cmake`). `darwin_test_archs()` implements a cache, presumably to speed up CMake re-configures. Unfortunately this caching is buggy because it depends on external global state (i.e. the `TEST_COMPILE_ONLY` variable) and this is not taken into account. For `config-ix.cmake` `TEST_COMPILE_ONLY` is not set and for `builtin-config-ix.cmake` `TEST_COMPILE_ONLY` is set to `On`. This makes the `darwin_test_archs()` function racey in the sense that a call from one calling context will poison the cache for the other calling context. This is actually an issue George Karpenkov discovered a while back and had an incomplete patch for (https://reviews.llvm.org/D45337) but this was never merged. To workaround this, this patch switches to using a different set of variables for the platform architecture builtins, i.e. `DARWIN_<OS>_ARCHS` -> `DARWIN_<OS>_BUILTIN_ARCHS`. This avoids the cache poisoning problem because the cached variable names are different. This also has the advantage that the the configured architectures for builtins and the rest of the compiler-rt are now independent and can be set differently if necessary. Note in `darwin_test_archs()` we also now pass `-w` to the compiler because `try_compile_only()` treats compiler warnings as errors. This was extremely fragile because compiler warnings (can easily appear due to a buggy compiler or SDK headers) would cause compiler-rt to think an architecture on Darwin wasn't supported. rdar://problem/48637491 llvm-svn: 371871
* [Remarks][NFC] Forward declare ParsedStringTableFrancis Visoiu Mistrih2019-09-132-1/+4
| | | | llvm-svn: 371870
* [Remarks][NFC] Use StringLiteral for magic numbersFrancis Visoiu Mistrih2019-09-132-2/+2
| | | | llvm-svn: 371869
* [AArch64][GlobalISel] Add support for sibcalling callees with varargsJessica Paquette2019-09-132-20/+44
| | | | | | | | | | | | | | | This adds support for tail calling callees with varargs, equivalent to how it is done in AArch64ISelLowering. This only works for sibling calls, and does not add the necessary support for musttail with varargs. (See r345641 for equivalent ISelLowering support.) This should be implemented when we stop falling back on musttail. Update call-translator-tail-call.ll to show that we can now tail call varargs. Differential Revision: https://reviews.llvm.org/D67518 llvm-svn: 371868
* Recommit r370502: Make `vector` unconditionally move elements whenEric Fiselier2019-09-135-55/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exceptions are disabled. The patch was reverted due to some confusion about non-movable types. ie types that explicitly delete their move constructors. However, such types do not meet the requirement for `MoveConstructible`, which is required by `std::vector`: Summary: `std::vector<T>` is free choose between using copy or move operations when it needs to resize. The standard only candidates that the correct exception safety guarantees are provided. When exceptions are disabled these guarantees are trivially satisfied. Meaning vector is free to optimize it's implementation by moving instead of copying. This patch makes `std::vector` unconditionally move elements when exceptions are disabled. This optimization is conforming according to the current standard wording. There are concerns that moving in `-fno-noexceptions`mode will be a surprise to users. For example, a user may be surprised to find their code is slower with exceptions enabled than it is disabled. I'm sympathetic to this surprised, but I don't think it should block this optimization. Reviewers: mclow.lists, ldionne, rsmith Reviewed By: ldionne Subscribers: zoecarver, christof, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D62228 llvm-svn: 371867
* [lldb] - Update unit tests after lib/ObjectYAML change.George Rimar2019-09-132-5/+8
| | | | | | An update after r371865 llvm-svn: 371866
* [yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors ↵George Rimar2019-09-1321-345/+350
| | | | | | | | | | | | | | | | | | | | | handlers. This is a continuation of the YAML library error reporting refactoring/improvement and the idea by itself was mentioned in the following thread: https://reviews.llvm.org/D67182?id=218714#inline-603404 This performs a cleanup of all object emitters in the library. It allows using the custom one provided by the caller. One of the nice things is that each tool can now print its tool name, e.g: "yaml2obj: error: <text>" Also, the code became a bit simpler. Differential revision: https://reviews.llvm.org/D67445 llvm-svn: 371865
* Only initialize the streams cout/wcout/cerr/wcerr etc once, rather than any ↵Marshall Clow2019-09-132-2/+49
| | | | | | time Init::Init is called. Fixes PR#43300 llvm-svn: 371864
* Fix build in C++20Eric Fiselier2019-09-131-2/+2
| | | | llvm-svn: 371863
* [docs][llvm-readelf][llvm-readobj] Improve --stack-sizes documentationJames Henderson2019-09-132-1/+8
| | | | | | | | | | | | | llvm-readobj's document was missing --stack-sizes entirely from its document, so this patch adds it. It also adds a note to the llvm-readelf description that the switch is only implemented for GNU style output currently. For reference, --stack-sizes was added in r367942. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D67548 llvm-svn: 371862
* [X86] Use incDecVectorConstant to simplify the min/max code in LowerVSETCC.Craig Topper2019-09-131-14/+12
| | | | | | | incDecVectorConstant is used for a similar reason in LowerVSETCCWithSUBUS so we might as well share the code. llvm-svn: 371861
* Fix a few spellos in docs.Nico Weber2019-09-138-21/+21
| | | | | | (Trying to debug an incremental build thing on a bot...) llvm-svn: 371860
OpenPOWER on IntegriCloud