summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/llvm
AgeCommit message (Collapse)Author
2023-10-23llvm: Upgrade to 17.0.3Khem Raj
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" Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2023-09-27llvm: Upgrade to 17.0.2Khem Raj
* 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. 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>
2023-09-22llvm: Upgrade to 17.0.1Khem Raj
This is first release in 17.x major release Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-19llvm: Bump to 16.0.6Khem Raj
Brings a single change [lld][WebAssembly] Fix stub library parsing with windows line endings Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-13llvm: Upgrade to 16.0.5Khem Raj
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 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2023-05-25llvm,mesa: Drop MESA_LLVM_RELEASEKhem Raj
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 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-22llvm: Enable RISCV supportKhem Raj
LLVM 16 should work well for RV32/RV64 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2023-05-22llvm: update 15.0.7 -> 16.0.3Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2023-04-13meta/recipes: ensure all recipes have a SUMMARYAlexander Kanavin
DESCRIPTION is optional for now; writing good component descriptions is not easy (but appreciated). Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2023-03-31llvm: remove redundant CMake variablesRoss Burton
This recipe uses the cmake class, so there's no need to set the Ninja backend, or tell it where Python is, or that we're cross-compiling. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-22llvm: allow building libllvm in native builds, subject to PACKAGECONFIGAlexander Kanavin
Also, enable that, if opengl is in native DISTRO_FEATURES: this allows mesa-native to build drivers that rely on libllvm, particularly llvmpipe, which is a (sort of) accelerated software renderer that is the only option on build hosts without dedicated or supported GPUs. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2023-02-09llvm: upgrade 15.0.6 -> 15.0.7Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-31llvm: Do not use lseek64Khem Raj
Fixes build with musl where the LFS64 functions are deprecated Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-26llvm: update 15.0.4 -> 15.0.6Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-15mesa: do not rely on native llvm-config in target sysrootAlexander Kanavin
Sadly the magic is not perfect: llvm-config contains a hardcoded value for the libdir from the native configuration, and things will break if the target build installs libraries somewhere else (e.g. lib64). llvm-config in target bindir also needs a rpath adjustment, otherwise it simply won't even run when e.g. building for arm on x86. To avoid patching llvm-source let's simply add more cases to the llvm-config wrapper script, so that falling through to llvm-config binary is avoided. Fortunately those cases are all static in what they return, even though llvm-config binary does poke around the file tree to arrive at them (which is where breakage happens if native and target don't match exactly wrt libdir). I verified that this works by building mesa with llvm enabled for qemuarm64 and with baselib set to 'lib64' - so that both the target architecture and target libdir differ from native ones. Upstream tickets: https://github.com/llvm/llvm-project/issues/58984 https://github.com/mesonbuild/meson/issues/11043 Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2022-11-15llvm: update 15.0.1 -> 15.0.4Alexander Kanavin
zstd is a new compression option in addition to zlib. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2022-10-29llvm: update 14.0.6 -> 15.0.1Alexander Kanavin
'Release' type follows standard practice elsewhere in core, particularly rust-llvm as well. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2022-09-02llvm: remove 0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patchAlexander Kanavin
At some point this became unnecessary as llvm builds with with musl without it. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2022-08-31llvm: Add llvm-config wrapper to improve flags handlingRichard Purdie
Add a wrapper for llvm-config which provides flags from the current envrionment instead of the values hardcoded into llvm-native at compile time. Inspiration taken from the wrapper in meta-clang but I had to totally rewrite it as: * the TARGET_* prefixes weren't in our environment * meson uses --libs --ldflags XXX which didn't work Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-23llvm: update 14.0.4 -> 14.0.6Alexander Kanavin
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>
2022-06-25llvm: add PACKAGECONFIG[optviewer]Luca Ceresoli
Currently the CMake configuration for llvm finds the python pygments and pyyaml if they are installed on the host. This makes builds non-reproducible across different machines, some having those modules installed and some others not. This has been causing a 'reproducible' failure on one of the autobuilders: AssertionError: The following deb packages are missing or different and not in exclusion list: /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/deb/./core2-64/llvm-dev_14.0.4-r0_amd64.deb The following ipk packages are missing or different and not in exclusion list: /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/ipk/./core2-64/llvm-dev_14.0.4-r0_core2-64.ipk The following rpm packages are missing or different and not in exclusion list: /home/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/deploy/rpm/./core2_64/llvm-dev-14.0.4-r0.core2_64.rpm Fix by adding an explicit PACKAGECONFIG to control the LLVM_HAVE_OPT_VIEWER_MODULES option in CMake. If unset, it forces CMake to ignore pygments and pyyaml, no matter it they are available on the host. If set, it DEPENDS on the pygments and pyyaml modules so that CMake will find and use them. Based on suggestions from Stefan and Markus -- thanks. Proposed-by: "Stefan Herbrechtsmeier" <stefan.herbrechtsmeier-oss@weidmueller.com> Proposed-by: "Markus Volk" <f_l_k@t-online.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
2022-06-07llvm: update 14.0.3 -> 14.0.4Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-05llvm: update 14.0.1 -> 14.0.3Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-28llvm: update 14.0.0 -> 14.0.1Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19llvm: use default install pathsAlexander Kanavin
There was a very brittle sed hack against cpp source code that allowed installing multiple llvm versions into the same target/sysroot. Patching with sed is prone to silent regressions as it can change both too little and too much, and it indeed it broke with llvm 14. It's also difficult to tell what the 'right' change should look like. If this feature is actually needed somewhere, please do it properly: proper patch and upstream first. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19llvm: update 13.0.1 -> 14.0.0Alexander Kanavin
llvm-config no longer links with libLLVM, so there is no need to install it in -native (and it isn't built in the first place). This also significantly speeds up llvm-native build. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-08llvm: update 12.0.1 -> 13.0.1Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-03recipes: Update github.com urls to use httpsRichard Purdie
Github has announced there will be no more git:// fetching from their servers: https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git and they're about to start having brownout periods to encourage people to update. This runs the conversion script over OE-Core to update our urls to use https instead of git. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-30Convert to new override syntaxRichard Purdie
This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-24llvm: update 12.0.0 -> 12.0.1Alexander Kanavin
Other than the tcmode tweak, this was done by devtool \0/ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-16llvm: make upgradable via devtoolAlexander Kanavin
Assembling PV from bits is too clever for devtool; but it can be done in the opposite direction. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23llvm: Upgrade to LLVM 12 releaseKhem Raj
Drop backported patch Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-01llvm: Fix build with c++17Khem Raj
Fixes /benchmark_register.h:17:30: error: 'numeric_limits' is not a member of 'std' | static const T kmax = std::numeric_limits<T>::max(); | ^~~~~~~~~~~~~~ Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26llvm: Upgrade to 11.1.0 releaseKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-09llvm: sort the lists in generated source reproducibiblyAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-09llvm: fix reproducibilityAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-28llvm: upgrade 9.0.1 -> 10.0.1Trevor Gamblin
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-14llvm: Remove -fcommonAdrian Bunk
I cannot reproduce the problem. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30recipes: Use -fcommon explicitlyKhem Raj
This is needed with gcc 10 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30llvm: Upgrade to 9.0.1 releaseKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30llvm: fix upstream version checkAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-09llvm: rv32/rv64 target builds are not supported yetKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23llvm: add missing Upstream-Status tagsRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2019-10-15llvm: Update to 9.0.0Khem Raj
libOptRemarks has been renamed as libRemarks RISC-V backend is now supported Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-08llvm: remove -mlongcall from CXXFLAGS for powerpcChangqing Li
after gcc upgrade to 9.1.0, with this flags will make below error: collect2: fatal error: ld terminated with signal 11 [Segmentation fault] remove it as workaround, after remove it, powerpc can compile successfully Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-30llvm: use python 3 during buildsAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-07mesa,llvm,meson: Update llvm to 8.0.1 plus define and use LLVM version globallyKhem Raj
- Add missing dependency on libedit - Define LLVMVERSION on the same lines as GCCVERSION and other tools - Use LLVMVERSION in mesa and meson.bbclass to get llvm version instead of hardcoding it - Use llvm patches unmodified from meta-clang, helps in keeping them in sync - Define PREFERRED_VERSION for llvm, llvm-native, nativesdk-llvm Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-03llvm: fix link error for powerpcChangqing Li
fix below link error for powerpc lib/libLLVMSupport.a(CommandLine.cpp.o): in function `llvm::cl::opt_storage<(anonymous namespace): :HelpPrinterWrapper, true, true>::setLocation(llvm::cl::Option&, (anonymous namespace)::HelpPrinterWrapper&) [clone .isra.189]': /usr/src/debug/llvm/8.0-r0/git/llvm/include/llvm/Support/CommandLine.h:1218:(.text.startup+0x5c): relocation truncated to fit: R_PPC_PLTREL24 against symbol `llvm::errs()' defined in .text section in lib/libLLVMSupport.a(raw_ostream.cpp.o)+8000 lib/libLLVMSupport.a(CommandLine.cpp.o): in function `setLocation': Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-29llvm: fix more places where '8.0' version of llvm was hardcodedAlexander Kanavin
So that it says '8.0.0' to reflect the recent PV change. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-29llvm: support older toolchainsRoss Burton
LLVM is now warning if your host compiler is gcc <5.1, and some of our supported operating systems still only have 4.8.5. Set LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN so those builds continue to work, hopefully we retire the old operating systems before LLVM requires 5.1+. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>