aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-05[mlir] Fix Analysis/Presburger/Utils.cpp compilation with GCC 11linaro-local/ci/tcwg_kernel/llvm-release-arm-stable-defconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-stable-allnoconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-stable-allmodconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-norov-defconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-norov-allyesconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-norov-allnoconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-norov-allmodconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-next-defconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-next-allnoconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-mainline-defconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-mainline-allyesconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-mainline-allnoconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-mainline-allmodconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-lts-defconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-lts-allyesconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-lts-allnoconfiglinaro-local/ci/tcwg_kernel/llvm-release-arm-lts-allmodconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-stable-defconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-stable-allyesconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-stable-allnoconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-stable-allmodconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-norov-allnoconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-norov-allmodconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-next-defconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-next-allyesconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-next-allnoconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-next-allmodconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-mainline-defconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-mainline-allyesconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-mainline-allnoconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-mainline-allmodconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-lts-defconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-lts-allyesconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-lts-allnoconfiglinaro-local/ci/tcwg_kernel/llvm-release-aarch64-lts-allmodconfiglinaro-local/ci/tcwg_bmk_llvm_tx1/llvm-release-aarch64-spec2k6-O3_LTOlinaro-local/ci/tcwg_bmk_llvm_tx1/llvm-release-aarch64-spec2k6-O3linaro-local/ci/tcwg_bmk_llvm_tx1/llvm-release-aarch64-spec2k6-O2_LTOlinaro-local/ci/tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-O3_LTORainer Orth
As reported in Issue #56850, mlir/lib/Analysis/Presburger/Utils.cpp doesn't compile on Solaris 11.4/SPARC with the bundled GCC 11, as seen when testing LLVM 15.0.0 rc1: /var/llvm/reltest/llvm-15.0.0-rc1/rc1/llvm-project/mlir/include/mlir/Analysis/Presburger/MPInt.h:260:47: error: inlining failed in call to ‘always_inline’ ‘int64_t mlir::presburger::int64FromMPInt(const mlir::presburger::MPInt&)’: indirect function call with a yet undetermined callee This patch hacks around this and allowed the build to finish. Tested on `sparcv9-sun-solaris2.11`. Differential Revision: https://reviews.llvm.org/D131060 (cherry picked from commit 75747e6e11aed9ed75d27527e9262cedb2e3f887)
2022-08-05[C++2b] [Modules] Handle HaveModules with C++2bChuanqi Xu
Closing https://github.com/llvm/llvm-project/issues/56803. The root cause for this bug is that we lack a good method to detect the language mdoe when parsing the command line. There is a FIXME too. Dut to we lack a good solution now, keep the workaround. (cherry picked from commit 834a878367f549c58313200ce2c3a0da1a29d842)
2022-08-05Revert "[X86][DAGISel] Don't widen shuffle element with AVX512"Florian Hahn
This reverts commit 5fb41342105700949c81f68aefc85d9c46e9a1a6. This patch is causing crashes when building llvm-test-suite when optimizing for CPUs with AVX512. Reproducer crashing with llc: target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-apple-macosx" define i32 @test(<32 x i32> %0) #0 { entry: %1 = mul <32 x i32> %0, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1> %2 = tail call i32 @llvm.vector.reduce.add.v32i32(<32 x i32> %1) ret i32 %2 } ; Function Attrs: nocallback nofree nosync nounwind readnone willreturn declare i32 @llvm.vector.reduce.add.v32i32(<32 x i32>) #1 attributes #0 = { "min-legal-vector-width"="0" "target-cpu"="skylake-avx512" } attributes #1 = { nocallback nofree nosync nounwind readnone willreturn } (cherry picked from commit f912bab111add1275fcaf5f24e4d3654127972d0)
2022-08-05[LLD] [MachO] Fix GCC build warningsMartin Storsjö
This fixes the following warnings produced by GCC 9: ../tools/lld/MachO/Arch/ARM64.cpp: In member function ‘void {anonymous}::OptimizationHintContext::applyAdrpLdr(const lld::macho::OptimizationHint&)’: ../tools/lld/MachO/Arch/ARM64.cpp:448:18: warning: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long int’} and ‘uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare] 448 | if (ldr.offset != (rel1->referentVA & 0xfff)) | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../tools/lld/MachO/UnwindInfoSection.cpp: In function ‘bool canFoldEncoding(compact_unwind_encoding_t)’: ../tools/lld/MachO/UnwindInfoSection.cpp:404:44: warning: comparison between ‘enum<unnamed>’ and ‘enum<unnamed>’ [-Wenum-compare] 404 | static_assert(UNWIND_X86_64_MODE_MASK == UNWIND_X86_MODE_MASK, ""); | ^~~~~~~~~~~~~~~~~~~~ ../tools/lld/MachO/UnwindInfoSection.cpp:405:49: warning: comparison between ‘enum<unnamed>’ and ‘enum<unnamed>’ [-Wenum-compare] 405 | static_assert(UNWIND_X86_64_MODE_STACK_IND == UNWIND_X86_MODE_STACK_IND, ""); | ^~~~~~~~~~~~~~~~~~~~~~~~~ Differential Revision: https://reviews.llvm.org/D130970 (cherry picked from commit 59c6f418fa3c5d6f5c8b75ebd817be8113de7931)
2022-08-05[lldb] Silence a GCC warning about missing returns after a fully covered ↵Martin Storsjö
switch. NFC. (cherry picked from commit b7c5683fac3de2f3349d57b9e133ac53204b1148)
2022-08-05[RISCV] Prevent infinite loop after D129980.Craig Topper
D129980 converts (seteq (i64 (and X, 0xffffffff)), C1) into (seteq (i64 (sext_inreg X, i32)), C1). If bit 31 of X is 0, it will be turned back into an 'and' by SimplifyDemandedBits which can cause an infinite loop. To prevent this, check if bit 31 is 0 with computeKnownBits before doing the transformation. Fixes PR56905. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D131113 (cherry picked from commit 53d560b22f5b5d91ae5296f030e0ca75a5d2c625)
2022-08-05[RISCV][NFC] Use defined variable instead some code.wanglian
Reviewed By: asb Differential Revision: https://reviews.llvm.org/D130687 (cherry picked from commit e208bab55fb11a69931a02dec8583a8ec5f94bbf)
2022-08-05[libc++] Simplify how we define the linker script for libc++Louis Dionne
Trying to be generic didn't work properly because we had to special-case some interface libraries that we didn't want in the linker script. Instead, only look at the ABI and the unwinding libraries explicitly. This should solve the issue reported by @dim in [1]. [1]: https://discourse.llvm.org/t/15-0-0-rc1-has-been-tagged/64174/22 Differential Revision: https://reviews.llvm.org/D131037 (cherry picked from commit b7fb8563974d83f9eb8191fdfbebfd04147a2cbd)
2022-08-05[libc++] More documentation improvements about running testsLouis Dionne
(cherry picked from commit 3d5d44269c933849068c073f356002940f85bce4)
2022-08-05[libc++][ranges] Implement `ranges::{prev, next}_permutation`.Nikolas Klauser
Co-authored-by: Konstantin Varlamov <varconst@apple.com> Differential Revision: https://reviews.llvm.org/D129859 (cherry picked from commit 68264b649461206dc095e672eacf8a003e0b9e49)
2022-08-05[libc++][test] Replace `_LIBCPP_STD_VER` with `TEST_STD_VER`cpplearner
Differential Revision: https://reviews.llvm.org/D130979 (cherry picked from commit 8a78b72289c5b1cb2ea2f0794d5bb9836b0895d8)
2022-08-05[libc++][ranges] Implement `ranges::sample`.Konstantin Varlamov
Differential Revision: https://reviews.llvm.org/D130865 (cherry picked from commit 6bdb64223473585f783572c9fbf0673b4b324a35)
2022-08-05[libc++][ranges] Implement `ranges::replace_copy{,_if}`.Nikolas Klauser
Co-authored-by: Konstantin Varlamov <varconst@apple.com> Differential Revision: https://reviews.llvm.org/D129806 (cherry picked from commit 93172c1c2b10066628c85c9ff78eb882222fb304)
2022-08-05[libc++][ranges] Fix the return value of `{copy,move}_backward`.Konstantin Varlamov
The return value for both of these algorithms is specified as ``` `{last, result - N}` for the overloads in namespace `ranges`. ``` But the current implementation instead returns `{first, result - N}`. Also add both algorithms to the relevant "robust" tests. Differential Revision: https://reviews.llvm.org/D130968 (cherry picked from commit f537a01d3989d37aafc050a92c74e69d35381f8c)
2022-08-05[libc++][ranges] Implement `ranges::remove_copy{, _if}`.Nikolas Klauser
Co-authored-by: Hui Xie <hui.xie1990@gmail.com> Differential Revision: https://reviews.llvm.org/D130599 (cherry picked from commit 760d2b462c04537d119d76d3cc37d2cb53774a05)
2022-08-05[libc++][test] Propagate host environment to libc++ test suiteMichał Górny
Propagate the complete host environment to the tests run via the new testconfig. This ensures that all envvars needed e.g. for the compiler to work correctly are present. This mimics the behavior explicitly implemented in the legacy config. https://github.com/llvm/llvm-project/issues/56816 Differential Revision: https://reviews.llvm.org/D130843 (cherry picked from commit 39d4e169d35b59a39ad2fcfe1a568ba979079d83)
2022-08-05[libc++][NFC] Don't rely on `<algorithm>` transitively including `<memory>` ↵Igor Zhukov
in tests Found by @cpplearner (https://github.com/microsoft/STL/pull/2976#discussion_r935440806) Differential Revision: https://reviews.llvm.org/D130997 (cherry picked from commit 495519e5f8232d144ed26e9c18dbcbac6a5f25eb)
2022-08-05[libc++] Fix warning C4244 in ↵Igor Zhukov
std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp frederick-vs-ja noticed that https://github.com/microsoft/STL/pull/2976#issuecomment-1201926893 while we are working on updating LLVM submodule for MS STL: [...]\std\numerics\rand\rand.dist\rand.dist.samp\rand.dist.samp.discrete\eval.pass.cpp(33): error C2220: the following warning is treated as an error [...]\std\numerics\rand\rand.dist\rand.dist.samp\rand.dist.samp.discrete\eval.pass.cpp(287): note: see reference to function template instantiation 'void tests<__int64>(void)' being compiled [...]\std\numerics\rand\rand.dist\rand.dist.samp\rand.dist.samp.discrete\eval.pass.cpp(33): warning C4244: 'argument': conversion from '__int64' to 'const unsigned int', possible loss of data Differential Revision: https://reviews.llvm.org/D130963 (cherry picked from commit db0ac307c9df26d26a629552aec0a78f1b492dfd)
2022-08-05[libc++] Update documentation on testing libc++Louis Dionne
(cherry picked from commit ce6aff8d13894bdb6ec492858a66e8f8ab42c33b)
2022-08-05[libcxx][test] Test code should inspect `TEST_STD_VER`, not `_LIBCPP_STD_VER`.Casey Carter
(cherry picked from commit a1a30dc933b928a7a8277d5b5f7bd25670e68884)
2022-08-05[libc++][format] Enables feature-test macro.Mark de Wever
The macro is only enabled when the Clang is used with -fexperimental-library. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D130792 (cherry picked from commit 679169b7dd74c6f9161353f07e716ec25e80d1b8)
2022-08-05[libc++][doc] Updates status documents.Mark de Wever
Adds the papers and LWG issues voted in during the July 2022 plenary. Note the updating of the project based statuses is left to the active contributors of these projects. Reviewed By: #libc, huixie90, philnik Differential Revision: https://reviews.llvm.org/D130595 (cherry picked from commit 759efa763abf0b9299683e8cf3ec161c0c97f13d)
2022-08-04[clang][llvm][doc] Add more information for the ABI change in FP16linaro-local/ci/tcwg_kernel/llvm-release-arm-next-allyesconfigPhoebe Wang
Differential Revision: https://reviews.llvm.org/D131172
2022-08-03ReleaseNotes: add lld/ELF noteslinaro-local/ci/tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-O3linaro-local/ci/tcwg_bmk_llvm_apm/llvm-release-arm-spec2k6-Oz_LTOlinaro-local/ci/tcwg_bmk_llvm_apm/llvm-release-arm-spec2k6-Ozlinaro-local/ci/tcwg_bmk_llvm_apm/llvm-release-aarch64-spec2k6-Os_LTOFangrui Song
For the release/15.x branch. Differential Revision: https://reviews.llvm.org/D130961
2022-08-03[lldb] [doc] Add release notes for a few noteworthy changes for Windows in 15.xlinaro-local/ci/tcwg_bmk_llvm_tx1/llvm-release-aarch64-spec2k6-O2Martin Storsjö
2022-08-03[LLD] [doc] Add release notes for MinGW changes for 15.xMartin Storsjö
2022-08-02[CodeGen][inlineasm] assume the flag output of inline asm is boolean valueYuanfang Chen
GCC inline asm document says that "... the general rule is that the output variable must be a scalar integer, and the value is boolean." Commit e5c37958f901cc9bec50624dbee85d40143e4bca lowers flag output of inline asm on X86 with setcc, hence it is guaranteed that the flag is of boolean value. Clang does not support ARM inline asm flag output yet so nothing need to be worried about ARM. See "Flag Output" section at https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#OutputOperands Fixes https://github.com/llvm/llvm-project/issues/56568 Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D129954 (cherry picked from commit 92c1bc61586c9d6c7bf0c36b1005fe00b4f48cc0)
2022-08-02[libc++][ranges][NFC] Fix a few links on the Ranges status page.Konstantin Varlamov
(cherry picked from commit c64c3d31c42869c258ad174d9a754279ef4aa07d)
2022-08-02[libc++][ranges] Implement `std::ranges::partial_sort_copy`.Konstantin Varlamov
Differential Revision: https://reviews.llvm.org/D130532 (cherry picked from commit db7d7959787ed68f037e2a6e5a70bb0d8c17ab27)
2022-08-02[libc++] Fix reverse_iterator::iterator_conceptNikolas Klauser
Fixes https://github.com/llvm/llvm-project/issues/56504 Reviewed By: ldionne, Mordante, huixie90, #libc Spies: libcxx-commits, hewillk Differential Revision: https://reviews.llvm.org/D129794 (cherry picked from commit 7912b1f8e7c845a97411cbfc176db56861cdf116)
2022-08-02[libc++] Rename __libcpp_assertion_handler to __libcpp_verbose_abortLouis Dionne
With the goal of reusing that handler to do other things besides handling assertions (such as terminating when an exception is thrown under -fno-exceptions), the name `__libcpp_assertion_handler` doesn't really make sense anymore. Furthermore, I didn't want to use the name `__libcpp_abort_handler`, since that would give the impression that the handler is called whenever `std::abort()` is called, which is not the case at all. Differential Revision: https://reviews.llvm.org/D130562 (cherry picked from commit 507125af3d0b953cb56bce2e5b8000249fe1ef53)
2022-08-02[libc++][ranges] implement `std::ranges::unique{_copy}`Hui Xie
implement `std::ranges::unique` and `std::ranges::unique_copy` Differential Revision: https://reviews.llvm.org/D130404 (cherry picked from commit 72f57e3a30d597346feec74cf626796b0055680f)
2022-08-02[libc++] Properly log crashes with the assertion handler on older AndroidsLouis Dionne
This reintroduces the same workaround we have in libc++abi for older Androids based on https://reviews.llvm.org/D130507#inline-1255914. Differential Revision: https://reviews.llvm.org/D130708 (cherry picked from commit 1422a9689d7907a4561da7b906ec392840d9e635)
2022-08-02[libc++] Make `_IterOps::__iter_move` more similar to `std::ranges::iter_move`.Konstantin Varlamov
Avoid relying on `iterator_traits` and instead deduce the return type of dereferencing the iterator. Additionally, add a static check to reject iterators with incorrect `iterator_traits` at compile time. Differential Revision: https://reviews.llvm.org/D130538 (cherry picked from commit b3afea1ce0bd3c9293edae67c1839318eecdd7bf)
2022-08-02[libc++] Fix merge-conflict in .clang-formatNikolas Klauser
(cherry picked from commit d5a3cc1d88d888e38633eb55e2afadb4cf788000)
2022-08-02[libc++] Fix unwrapping ranges with different iterators and sentinelsNikolas Klauser
Reviewed By: ldionne, huixie90, #libc Spies: arichardson, sstefan1, libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D129040 (cherry picked from commit e01b4fe956dd038fed71cf3c552d3383905d022a)
2022-08-02[libc++][ranges] implement `std::ranges::inplace_merge`Hui Xie
Differential Revision: https://reviews.llvm.org/D130627 (cherry picked from commit 8a61749f767e9af773051fc4f6dc99276fe189e3)
2022-08-02[openmp] [test] Fix prepending config.library_dir to LD_LIBRARY_PATHMichał Górny
Fix the LD_LIBRARY_PATH prepending order to make sure that config.library_path ends up before any potentially-system directories (e.g. config.hwloc_library_dir). This makes sure that we are testing against the just-built openmp libraries rather than the version that is already installed. Also rename the function to `prepend_*` to make it clearer what it actually does. https://github.com/llvm/llvm-project/issues/56821 Differential Revision: https://reviews.llvm.org/D130825 (cherry picked from commit eb4612ca239bffbf1612e0bce442043e716bb9f5)
2022-08-02[libcxx] [test] Cover i386 & sparc64 in string.capacity testMichał Górny
Differential Revision: https://reviews.llvm.org/D130837 (cherry picked from commit 09cf95bd3ec24c77a854a0e0d9431a6d4ba460bc)
2022-08-02workflows: Fix typo from 2d3d0f50ceb938c155a7283e684f28190d24d6baTom Stellard
(cherry picked from commit be3587ae9ab2289179eea0bf6b241d796524062a)
2022-08-02[DAG] matchRotateSub - ensure the (pre-extended) shift amount is wide enough ↵Simon Pilgrim
for the amount mask (PR56859) matchRotateSub is given shift amounts that will already have stripped any/zero-extend nodes from - so make sure those values are wide enough to take a mask. (cherry picked from commit b651fdff79027064071db7c1d0250553e3e6a232)
2022-08-02workflows: Remove symbol versions from libclang.so in the libclang ABI testTom Stellard
Now that the symbol version for libclang.so changes for each release again, we need to remove the symbol versions from the shared library in order for the ABI checker to be able to compare with an older version of the shared library.
2022-08-02[lld/mac] Add support for $ld$previous symbols with explicit symbol nameNico Weber
A symbol `$ld$previous$/Another$1.2.3$1$3.0$14.0$_xxx$` means "pretend symbol `_xxx` is in dylib `/Another` with version `1.2.3` if the deployment target is between `3.0` and `14.0` and we're targeting platform `1` (ie macOS)". This means dylibs can now inject synthetic dylibs into the link, so DylibFile needs to grow a 3rd constructor. The only other interesting thing is that such an injected dylib counts as a use of the original dylib. This patch gets this mostly right (if _only_ `$ld$previous` symbols are used from a dylib, we don't add a dep on the dylib itself, matching ld64), but one case where we don't match ld64 yet is that ld64 even omits the original dylib when linking it with `-needed-l`. Lld currently still adds a load command for the original dylib in that case. (That's for a future patch.) Fixes #56074. Differential Revision: https://reviews.llvm.org/D130725 (cherry picked from commit 241f0e8b76d544a4a07a7f775b8421632539be19)
2022-08-02[clang][Driver] Handle SPARC -mcpu=native etc.Rainer Orth
To make use of SPARC support in `getHostCPUName` as implemented by D130272 <https://reviews.llvm.org/D130272>, this patch uses it to handle `-mcpu=native` and `-mtune=native`. To match GCC, this patch rejects `-march` instead of silently treating it as a no-op. Tested on `sparcv9-sun-solaris2.11` and checking that those options are passed on as `-target-cpu` resp. `-tune-cpu` as expected. Differential Revision: https://reviews.llvm.org/D130273 (cherry picked from commit bf3714884ae4b4a0301bc6af78e8b4deff12558b)
2022-08-02[Driver] Use libatomic for 32-bit SPARC atomics support on LinuxRainer Orth
This is the Linux/sparc64 equivalent to D118021 <https://reviews.llvm.org/D118021>, necessary to provide an external implementation of atomics on 32-bit SPARC which LLVM cannot inline even with `-mcpu=v9` or an equivalent default. Tested on `sparc64-unknown-linux-gnu`. Differential Revision: https://reviews.llvm.org/D130569 (cherry picked from commit 9b1897bbd0e3a6e9ef099e74c3d3ed35428c0460)
2022-08-02[Support] Handle SPARC in sys::getHostCPUNameRainer Orth
While working on D118450 <https://reviews.llvm.org/D118450>, I noticed that `sys::getHostCPUName` lacks SPARC support. This patch implements it. The code is taken from/inspired by GCC's `gcc/config/sparc/driver-sparc.cc`. There's one caveat: since LLVM, unlike GCC, doesn't support the SPARC-M7, -S7, and -M8 CPUs, I map all those to the latest supported one (UltraSparc T4/`niagara4`). Tested on `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu` by running `savcov --version` on - Netra SPARC S7-2 (SPARC-S7, Solaris 11.4) - SPARC T5-2 (SPARC T5, Solaris 11.4) - SPARC Enterprise T5220 (UltraSPARC T2, Solaris 11.3) - SPARC T5 (UltraSPARC T5, Debian sid) - SPARC T3 (UltraSPARC T3, Debian sid) - SPARC Enterprise T5220 (Debian sid) Differential Revision: https://reviews.llvm.org/D130272 (cherry picked from commit 979ddfff37d7e3bf258c2e5cbdc272fcb44c15f0)
2022-08-02[compiler-rt][Sanitizer] Link sanitizer libs with -latomic on SPARCRainer Orth
When building on Linux/sparc64, the 32-bit `libclang_rt.asan.so`, `libclang_rt.ubsan_minimal.so`, and `libclang_rt.ubsan_standalone.so` failed to link with undefined references to 64-bit atomics, which `clang` cannot inline. Even D130569 <https://reviews.llvm.org/D130569> didn't help because those libraries are linked with `-nodefaultlibs`, so dependent libraries need to be added explicitly. That's what this patch does. Tested on `sparc64-unknown-linux-gnu` and `sparcv9-sun-solaris2.11`. Differential Revision: https://reviews.llvm.org/D130571 (cherry picked from commit 0b2d5fd48bc281af89e5e7bfa33a3054b826ed52)
2022-08-02[IntelJITEvents] Add missing include.Sunho Kim
Fixes compilation error. Differential Revision: https://reviews.llvm.org/D130898 (cherry picked from commit 5680ef870f9058c4b52a09a6aec2ddf384c5a558)
2022-07-31[lld-macho] Release notes for 15.xJez Ng
From inspection of git log origin/release/14.x..origin/release/15.x -- lld/MachO Reviewed By: #lld-macho, thakis Differential Revision: https://reviews.llvm.org/D130850
2022-07-29Revert "[OpenMP] Remove noinline attributes in the device runtime"Joseph Huber
The behaviour of this patch is not great, but it has some side-effects that are required for OpenMPOpt to work. The problem is that when we use `-mlink-builtin-bitcode` we only import used symbols from the runtime. Then OpenMPOpt will insert calls to symbols that were not previously included. This patch removed this implicit behaviour as these functions were kept alive by the `noinline` simply because it kept calls to them in the module. This caused regression in some tests that relied on some OpenMPOpt passes without using LTO. Reverting for the LLVM15 release but will try to fix it more correctly on main. This reverts commit d61d72dae604c3258e25c00622b1a85861450303. Fixes #56752 (cherry picked from commit b08369f7f288b6efb0897953da42ed54e60cfc0b)