summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/llvm
Commit message (Collapse)AuthorAgeFilesLines
* clang: Merge llvm/clang family recipes from meta-clangKhem Raj2025-05-058-560/+0
| | | | | | | | | | | | | | | | | This can ensure that meta-clang does not carry them and can rely on core layer while mesa can use them too. Omit time stamps in openmp from generated files to improve reproducibility fix the issue that: | file /usr/include/llvm/Config/llvm-config.h conflicts between attempted installs of lib32-llvm-dev-20.1.2-r0.core2_32 and llvm-dev-20.1.2-r0.core2_64 (From OE-Core rev: d77e398095228b34851762858a76640e3c2cb0ab) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: also install llvm-min-tblgenDmitry Baryshkov2025-04-171-0/+1
| | | | | | | | | | Some projects are picky and want to hanve llvm-min-tblgen in addition to a normal llvm-tblgen. Install the tool to the sysroot. (From OE-Core rev: b4acbadc16733c29024694ba0e5c0987dc7b459c) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: import build fix from meta-clangDmitry Baryshkov2025-04-172-0/+118
| | | | | | | | | | Import a fix from meta-clang, which allows packages using LLVM to find tools from the native sysroot. (From OE-Core rev: 112b9d4c4c10d7ac0e2a8bc239d451b84b90c82c) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: enable more targets to buildDmitry Baryshkov2025-04-111-19/+1
| | | | | | | | | | | Pull in the list of targets being enabled by meta-clang in order to make the libllvm from OE-Core runtime compatible with the one built by the clang recipe inside meta-clang. (From OE-Core rev: 672a21e16a2f4aadc588b367f0fd1ff1df7b5c67) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: add SPIRV-LLVM-Translator supportDmitry Baryshkov2025-04-113-5/+89
| | | | | | | | | | | | | | | | | | Mesa builds require SPIRV-LLVM-Translator in order to build CLC support. While it is possible to build it separately (like meta-clang does), it also requires a separate clang compiler (which OE-Core doesn't provide). Use an alternative path and build SPIRV-LLVM-Translator as a part of the LLVM build process, lifting the requirement for the separate clang. Once Clang is properly integrated into the OE-Core layer, this can be split to a separate package and dropped. In order to ease migration from meta-clang and to ease future split, PROVIDE the spirv-llvm-translator and make the llvm-spirv package RPROVIDE spirv-llvm-translator. (From OE-Core rev: a617aaf3ac6b1ef2f4b0aaf6ca60122425ea6a7e) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: support building libclcDmitry Baryshkov2025-04-111-4/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current Mesa requires libclc in order to build Intel Gallium (iris) or Vulkan drivers. In order to unblock Mesa updates, build libclc as a part of the LLVM build process. The libclc requires Clang for building, so enable Clang too via LLVM_PROJECTS. Remove clang from the DESTDIR, so that it is only used during the build process. Proper handling of Clang as a toolchain is a separate and much more complicated topic. Clang is enabled for all kinds of builds as it is a requirement for libclc to build. Cleaning of ${datadir} has been moved to happen at the end of do_install to be performed after do clang removal and made not to fail if ${datadir} is not empty, as libclc install files into that location. NVPTX and SPIRV targets are enabled since they are required for the libclc to link. LLVM_NATIVE_TOOL_DIR is used to pass a path to the native tools built via llvm-native instead of building them during the target and/or nativesdk build. The llvm-clc package is set to RPROVIDE libclc (and the recipe also PROVIDEs libclc) in order to be compatible with the meta-clang packages (and to be future-compatible with the split package after proper Clang support is introduced to OE-Core). (From OE-Core rev: 2773404dec7840e2252cfd5bf474be70d8e7888f) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: remove LLVM_LDFLAGS from llvm-config --ldflags outputDmitry Baryshkov2025-04-112-0/+36
| | | | | | | | | | | | | On native OE builds the LLVM_LDFLAGS gets a lot of extra flags which may depend on exact build dir and as such be inappropriate to binaries shared through sstate-cache. It is not possible to override this behaviour in llvm-config since crossscripts are not being used for native builds. Ignore LLVM_LDFLAGS for native builds. (From OE-Core rev: a93d2bdf5c0cf1c2c08d99fd4ccd8d1aae0e0ba5) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: also use llvm-config wrapper for nativesdk recipesDmitry Baryshkov2025-04-111-0/+1
| | | | | | | | | | | | The recipes targeting the SDK (e.g. nativesdk-mesa) should also use the llvm-config wrapper, otherwise they get get a lot of incorrect flags, the most offensive being the rpath, as it results in TMPDIR being a part of the resulting binary. (From OE-Core rev: 4d4b02d28c8c5807c2a90402c1239ed2581eb884) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: handle libdir in llvm-configDmitry Baryshkov2025-04-111-0/+3
| | | | | | | | | | | The llvm-config wrapper also needs to override a --libdir switch, otherwise software (like mesa) end up using TMPDIR-based directory for Clang resource lookup (and also encoding TMPDIR into the target binary). (From OE-Core rev: c804ef9516d840e9bef717b6add77783a21a443a) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: use OECMAKE_SOURCEPATH to specify cmake dirDmitry Baryshkov2025-04-111-3/+5
| | | | | | | | | | | Instead of pushing an `llvm` sourcedir into S, specify it through the OECMAKE_SOURCEPATH so that all the patches are applied to the topdir and debug paths also use top path to map. (From OE-Core rev: 43019c7b303da865a563fd672a699175b3d11e5a) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: move libLLVM.so.N.M to llvm-libllvm packageDmitry Baryshkov2025-04-111-1/+2
| | | | | | | | | | | | Neither MAJOR_VER nor MINOR_VER are defined, so libLLVM.so.N.M ends up in the main libllvm package rather than the llvm-libllvm package, as expected. Fix this by properly using two-component version. Fixes: db3bf550a372 ("llvm: Update to 18.1.0 RC4") (From OE-Core rev: 1f729a019c6e5ea35d9a5196b68d81f31a8a1594) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 20.1.1 -> 20.1.2Wang Mingyu2025-04-101-1/+1
| | | | | | | | (From OE-Core rev: 6360b6ac31059ef2436ea55ffc162eb441ce156d) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 20.1.0 -> 20.1.1Richard Purdie2025-04-033-3/+3
| | | | | | (From OE-Core rev: e91e36bebd297141fc5bd15deb37af218b40795e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 19.1.7 -> 20.1.0Khem Raj2025-03-173-4/+4
| | | | | | | (From OE-Core rev: a25121bfd2b6d4a72b102764a456d3eefb9a59ce) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Use LoongArch as host for LLVM architectureXiaotian Wu2025-03-071-0/+1
| | | | | | | (From OE-Core rev: 9b07e2e8ab2dd23e003d2aab6f2b7a7e58eb4652) Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 19.1.6 -> 19.1.7Richard Purdie2025-02-053-8/+7
| | | | | | (From OE-Core rev: fef54c0109b8abbaaa45c8dc5a022111309f0bd3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: set LLVM_HOST_TRIPLE for cross-compilationHaseeb Ashraf2025-01-271-0/+2
| | | | | | | | | | | | | | | | | | | The correct way to configure cmake for cross-compilation includes setting the LLVM_HOST_TRIPLE as well. Documentation Ref: https://github.com/llvm/llvm-project/blob/llvmorg-19.1.6/llvm/docs/HowToCrossCompileLLVM.rst#configuring-cmake This fixes bug when LLVM is cross-compiled for AAarch64 but it was getting built with the triple of native build system instead of the TARGET_SYS (aarch64-oe-linux) in my case. `No available targets are compatible with triple "x86_64-unknown-linux-gnu"` (From OE-Core rev: 19f649f47352f7e12508abd88a862e95979d152d) Signed-off-by: Haseeb Ashraf <haseeb.ashraf@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 19.1.5 -> 19.1.6Wang Mingyu2024-12-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Changelog: ========== - [SimpleLoopUnswitch] Fix LCSSA phi node invalidation - [AggressiveInstCombine] Use APInt and avoid truncation when folding loads - [WebAssembly] Handle symbols in .init_array sections - [WebAssembly] Support multiple .init_array fragments when writing Wasm objects - [cmake] Use DetectTestCompiler from openmp directory - [offload] Define LIBOMPTARGET_OPENMP_*_FOLDER in standalone builds - [offload] Define OPENMP_TEST*_FLAGS in standalone builds - [offload] [test] Add "omp" test dependency only when present - [offload] Include CheckCXXCompilerFlag in CMake - [offload] - Fix issue with standalone debug offload build - [lld][WebAssembly] Fix use of uninitialized stack data with --wasm64 - [Clang][perf-training] Fix clean command in perf-helper.py (From OE-Core rev: 8546473f724e16095e8ad68813f3a087cb1b2779) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 19.1.4 -> 19.1.5Wang Mingyu2024-12-121-1/+1
| | | | | | | (From OE-Core rev: 561f40c8734baacf2320907aef95a897d5c9b8de) Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 19.1.3 -> 19.1.4Wang Mingyu2024-11-271-1/+1
| | | | | | | (From OE-Core rev: 457bef06e9c9d06b389dc2e54f987e0eabf60d6d) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 19.1.2 -> 19.1.3Wang Mingyu2024-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Changelog: =========== - Handle uninitialized type constraints - Make LazyOffsetPtr more portable - Fix incorrect range of relative jumps - Fix KCFI types for generated functions with integer normalization - Handle template opener/closer in braced list - Disable use of the counted_by attribute for whole struct pointers - Reject if constexpr in C - fix build failure - Fix feature coalescing - Backport "Support for Gentoo *t64 triples (64-bit time_t ABIs)" - Instantiate Typedefs referenced by type alias deduction guides - Don't propagate access attr to byval params - Undef _TIME_BITS along with _FILE_OFFSET_BITS (From OE-Core rev: 3e7491397760b14cdb0f0956bc159c3ded31fe58) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 19.1.0 -> 19.1.2Wang Mingyu2024-10-291-1/+1
| | | | | | | | | | | Changelog: https://discourse.llvm.org/t/llvm-19-1-2-released/82550 (From OE-Core rev: 61b9424759a31470de86eda56b1a56a053fef8b8) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 18.1.8 -> 19.1.0Wang Mingyu2024-09-302-1088/+1
| | | | | | | | | | | | | Changelog: https://releases.llvm.org/19.1.0/docs/ReleaseNotes.html 0002-llvm-Fix-CVE-2024-0151.patch removed since it's included in 19.1.0 (From OE-Core rev: e66a76deb812ee44c83e02b54bcba88a401f3625) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Enable libllvm for native buildMingli Yu2024-08-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | The bpftrace recipe under meta-clang[1] needs llvm-objcopy [2] during do_confgure phase otherwise there comes below error: | CMake Error at tests/data/CMakeLists.txt:6 (find_program): | Could not find LLVM_OBJCOPY using the following names: llvm-objcopy, | llvm-objcopy-18, llvm18-objcopy The commit ec22bfa67f llvm: allow building libllvm in native builds, subject to PACKAGECONFIG [3] introduces libllvm to manage the llvm function for native build maybe because there is only mesa-native to use llvm-native. Considering there are other recipes such as bpftrace needs llvm-native, so enable libllvm for native build. [1] https://github.com/kraj/meta-clang [2] https://github.com/bpftrace/bpftrace/blob/master/tests/data/CMakeLists.txt [3] https://git.openembedded.org/openembedded-core/commit/?id=ec22bfa67f6f1766102501d4593ce29aafe8c166 (From OE-Core rev: c4f08872bff303998dc15c7d224a49abc5e74965) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: extend llvm-config reproducibility fix to nativesdk classDenys Dmytriyenko2024-07-181-0/+4
| | | | | | | | | | | It's not limited to "target", but also happens to nativesdk: ERROR: nativesdk-llvm-18.1.8-r0 do_package_qa: QA Issue: File /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/llvm-config in package nativesdk-llvm contains reference to TMPDIR [buildpaths] (From OE-Core rev: 714a99a9ba1aff458c1743ad8be9b38ee106b58f) Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Fix CVE-2024-0151Deepthi Hemraj2024-07-022-0/+1087
| | | | | | | (From OE-Core rev: fe1b86ff78090a0214130112abc2d6ea4736bf80) Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Update to 18.1.8Khem Raj2024-06-271-2/+1
| | | | | | | | | | | | | | | | | Brings following fixes * 3b5b5c1ec4a3 [libcxx] Align `__recommend() + 1` by __endian_factor (#90292) * 72c9425a79fd [libc++][NFC] Rewrite function call on two lines for clarity (#79141) * 443e23eed24d Bump version to 18.1.8 (#95458) * 768118d1ad38 [clang-format] Fix a bug in formatting goto labels in macros (#92494) * 8c0fe0d65ed8 release/18.x: [clang-format] Don't always break before << between str… (#94091) * 7e6ece9b4f2d [PPCMergeStringPool] Only replace constant once (#92996) * 1ce2d26cd2e9 Bump version to 18.1.7 (#93723) (From OE-Core rev: 85a0ebac400fcba497d86c95e5d4d33bd3e0084f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 18.1.5 -> 18.1.6Wang Mingyu2024-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog: ========== - Fixes issues where LLVM is either generating the incorrect thunk for a function with aligned parameters or didn't correctly pass through the return value when StructRet was used. - -Xclang -target-feature -Xclang +unaligned-scalar-mem can be used to enable unaligned scalar memory accesses for CPUs that do not support unaligned vector accesses. -mno-strict-align will enable unaligned scalar and vector memory accesses. - Don't replace an aliasee with an alias that has weak linkage. This avoids incorrect linkage that can lead to using the wrong symbols during linking time. - This patch fixes build failures when compiling AVX512 code using -march=native on machines without AVX512. - Fixes crash in AArch64 backend when having true or false as operand for a fcmp instruction on IR level. - Fixes compiler crash when user specifies -mno-evex512 with AVX512 features but no AVX512VL. - Fixes a bug that tries to do VBROADCAST_LOAD for f16 without AVX2. (From OE-Core rev: 3cd5c40f5736506b2cfc23b180fa915b01d8220c) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Switch to using release tarballsKhem Raj2024-05-131-7/+6
| | | | | | | | | | | | git checkouts are in excess of 3G, which is not ideal for everyone to download/clone, instead switch to fetching release tarball which is ~126M as of 18.1.5 release (From OE-Core rev: 800e6576e4f3af10846af13c2f217f986c1afdb4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 18.1.5Khem Raj2024-05-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings 617a15a9eac9 [clang codegen] Fix MS ABI detection of user-provided constructors. (#90151) 20b9ed64ea07 [RISCV][ISel] Fix types in tryFoldSelectIntoOp (#90659) ece9d35f1a70 [GlobalISel] Fix store merging incorrectly classifying an unknown index expr as 0. (#90375) a7b8b890600a [X86] Enable EVEX512 when host CPU has AVX512 (#90479) 4da5b1417493 [GlobalISel] Don't form anyextending atomic loads. a96b04442c9f [AArch64] Remove invalid uabdl patterns. (#89272) aea091b70eda [clang][CoverageMapping] do not emit a gap region when either end doesn't have valid source locations (#89564) 58648f334d62 [X86][EVEX512] Check hasEVEX512 for canExtendTo512DQ (#90390) 6350acdb134d [CGP] Drop poison-generating flags after hoisting (#90382) f341c76b9461 [Clang] Handle structs with inner structs and no fields (#89126) abf6b13085fb [IRCE] Skip icmp ptr in InductiveRangeCheck::parseRangeCheckICmp (#89967) ee5bb0c95667 Fix Objective-C++ Sret of non-trivial data types on Windows ARM64 (#88671) 6dbaa89433f7 [clang-format] Fix a regression in ContinuationIndenter (#88414) 51ff7f38b633 [clang-format] Fix a regression in annotating TrailingReturnArrow (#86624) b544217fb31f [AMDGPU] Fix setting nontemporal in memory legalizer (#83815) 78b99c73ee4b [DAGCombiner] Fix miscompile bug in combineShiftOfShiftedLogic (#89616) 1aa91720cc4f [DAGCombiner] Pre-commit test case for miscompile bug in combineShiftOfShiftedLogic 35fea1032741 release/18.x: [clang-format] Correctly annotate braces in macros (#87953) b9b73814ad8a [libcxx] [modules] Add _LIBCPP_USING_IF_EXISTS on aligned_alloc (#89827) c0b48372d82a release/18.x: [clang-format] Revert breaking stream operators to previous default (#89016) 3b4ba7277bd7 [analyzer] Fix performance of getTaintedSymbolsImpl() (#89606) 7699b341b763 release/18.x: [clang-format] Fix a regression in annotating BK_BracedInit (#87450) fb865928c8e0 [GlobalISel] Fix fewerElementsVectorPhi to insert after G_PHIs (#87927) 111ae4509c96 [X86] Fix miscompile in combineShiftRightArithmetic 76cbd417af50 [X86] Pre-commit tests (NFC) e7c816b3cd3e [InstCombine] Fix unexpected overwriting in foldSelectWithSRem (#89539) 3685a599c866 ReleaseNote: Mention SpecialCaseList change (#89141) a981a4f7653c [X86] Always use 64-bit relocations in no-PIC large code model (#89101) 4ddac856c55f [analyzer] Fix a security.cert.env.InvalidPtr crash c6d63d4fc555 Bump version to 18.1.5 (#89291) (From OE-Core rev: 02df2fc6241ac8fb0e78f2fdff97a04e5c561d54) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: Update WORKDIR references to UNPACKDIRRichard Purdie2024-05-021-1/+1
| | | | | | | | | | Since we want to be able to stop unpacking to WORKDIR, correct the WORKDIR references in recipe do_compile/do_install tasks to use UNPACKDIR in the appropraite places instead. (From OE-Core rev: d73595df69667fe9d12ecd407b77a0b8dae2109c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 18.1.4Khem Raj2024-04-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings following fixes * e6c3289804a6 [CMake][Release] Disable PGO (#88465) (#89000) * 028e425f86cc [MIPS] Fix the opcode of max.fmt and mina.fmt (#85609) * e3c832b37b0a Fix override keyword being print to the left side * 1deeee3f5da4 Revert "[Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072)" * 995539ce05ba [LLD] [COFF] Don't add pseudo relocs for dangling references (#88487) * db67e6fb9ad1 [libc++] Fix -Wgnu-include-next in stddef.h (#88214) * 647fbc710840 [SelectionDAG] Prevent combination on inconsistent type in `combineCarryDiamond` (#84888) * eaae766a20fd [RISCV] Support rv{32, 64}e in the compiler builtins (#88252) * c24b41d71f2e github-upload-release.py: Fix bug preventing release creation (#84571) * c837970dd7e9 [Codegen][X86] Fix /HOTPATCH with clang-cl and inline asm (#87639) * d0ddcce21d91 [InstSimplify] Make sure the simplified value doesn't generate poison in threadBinOpOverSelect (#87075) * 4056cc29dfd3 Prepend all library intrinsics with `#` when building for Arm64EC (#87542) * 6e071cf30599 [SLP]Fix a crash if the argument of call was affected by minbitwidth analysis. * d89da2ac8839 [libcxx] coerce formatter precision to int (#87738) * b6ebea7972cd [SPARC] Implement L and H inline asm argument modifiers (#87259) * bffecba7ce4c [libc++] Simplify the implementation of <stddef.h> (#86843) * 9899a2d76c8f [lit][ci] Publish lit wheels (#88072) * 3ceccbdb1995 [clang-format] Correctly annotate braces of empty ctors/dtors (#82097) * 429d62872525 [Headers] Don't declare unreachable() from stddef.h in C++ (#86748) * feba8727f805 [ConstantRange] Fix off by 1 bugs in UIToFP and SIToFP handling. (#86041) * e4259b583c92 [Float2Int] Pre-commit test for SIToFP/UIToFP ConstantRange bug. NFC * daca56d8e162 Bump version to 18.1.4 (#87715) (From OE-Core rev: adc2651a8e902af24fee6ff30a72f4b7c63bef6f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: upgrade 18.1.2 -> 18.1.3Wang Mingyu2024-04-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | 0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch refreshed for 18.1.3 Changelog: ============ -DFixes tsan failures for glibc's LoongArch and certain RISC-V ports when fstat is used. -transform.structured.convert_to_loops now properly deletes its target op. -Fix a llvm.usub.with.overflow.i128 wrong code generation regression that was introduced with LLVM 18.1.0. -MemorySanitizer on Linux can now run even when maximum-entropy address-space layout randomization is configured globally -Fixed a Clang 18.x regression which increased binary size and stack usage with -ftrivial-auto-var-init. (From OE-Core rev: d2159f92ddbb6b999c1d14ac62647b4a35360377) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 18.1.3 bugfix releaseKhem Raj2024-04-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings following changes * c13b7485b879 [clang] Avoid -Wshadow warning when init-capture named same as class field (#74512) * f249092ef26d [tsan] Refine fstat{,64} interceptors (#86625) * 76c721994a11 [clang][Sema] Fix a CTAD regression after 42239d2e9 (#86914) * e0f0c463b539 [mlir][transform] replace original op to loop ops (#83537) * 47aac495c895 [OpenMP][AIX] Affinity implementation for AIX (#84984) * a385a917da93 [Support] Fix color handling in formatted_raw_ostream (#86700) * 0cd4babe0342 Reapply [libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#86020) * cfaeee6a8994 release/18.x: [SystemZ] Fix overflow flag for i128 USUBO (#86491) * 767b61c159b3 [lld/ELF][X86] Respect outSecOff when checking if GOTPCREL can be relaxed (#86334) * 7c7c3d4a3a27 [ODS][NFC] Cast range.size() to int32_t in accumulation (#85629) * 0e501dbd932e [Mips] Restore wrong deletion of instruction 'and' in unsigned min/max processing. (#85902) * fbb27d16fa12 [Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072) * e74c1678231a [PowerPC] provide CFI for ELF32 to unwind cr2, cr3, cr4 (#83098) * 1c7c16e58240 [NFC][PowerPC] use script to regenerate the CHECK lines * c2a57034eff0 [msan] Re-exec with no ASLR if memory layout is incompatible on Linux (#85142) * b74f6158460c [msan] Add 'MappingDesc::ALLOCATOR' type and check it is available (#85153) * 98a15dd2d728 [clang][CodeGen] Allow `memcpy` replace with trivial auto var init * 2498e3a07f3d [LoongArch] Assume no-op addrspacecasts by default (#82332) * 368dc8553c5a [SROA]: Only defer trying partial sized ptr or ptr vector types * 0e16af8e4cf3 [ARM] Update IsRestored for LR based on all returns (#82745) * 6f8016fda7d5 Pre-commit test showing bug #80287 * ef6d1ec07c69 Bump version to 18.1.3 (#86168) (From OE-Core rev: f6a561db603a6583969137fdd9fb4ec0138bff46) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 18.1.2 bugfix releaseKhem Raj2024-03-221-2/+2
| | | | | | | (From OE-Core rev: ba6435d13f9d565a92d3e6f15a04398c8a7133f6) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Update to 18.1.1 releaseKhem Raj2024-03-181-2/+2
| | | | | | | | | This is final release after RC suffix is removed (From OE-Core rev: 8ec8d41087c6c01572b785f5d71983bcce584396) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Update to 18.1.0 RC4Khem Raj2024-03-011-1/+2
| | | | | | | | | This is last milestone before final release (From OE-Core rev: db3bf550a372c0b3fd07095c38ce63764ad5a2e8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to LLVM-18 RC2Khem Raj2024-02-161-2/+6
| | | | | | | | | Final Release is coming in first week of March (From OE-Core rev: 25b093a30566ad6fd6dc0fdfdd413db7020559bb) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 17.0.6Khem Raj2023-12-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring in these changes * 6009708b4367 Revert "[runtimes] Add missing test dependencies to check-all (#72955)" * 04caadc61fa2 [Driver] Enable __float128 support on X86 on FreeBSD / NetBSD (#72788) * e919a83f96fe eliminate python SyntaxWarnings from check-all output. * f6c231c15ec8 [clang-format] Fix crashes in AlignArrayOfStructures (#72520) * f74f3e6f58d3 [clang] Fix sorting module headers (#73146) * 7e30ce9528d9 [JITLink][aarch32] Change writeRegister's return type to void. * 03373fd9cb6c [CMake] Support building shared library for NetBSD * 21af3b62b632 workflows/release-binaries: Do a preliminary build to fill ccache (#72576) * 201faeca595e Add RV64 constraint to SRLIW (#69416) * e957e6dcb29d [runtimes] Add missing test dependencies to check-all (#72955) * f8575ff46f89 [clang-format] Fix a bug in aligning comments above PPDirective (#72791) * a71237b9f67f [clangd] Avoid null result in FindRecordTypeAt() * 308c816de5a4 Bump version to 17.0.6 * 442401f7c0ca remove tests from bad merge * 76c7e0e1e2d1 Use the correct namespace for looking up matching operator!= (#68922) * b5cbb35408a3 [libc++] Use correct size for deallocation of arrays in shared_ptr (#68233) * e6de86cb9ef8 Revert "Reland [clang] Canonicalize system headers in dependency file when -canonical-prefixes" (#71697) * bb66d8f8f73b [clang][WebAssembly] Link crt1 even in case of -shared (From OE-Core rev: eab3ce3184d66a98fe9f5992c462552dfc89397f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 17.0.5Khem Raj2023-11-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Brings following changes * 98bfdac5ce82 [BranchFolding] Remove dubious assert from operator< (#71639) * 12c6ee8fd204 [GlobalOpt] Cache whether CC is changeable (#71381) * 0a1274224ef8 [libc++] Fix UB in <expected> related to "has value" flag (#68552) (#68733) * 42f8800b720f [clang] fix test PR69717.cpp (#72134) * e666be92b44b [clang] Run test on x86 only * aebee698ef16 [clang] Do not clear FP pragma stack when instantiating functions (#70646) * 529aa6eadb27 [SLP]Fix PR70004: Do not change insert point for reduction gather nodes. * 69b3baf9b87e [DAG] WidenVectorOperand - add basic handling for *_EXTEND_VECTOR_INREG nodes * e7dc53b94212 [Mips] In LowerShift*Parts, xor with bits-1 instead of -1. (#71149) * a6cbdae98272 [clang-format] Correctly annotate keyword operator function name (#66904) * 094cfd14c813 Bump version to 17.0.5 * 05422e1dcf94 [Driver] Fix linking with -lm on Solaris (#65632) * 910748f4ec5a [clang-repl] Fix BUILD_SHARED_LIBS symbols from libclangInterpreter on MinGW (#71393) * 582f0469dae1 [CGExprConstant] stop calling into ConstExprEmitter for Reference type destinations (#70366) (From OE-Core rev: d61add65014617c1e3c183fb1cf333b4b226d318) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 17.0.4 releaseKhem Raj2023-11-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings following changes/fixes * 309d55140c46 [AArch64][GlobalISel] Fix incorrect ABI when tail call not supported (#70215) * 9477268e4247 [AArch64] Add test for #70207 (NFC) * c2eab59e622c [GVN] Fix use-after-free in load PRE with select available value (#69314) * 586481468a07 [clang-tidy] Fix crash in modernize-use-trailing-return-type (#70709) * 9d0ca259eed6 [OpenMP] Fix building for 32-bit DragonFly, NetBSD, OpenBSD (#70527) * a8046f72bfb3 [OpenMP] record-replay use static-cast (#70516) * 12bbcd627f60 [flang] Add comdats to functions with linkonce linkage (#66516) * bdb1553c7639 [mlir] Add pass to add comdat to all linkonce functions (#65270) * 3347c8441588 Update release note for the fix * f6fb6a996c7f [clang][ExprConst] Fix crash on uninitialized array subobject (#67817) * 8c8abe6b93c0 [RISCV] Correct copyPhysReg for GPRPF64. (#70419) * 615beaec04f9 [SVE] Fix incorrect offset calculation when rewriting an instruction's frame index. (#70315) * bb29e1ead22f [MemCpyOpt] Combine alias metadatas when replacing byval arguments (#70580) * 2b82ec7947fe [OpenMP] Use the more appropriate function to retrieve the thread id on OpenBSD (#65553) * 8909a24d0af1 [libc++] Encode additional ODR-affecting properties in the ABI tag (#69669) * e9dcc15f514a [AArch64] Prevent argument promotion of vector with size > 128 bits (#70034) * 4b7f4152a8d1 [LoongArch] Implement COPY instruction between CFRs (#69300) * fb62a201a199 Revert "[clang-format] Fix align consecutive declarations over function pointers" * 1f6d35b36681 Fix tests for c23 <-> c2x * 030d68ef2cd7 Fix a c23 -> c2x think-o * 2a41d978b4fa [C23] Use thread_local semantics (#70107) * afbe3549af4d [clangd] Disable crashy unchecked-optional-access tidy check (#69427) * 7f790f9a39e3 [ConstraintElim] Don't decompose values wider than 64 bits (#68803) * a1c67ffd0a1f [ConstraintElim] Add test for #68751 (NFC) * ef50a367e3d5 [mlir] Avoid including <alloca.h> on DragonFly * a7101379d75e [LVI][CVP] Treat undef like a full range on abs(x, false) (#68711) * aa03fba83b17 [libcxx] [test] Add a test parameter for disabling memory intensive tests (#68214) * 71f408bc3623 workflows/release-tasks: Fix release note artifact upload (#69522) * 9ab3ce1d7a06 Bump version to 17.0.4 * 880a282a40e3 workflows/release-lit: Pass correct build directory to pypa/gh-action-pypi-publish (#69438) * 8719ee0cb39a workflows/release-lit: Fix dev suffix removal (#69397) (From OE-Core rev: 198f10d12eea50942acb60cdf8c7bc0700065df1) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 17.0.3Khem Raj2023-10-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings following fixes * 888437e1b600 [asan] Ensure __asan_register_elf_globals is called in COMDAT asan.module_ctor (#67745) * 2e00f4ca4e91 [clang-format][doc] Update the Linux kernel coding style URL * aeb83c3783a6 [clang-format] Fix a serious bug in git-clang-format (#65723) * 268faa377aee [LSan] Mark create_thread_leak.cpp as UNSUPPORTED: darwin. * 491a91e8eea2 [PowerPC] Use zext instead of anyext in custom and combine (#68784) * 8ce6b65c89ad [PowerPC] Add test for #68783 (NFC) * 7a23a5d43c67 [clang-format] Fix a bug in RemoveParentheses: ReturnStatement (#67911) * be4016e52779 [X86] Fix logic for optimizing movmsk(bitcast(shuffle(x))); PR67287 * 496b174053bd [X86] Add tests for incorrectly optimizing out shuffle used in `movmsk`; PR67287 * f50c6382c716 [clang] [MinGW] Explicitly always pass the -fno-use-init-array (#68571) * d10b731adcc8 [LVI][CVP] Treat undef like a full range (#68190) * 37b79e779f44 [X86] combineConcatVectorOps - only concatenate single-use subops * 5a13ce2d6020 Bump version to 17.0.3 * e7b3b94cf500 [clang] Correct behavior of `LLVM_UNREACHABLE_OPTIMIZE=OFF` for `Release` builds (#68284) * f0a687d821c1 [LLD] [COFF] Fix handling of comdat .drectve sections (#68116) * 8a8ade49ff49 workflows/release-binaries: Use more cores to avoid the 6 hour timeout (#67874) * 1090b91a2840 [AArch64] Disable loop alignment for Windows targets (#67894) * 69c8c96691c7 [Sema] Use underlying type of scoped enum for -Wformat diagnostics (#67378) * b2417f51dbbd (tag: llvmorg-17.0.2) Fix release/export.sh to export runtimes tarball, too (#67404) * 23988a1d82d5 [libc++] Fix `std::pair`'s pair-like constructor's incorrect assumption (#66585) * 33e14ecd6aac [CodeGen] Don't treat thread local globals as large data (#67764) * 03f797b51df6 [workflow] Fix abi checker in llvm-tests. Same fix as in 99fb0af80d16b0ff886f032441392219e1cac452 (#67957) * f6cf58eed973 [clang] [MinGW] Tolerate mingw specific linker options during compilation (#67891) * b338a2830a2c [LLD] [COFF] Restore the current dir as the first entry in the search path (#67857) * 6a5be8e95b43 [LLD] [COFF] Clarify -print-search-path for the empty string element (#67856) * 71be0aafe357 [NFC] clang-format lld/COFF/Driver.cpp and lld/Common/Filesystem.cpp * 0a2d7dae6ef2 [compiler-rt] Reinstate removal of CRT choice flags from CMAKE_*_FLAGS* (#67935) * 098e653a5bed [MemCpyOpt] Merge alias metadatas when replacing arguments (#67539) * 78d201ebc3e2 [MemCpyOpt] Add test for #67539 (NFC) * e718f3240a57 [DependencyScanningFilesystem] Make sure the local/shared cache filename lookups use only absolute paths (#66122) * 45066b9fbc7b [Sema] Fix fixit cast printing inside macros (#66853) * 87ec1f460d0e Work around two more instances of __noinline__ conflicts. (#66138) * 9da5b7a93bca [lldb] Fix building LLDB standlone without framework * c056d720b534 [lldb][NFCI] Change logic to find clang resource dir in standalone builds * cb23434f9e63 [XCOFF] Do not generate the special .ref for zero-length sections (#66805) * 1b55dc9d94c3 Fix buildbot failure caused by D157623 * 28d81a2bfa0a [lld][COFF] Remove incorrect flag from EHcont table * b7eba056b93c workflows/release-tasks: Setup FileCheck and not for release-lit (#66799) * 9678f11b057c [StackColoring] Handle fixed object index * 49e9ee190080 [StackColoring] Handle SEH catch object stack slots conservatively * 17123a60b87c [X86] Add test for #66984 (NFC) * 2839aa915066 [SimpleLoopUnswitch] Fix exponential unswitch * 773f136d6faa [SimpleLoopUnswitch] Fix reversed branch during condition injection * 4362f3e4cf48 [clang] Include `expected-no-diagnostics` in newly-added test (NFC) * 5f1fcc43e592 [clang] Bail out when handling union access with virtual inheritance * 178cf5bc8732 [clang][Diagnostics] Fix wrong line number display (#65238) * 25a150b830f6 Revert "[InlineCost] Check for conflicting target attributes early" (From OE-Core rev: 8cfb833b66e514ea911aa4fbdc72592a06233f68) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 17.0.2Khem Raj2023-09-271-2/+2
| | | | | | | | | | | | | | * 481358974fb0 [GVN] Also remove phi nodes from VN table (PR65447) * 9f77e96186be [GVN] Invalidate MDA when deduplicating phi nodes * a13a89402f53 Bump version to 17.0.2 * 2c04bdb24677 [SVE] Ensure SVE call operands passed via memory are correctly initialised. (#66070) * 701620d58cdf [SVE] Precommit test to show missing initialisation of call operand. (From OE-Core rev: c2e059a036ac5c4d2cb3c7267be2403e0611dea5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 17.0.1Khem Raj2023-09-222-11/+11
| | | | | | | | | This is first release in 17.x major release (From OE-Core rev: 388c6dd0ac470a8e83233adf50ad8e7d9029728f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Bump to 16.0.6Khem Raj2023-06-191-2/+2
| | | | | | | | | | Brings a single change [lld][WebAssembly] Fix stub library parsing with windows line endings (From OE-Core rev: 47403ab257435de4e958fd6361293cbbff5dafc9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 16.0.5Khem Raj2023-06-131-2/+2
| | | | | | | | | | | | | | Release notes 16.0.4 - https://discourse.llvm.org/t/16-0-4-release/70692 16.0.5 - https://discourse.llvm.org/t/16-0-5-releae/71097 (From OE-Core rev: 4ccc42b36ced170198e78af3ca13123f5fdd734a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm,mesa: Drop MESA_LLVM_RELEASEKhem Raj2023-05-251-2/+0
| | | | | | | | | | | This was needed to use provide different llvm from meta-clang or other layers, seems unused since meta-clang has stopped providing a versioned llvm (From OE-Core rev: 7012aefb10a4101b2f3baf4dc20c64e3260b4cc8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Enable RISCV supportKhem Raj2023-05-221-3/+0
| | | | | | | | | | LLVM 16 should work well for RV32/RV64 (From OE-Core rev: 09ac564539a2bea835bdb8aee022505fc4b391f8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: update 15.0.7 -> 16.0.3Alexander Kanavin2023-05-222-82/+2
| | | | | | | | (From OE-Core rev: d15b4091dd94b227f4ad03cab814d2e49f1aac02) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/recipes: ensure all recipes have a SUMMARYAlexander Kanavin2023-04-131-1/+1
| | | | | | | | | | | DESCRIPTION is optional for now; writing good component descriptions is not easy (but appreciated). (From OE-Core rev: 9ce4f9248db3db70732d886a18ea355f321bd49d) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>