summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* libclc: Define llvm tools needed during builddunfell-clang14Khem Raj2023-09-081-0/+5
| | | | | | | | | | | | | | It pokes at target llvm.cmake and gets the path LLVM_TOOLS_BINARY_DIR pointing to target sysroot however during cross builds it should be looking for tools for cross building in native sysroot MJ: otherwise it may fail to build with gold linker: DWARF error: invalid or unhandled FORM value: 0x23 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> (cherry picked from commit 5563999cd1e3b9e29532df8d6f2b3c9475f96833)
* clang: fix build with yocto uninative gcc 13Jose Quaresma2023-09-082-0/+33
| | | | | Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> (cherry picked from commit 35231498962d0f3e75866c7e20ae6b2f87a2ae28)
* sanitizer: Fix build with glibc 2.36Khem Raj2023-09-082-0/+63
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 013b5eeb580bc13b156aaf77d0c1175f75b89671)
* clang.bbclass: create lld symbolic link in sysroot when ld-is-lld is setMing Liu2023-09-081-0/+10
| | | | | | | | | | Create a symbolic link lld -> ld in recipe sysroot to choose the default linker lld when ld-is-lld is set in DISTRO_FEATURES. othereise, we can get linking issues when '-fuse-ld=lld' is in LDFLAGS but the actual ld is not lld. Signed-off-by: Ming Liu <liu.ming50@gmail.com> (cherry picked from commit 71321ddf78ea522b87a6b4bffefb14c988a6d921)
* llvm-config: add --libfiles optionNaveen Saini2023-09-081-0/+5
| | | | | | | | | | --libfiles Fully qualified library filenames for makefile depends. This option is being used by ispc cmake. https://github.com/ispc/ispc/blob/main/cmake/FindLLVM.cmake#L116 Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> (cherry picked from commit b9df71259272cc4e3078e92614720756ccb05845)
* Add missing scan-build runtime dependenciesmzink892023-09-081-0/+12
| | | | | | | * The perl scan-build script need some perl-modules to be executable Signed-off-by: Michel Zink <m.zink@rational-online.com> (cherry picked from commit 68ec449f97ffa58d835163581fc72afcb08f027b)
* clang: Move .so symlinks to -dev package fixes multilib buildKhem Raj2023-09-081-2/+2
| | | | | | | | | Fixes ERROR: lib32-clang-15.0.7-r0 do_package_qa: QA Issue: non -dev/-dbg/nativesdk- package lib32-liblldb contains symlink .so '/usr/lib/liblldbIntelFeatures.so' non -dev/-dbg/nativesdk- package lib32-liblldb contains symlink .so '/usr/lib/liblldb.so' [dev-so] ERROR: lib32-clang-15.0.7-r0 do_package_qa: Fatal QA errors were found, failing task. Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 56a8534b6d7f029914e5ed91cae994dac26fcf24)
* llvm-project-source: Ensure deploy_source_date_epoch sstate hash doesn't changeKhem Raj2023-09-081-1/+7
| | | | | | | | | | if machines are switched, do_deploy_source_date_epoch would re-run as the stamps are tune specific Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 16c67b492aeb5f356688858b2bafda75fec49069) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> (cherry picked from commit e33eec34a85bac111efbf034dfe782fe3c105b05)
* common-source: fix create-spdx handlingKonrad Weihmann2023-09-081-0/+6
| | | | | | | | | | | | | | | | | | | - do_create_spdx does have to wait till the shared source tree is properly populated - override the spdx class code detection to determine if sources are under work-shared. the core code does only look at WORKDIR, which isn’t overridden in every case, more likely only S and B are touched, which make the spdx class code assume that these are per-workdir sources and starts to remove the shared sources via bitbake’s cleandirs settings. Avoid that by let the code always handle recipes including common-source as shared sources. Relates to #721 Signed-off-by: Konrad Weihmann <kweihmann@witekio.com> (cherry picked from commit b7c0dcc4bc7f0d273f14cc0a70bcad5555a4be04)
* llvm-project-source: fix create-spdx handlingKonrad Weihmann2023-09-081-0/+2
| | | | | | | | | as the recipe populates the shared source tree as part of do_patch, but create-spdx does only wait for do_unpack. Add an explicit dependency to wait to avoid race conditions Signed-off-by: Konrad Weihmann <kweihmann@witekio.com> (cherry picked from commit dc95c5ee548526c615e8ee740a00c93abbe5da1a)
* Fix OpenMP builds with thin LTO enabled.Jan Dorniak2023-09-081-0/+2
| | | | | | | | | | | When built with thin LTO enabled, LLVM produces object files containing LLVM IR, which ld can't understand. Since we're forcing the toolchain to clang anyway, let's also force using lld. Fixes GitHub #708 Signed-off-by: Jan Dorniak <jaskij@gmail.com> (cherry picked from commit bc8388c622c62cde24512d5b4473ede1f5710348)
* linux-yocto: Use binutils provided stripKhem Raj2023-09-081-0/+1
| | | | | | | We are not _yet_ using clang as kernel compiler Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 299a5fd24b7bee2191127c9fef8bd39d807f3492)
* nonclangable.conf: Add new exceptionsAleksey Smirnov2023-09-081-0/+11
| | | | | | | | | | Add "erlang" for all architectures (found on riscv64 and x86-64) Add "grub" for x86-64 architecture Use proper OBJCOPY for "linux-yocto" for all architectures Signed-off-by: Aleksey Smirnov <aleksey.smirnov@yadro.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit f7fa299e3e759f0cd9bcd57fffcf8d9051e5d2ea)
* clang: Add compiler-rt and libcxx to build time depends for targetKhem Raj2023-09-081-1/+1
| | | | | | | These are not staged into sysroot otherwise and cmake fails to configure Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 5d6c7c189e4abdfc3e4b309f7edadcbddb9236eb)
* compiler-rt-sanitizers: fix multiple installations for orc libMamta Shukla2023-09-081-1/+2
| | | | | | | | remove libclang_rt.orc and c_orc.h header since it is being installed by both compiler-rt and compiler-rt-sanitizer when built for arm. Signed-off-by: Mamta Shukla <mamta.shukla@leica-geosystems.com> (cherry picked from commit ed5ac4ff7a8d3704f2d2fe9db659304d1b360e2c)
* compiler-rt-sanitizer: fix nativesdk-compiler-rt-sanitizers buildMamta Shukla2023-09-081-1/+1
| | | | | Signed-off-by: Mamta Shukla <mamta.shukla@leica-geosystems.com> (cherry picked from commit 8e53d8f91b0afd9d9076c5e052297cfd5d494db6)
* spirv-llvm-translator: fix branch nameAnuj Mittal2023-09-081-1/+1
| | | | | | | | | | Upstream doesn't have a branch 'master' anymore so switch to using LLVM 14 specific branch. meta-clang master uses main branch so that doesn't have this problem. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> (cherry picked from commit 7952eba1d16264b605682ae1ccbea4d8c6e9fcac)
* clang: Fix native and nativesdk builds for hf targetsEsben Haabendal2023-09-083-3/+6
| | | | | | | | | | | | Setting the ${HF} variable based on ${TUNE_CCARGS_MFLOAT} does only make sense for target builds, as it defines arguments for target. Without this fix, building with hf machine configuration will cause problems, as native and nativesdk triplets will be include "hf", something like "x86_64hf-linux", which is wrong and not recognized by LLVM build/configuration system. Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com> (cherry picked from commit 9cea73660aa56b461f96487ddcbfba5e7b64fafb) (cherry picked from commit d669d873edf68dc7440bb07096737203bb7ec505)
* compiler-rt: backport a patch fixing ARMv5 cross-compileMing Liu2023-09-082-0/+66
| | | | | | | | | | | | | | Compiler-rt cross-compile for ARMv5 fails because D99282 made it an error if DMB is used for any pre-ARMv6 targets. More specifically, the "#error only supported on ARMv6+" added in D99282 will cause compilation to fail when any source file which includes assembly.h are compiled for pre-ARMv6 targets. Since the only place where DMB is used is syn-ops.h (which is only included by arm/sync_fetch_and_* and these files are excluded from being built for older targets), this patch moves the definition there to avoid the issues described above. Signed-off-by: Ming Liu <liu.ming50@gmail.com> (cherry picked from commit 36c4dc63c96fb0962d3825c19b22a166db0f3e4f)
* compiler-rt: Build clang_rt.profile library when possibleEsben Haabendal2023-09-081-1/+1
| | | | | | | | | | | | | | | To enable clang_rt.profile library do something like the following in local.conf or your distro configuration. PACKAGECONFIG:pn-compiler-rt = "profile" The clang_rt.profile library is used to collect coverage information. It is a static library, so does not introduce any additional footprint in target images. Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com> (cherry picked from commit 659d43190d906b6e6081deb48a4bdb038eea0f27) (cherry picked from commit cd7b2f8c90962bef4e8b272ce6863a57b73f20fc)
* clang: Upgrade to 14.0.3Khem Raj2023-09-082-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings these changes * 1f9140064dfb Bump version to 14.0.3 * 2e7e14177186 workflows: Add a test to ensure that the LLVM version is correct * 0e27d08cdeb3 [RISCV] Fix crash for section alignment with .option norvc * a36801750327 [asan] Always skip first object from dl_iterate_phdr * 1f4c7b2a9120 [RISCV] Don't emit fractional VIDs with negative steps * e19be4195b87 [RISCV] Add another test showing incorrect BUILD_VECTOR lowering * 9efcce92b55b [RISCV] Fix lowering of BUILD_VECTORs as VID sequences * 21ce6cfd1d93 [RISCV] Add tests showing incorrect BUILD_VECTOR lowering * 58d5fbe2c20b [llvm-mt] Add support /notify_update * 50c6ba751fa2 [RISCV] Only try LUI+SH*ADD+ADDI for int materialization if LUI+ADDI+SH*ADD failed. * dc30b0d3320d [ELF] --emit-relocs: fix missing STT_SECTION when the first input section is synthetic * 324127d8da95 [libcxx] Add some missing xlocale wrapper functions for OpenBSD * ebf29ba9f0a3 [LV] Remove stray debug dump added in 0d2efbb8b82c. * 0d2efbb8b82c [LV] Always use add to add scalar iv and (startidx + step) for ints. * e7a9fd4f57d6 [LV] Add test case for PR54427. * 9a3e81e1f91f [InstCombine] canonicalize select with signbit test * b83c4a2dc0fb [x86] Fix infinite loop inside DAG combiner with lzcnt feature. * 0fbe860711be [Clang][Fortify] drop inline decls when redeclared * 571c7d8f6dae Reland "[llvm][AArch64] Insert "bti j" after call to setjmp" * 0f56ce0fb207 [DebugInfo][InstrRef] Avoid a crash from mixed variable location modes * e8f03f2057ee Force GHashCell to be 8-byte-aligned. * 09fba23d41f7 [compiler-rt] Implement __clear_cache on FreeBSD/powerpc * 33504b3bbe10 [PowerPC] Allow absolute expressions in relocations * 3400d0293a14 [CMake] Update cache file for Win to ARM Linux cross toolchain builders. NFC. * 6c41c8edb0cc [CMake] Replace `TARGET_TRIPLE` with `TOOLCHAIN_TARGET_TRIPLE` for Win-to-Arm cross toolchain cache file. NFC. * b6dbee34387d [CMake] Update cache file for Win to ARM cross tooolchain. NFC. * 46d19f3a8699 [CMake] Use CMAKE_SYSROOT to build libs for Win to ARM cross tooolchain. NFC. * e11b929a3c97 [LLD][COFF] Fix TypeServerSource matcher with more than one collision * d800180f6bee [lld][COFF] Fix TypeServerSource lookup on GUID collisions * 8c3445ac1c8b [AArch64][LOH] Don't ignore regmasks in bundles by iterating over instrs. * 43ee392dd462 [InstCombine] try to fold low-mask of ashr to lshr * 5ea5e3c01b7b [InstCombine] add tests for low-mask of ashr; NFC * fe8a27acd716 [LV] Handle zero cost loops in selectInterleaveCount. * 2c4d288eae8b [RISCV][NFC] Add missing lit.local.cfg in test/CodeGen/MIR/RISCV/ * d0f27fb44952 [RISCV] Fixing stack offset for RVV object with vararg in stack. * b6e91d4a331e [RISCV] Pre-commit for fixing stack offset for RVV object * 87599bdabbd1 [RISCV] Store/restore RISCVMachineFunctionInfo into MIR YAML file * 5c9eed741dbd [libc++] Make __dir_stream visibility declaration consistent * c62053979489 [AArch64] Fix the upper limit for folded address offsets for COFF * 6697c5bc3a1e [compiler-rt] [scudo] Use -mcrc32 on x86 when available * 8475349bd639 [AARCH64] ssbs should be enabled by default for cortex-x1, cortex-x1c, cortex-a77 * d4e3c50b2bda [libc++] Define `namespace views` in its own detail header. Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 85d956d95401479ca666139e31f662f60c156d5f)
* libcxx: Fix nativesdk buildingEsben Haabendal2023-09-081-0/+7
| | | | | Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com> (cherry picked from commit 12a5f8be1201fa1fcb62aa004542279d5c9acae0)
* compiler-rt: Fix nativesdk buildingEsben Haabendal2023-09-081-1/+6
| | | | | Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com> (cherry picked from commit f3c3e492285b57b269916b795b2e8b8767eb6179)
* clang.bbclass: Use BASELIB instead of base_libdir in YOCTO_ALTERNATE_LIBDIRKhem Raj2023-09-081-1/+1
| | | | | | | base_libdir may vary e.g. when using usrmerge feature Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit e8b870b3c0a0ca0ef7d41551b6e8a607d1a39433)
* clang: Enable altivec again for ppc32Khem Raj2023-09-081-4/+0
| | | | | | | This was disabled for musl issue which is not related to altivec Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 10461fab44ebdcee5e06c2eeb943b4d08f817965)
* musl: Build with clang on ppc64Khem Raj2023-09-081-1/+0
| | | | | | | The build issue is only seen on ppc32 Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 07c1cf8e19afa529299dc3aed5c14cb42c0b8d8b)
* compiler-rt: Build builtins only for the default targetEsben Haabendal2023-09-081-1/+2
| | | | | | | | | | | | | | | | | We were never really supposed to build for multiple target architectures in one compiler-rt build, so let's use the feature created to do exactly that. This also happens to fix building for ARM softfp ABI builds, where the target architecture guessing logics ends up with: -- Builtin supported architectures: arm;armv6m And later on bailing out because of duplicate ninja rules: ninja: error: build.ninja:56765: multiple rules generate lib/clang/14.0.0/lib/linux/libclang_rt.builtins-arm.a [-w dupbuild=err] Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com> (cherry picked from commit 74c7f6524cddd258f916e8e4acfb9e49d1870b65)
* libclc: Export YOCTO_ALTERNATE_EXE_PATH and YOCTO_ALTERNATE_LIBDIRKhem Raj2023-09-081-0/+3
| | | | | | | They need to be explicitly exported Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 401ed263f0d3297a05d8ffbe2d7dbcba76828b41)
* clang: Upgrade to latest on 14.x release branchKhem Raj2023-09-0839-175/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | brings in these fixes * ec13fed5867f [X86] lowerV8I16Shuffle - use explicit SmallVector<SDValue, 4> width to avoid MSVC AVX alignment bug * aaf0c921a54a [clang-repl] Add an accessor to our underlying execution engine * d150523f0776 [AArch64] Use correct calling convention for each vararg * fd98b0f1a6a1 [SelectionDAG] Don't create illegally-typed nodes while constant folding * d53e2603383a [AArch64] Allow .variant_pcs before the symbol is registered * 67a290460c37 [VectorCombine] Insert addrspacecast when crossing address space boundaries * 353068233f21 [ELF] Fix llvm_unreachable failure when COMMON is placed in SHT_PROGBITS output section * 311a622edd31 [Object][test] Fix invalid.test * 1007cb795a3c [llvm-objdump] --private-headers: change errors to warnings for dynamic section dumping * c9ec4902c3e3 [llvm-objdump][test] dos2unix some files * 5b9dd016bec7 [SelectionDAG][RISCV] Make RegsForValue::getCopyToRegs explicitly zero_extend constants. * e9b26b5b2a70 [RISCV] Add test case for miscompile caused by treating ANY_EXTEND of constants as SIGN_EXTEND. * a4681df0202c [libcxx] [test] Avoid spurious test breakage in clang-cl-dll configs with newer CMake * db07d9f098b3 [MC] Fix llvm_unreachable when a STB_GNU_UNIQUE symbol needs a relocation * 22d7bee01a5a [PPCISelLowering] Avoid emitting calls to __multi3, __muloti4 * 23d08271a4b2 Add cmake/ to release tarballs via concatenation * b69247dcbd80 [libcxx] random_device, specify optimal entropy properties for all OS's using arc4random() * 63e7af77ec42 [Clang][NeonEmitter] emit ret decl first for -Wdeclaration-after-statement * f3b89727716a [Driver][OpenBSD] Disable unwind tables on Arm * fe5c24e93754 [docs] Fix typo in tutorial * 99c0f85ef992 Re-commit: Driver: Don't warn on -mbranch-protection when linking * 0547ffef5d39 workflows: Consolidate tests to reduce the number of build jobs * bd8dc965cff1 Bump version to 14.0.1 Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit f50840f34d5fb9529da5354e0e6796752b03ca5f)
* python3: Use gcc for riscv/aarch64 and all muslKhem Raj2023-09-081-0/+8
| | | | | | | | | | Configure test crashes while using clang on riscv aarch64 needs to use gcc until [1] is merged [1] https://lists.openembedded.org/g/openembedded-core/message/164192 Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 3882c27310b16e6fc097cca1966cea591769cc5c)
* nonclangable: Enable clang for several packages pinned to gcc-onlyKhem Raj2023-09-081-27/+2
| | | | | | | | with clang-14 more packages are now buildable from the exlcusion list, therefore enable clang for them. Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit aa770155dcfee2caf575f28ecef26acfbe1060b3)
* clang.bbclass: Do not export llvm-config variablesKhem Raj2023-09-081-6/+4
| | | | | | | | | | exporting them changes signatures of the tasks for all recipes includeing native ones, so when meta-clang is not used it ends up building all native recipes too. Defining these variables is good enought for clang to see them in do_compile shell for target recipes Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 17a6480b5e03a73d38b2d26c072aa51957ae747d)
* clang: Add a patch to fix llvm-objdumpKhem Raj2023-09-082-0/+136
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 42dd5484867b772767a33340ee219fb9f42799e4)
* clang.bbclass: Export YOCTO_ALTERNATE_LIBDIR and YOCTO_ALTERNATE_EXE_PATHKhem Raj2023-09-081-0/+9
| | | | | | | | These variables are used during target package compiles in packages which user llvm-config e.g. libclc Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 7008a2e1ee0755d5c35210f0bf5077f37126bf23)
* llvm-config: Set YOCTO_ALTERNATE_LIBDIR and YOCTO_ALTERNATE_EXE_PATHKhem Raj2023-09-081-3/+2
| | | | | | | If they are set by recipe in env, respect that Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 3f7efaef4ba5b312737eeaa8c73ce84dd5271d08)
* clang: Add env override for libdirKhem Raj2023-09-0838-70/+102
| | | | | | | | | | | | | | This is useful when using clang cross compiler and the packages rely on llvm-config to detect paths and various attributes of clang/llvm install Update to latest on 14.x as well * 3f43d803382d [libc++] Re-enable workaround for pre-ranges CTAD in std::span * add3ab7f4c8a [libc++] Add workaround to avoid breaking users of <span> when <ranges> are disabled * 329fda39c507 NFC: Mention auto-vec support for SVE in release notes. Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit fb382a5da9de491277f72e46e0466749c607aac9)
* libcxx: Drop duplicate setting of LLVM_LIBDIR_SUFFIXKhem Raj2023-09-081-2/+0
| | | | | | | LLVM_LIBDIR_SUFFIX is already computed fine in clang.inc Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit ee587d0bace8a5a33d0c141e253d7a95f5dad97f)
* clang.bbclass: Be mindful of multilibs when adding tools dependenciesKhem Raj2023-09-081-2/+2
| | | | | | | | This ensures that multilib prefix is respected in dependencies and can be handled when distro enables multilib Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 1d8389b120231a2a1bfde478ec2910b14a808c7c)
* llvm-project-source: Emit all default MULTILIB_GLOBAL_VARIANTSKhem Raj2023-09-081-2/+3
| | | | | | | | | | | This ensures that signature of do_patch does not change between multilib and non-multilib builds of clang-native, this essentially hardcodes the multilib variants to lib32 lib64 libx32 which is 99.9% usecase, if you fall into 0.1% then go ahead and modify MULTILIB_VARIANTS in a bbappend file and it will be fine. Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 2979956a6925c5a167de451fc804738e96d41637)
* clang: Avoid double libcxx in BASE_DEFAULT_DEPSEsben Haabendal2023-09-081-1/+1
| | | | | | | | When RUNTIME=="llvm" the libcxx entry will be added in a separate if clause right after this. We don't need it twice. Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com> (cherry picked from commit c63c71b03b413a590825861e3fcb1ebed42eb98a)
* musl: Use gcc for ppc32 archKhem Raj2023-09-081-0/+6
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 10b32c6112b617d9f54d3521205c26af467cd1ab)
* clang.bbclass: Remove commented codeKhem Raj2023-09-081-4/+0
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 1eb90320efec7c904e4e71454f5239dda173c40d)
* clang: Update to 14.0.0 RC4Khem Raj2023-09-081-1/+1
| | | | | | | | | | | | | | Brings in these changes * 69ba522c58d0 [Hexagon] Fix crash with shuffle_vector of v128f16 * ac3398a0b003 Revert "[CMake] Include runtimes test suites in check-all" * df2fcea78fb8 Revert "Revert "Revert "[release] Use the Bootstrapping build for building LLVM releases""" * 893b864cb855 Revert "GCC ABI Compatibility: Preserve alignment of non-pod members in packed structs" * a9415df334f0 Revert "Revert "[release] Use the Bootstrapping build for building LLVM releases"" * e54a7bf0c0f1 [CMake] Include runtimes test suites in check-all Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 0a441ca6de399e7ee48aad68417599365ff0df9f)
* clang: Use -mno-altivec for ppc 7400Khem Raj2023-09-081-7/+11
| | | | | | | | | | | | Workaround qemuppc illegal instruction trap on vxor instruction emulation this instruction is emitted by clang with -mcpu=7400 on ppc32 when compiling musl/strspn.c file The crash shows up running qemu-ppc via gobject-introspection, so a long unwieldy path but we know whats happening Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 321edad13fd9275fb08700252d58a38b2b400670)
* lldb: Disable builds for ppc32Khem Raj2023-09-081-0/+1
| | | | | | | | | ppc32 build fails, disable for now NativeThreadLinux.cpp:(.text._ZN12lldb_private13process_linux17NativeThreadLinuxC2ERNS0_18NativeProcessLinuxEy+0x84): undefined reference to `lldb_private::process_linux::NativeRegisterContextLinux::CreateHostNativeRegisterContextLinux(lldb_private::ArchSpec const&, lldb_private::process_linux::NativeThreadLinux&)' Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 8efb230dd73cfd19e575ff42fea979d977b05c97)
* clang: Upgrade to latest on 14.xKhem Raj2023-09-0839-95/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable __int128 for compiler-rt/ppc32 Drop redundant ppc patch which is fixed upstream already Brings these fixes * e879b2bf82ef [libcxxabi] [test] Depend on unwind only if available * 569b773323a3 [libcxx][CI] Set Arm triples to match native clang build's default * f7007c570a21 Lambdas are not necessarily locals. This resolves DR48250. * eb84577cbc23 Revert "[release] Use the Bootstrapping build for building LLVM releases" * d843bde69aab [clang][driver] Fix float128 diagnostics with glibc >= 2.32 * ba9ff030d302 [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP * da3953fb0315 [NFC][PhaseOrdering] Add some tests from D119839 * 8b51e5ee0a2e [NewPM][Inliner] Make inlined calls to functions in same SCC as callee exponentially expensive * 6a713120502a [llvm] [bindings/OCaml] Remove unused dep on ounit2 * 2de2a2bba998 [LICM][PhaseOrder] Don't speculate in LICM until after running loop rotate * 7d1cd3380add [NFC][PhaseOrdering] Improve test coverage for D119975 * 1f4613675051 [NFC][PhaseOrdering] spurious-peeling.ll: also test -O1/-O2 results * 36bf1a9e628d [NFC][PhaseOrdering] Precommit tests from D119965 * 67555104d23a [MachineSink] Disable if there are any irreducible cycles * 1e4fd59253c6 [CodeGen] Add test for PR53990 (NFC) * bfaed485756a [BOLT][CMAKE] Remove CMake 3.13.4 incompatible parameter * 43b4544023b7 [LLD] [COFF] Order .debug_* sections at the end, to avoid leaving gaps if stripped * e6d2aa9b0f13 [MC][WebAssembly] Fix crash when relocation addend underlows U32 * f6a4df3a0a3d [WebAssembly] Covert llvm/test/MC/WebAssembly/reloc-code.ll to asm. NFC * 9d54fe21c67f [docs] Add RISC-V release notes for LLVM 14 * 1e3d5ccab6b6 Add cmake to source release tarballs * 0205cc086e50 [OpenMP][FIX] Ensure custom state machine works * 0826716786cd [Mips] support "sp" named register * 09546e1b5103 [libc++][doc] Update the release notes. * 8f9f84c6873e [docs] clang/docs/ReleaseNotes.rst: Add blank line * aab33202d239 [docs] PowerPC release notes formatting/grammar fixes * acf67b7a0dfc [docs] Tweak wording of note re: LTO on AIX * ce1e90fc8dba [docs] Add PowerPC release notes for LLVM 14 Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit b3e3eeea3d64a7443ff7253f8ce4609b17ed5e3f)
* clang: Update to 14.0.0-rc2+Khem Raj2023-09-0837-97/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 65d53279b1fd RISCV] More correctly ignore Zfinx register classes in getRegForInlineAsmConstraint. * f1e7f848bf3e [clang][tests] Fix ve-toolchain tests with CLANG_DEFAULT_UNWINDLIB * 6d5afef3a7e6 [examples][BuildingAJIT] Use the right layer when adding code in Chapter 3. * 4fde843cd5c0 [ORC] Set ResolverBlockAddr in EPCIndirectionUtils::writeResolverBlock. * a98c04d58930 [Attributor][FIX] Use liveness information of the right function * 261253aa60cc [Clang][docs] Add preprocessor changes to ReleaseNotes. * 967296bfefee [RISCV] Fix inline asm errors in zfinx * 4c9110a5f37b [MIPS] Recognize DT_MIPS_XHASH dynamic table tag * ce3d57ad61db Revert "[BPF] Fix a BTF type pruning bug" * 19149538e9a9 [BPF] Fix a BTF type pruning bug * da33d400682a [SLP] Don't try to vectorize pair with insertelement * 3001b0d51963 [fir] Fix FlangOptimizerTests link on Solaris * 41d4f89e38b7 [X86ISelLowering] permit BlockAddressSDNode "i" constraints for PIC * d245bcf536a3 [Mangler] Mangle aliases to fastcall/vectorcall functions correctly * 0372676278dd [AArch64][SME] Remove term 'streaming-sve' from assembler diagnostics. * f58ab3285021 [Attributor][FIX] Pipe UsedAssumedInformation through more interfaces * 4327d39b15b2 [libcxx] Add an explicit option to build against system-libcxxabi * 3d913ec92308 [llvm] [cmake] Fix finding modern ounit2 * b3e9abd9683b [libunwind] Further fix for 32-bit PowerPC processors without AltiVec * d09f84adff1e [compiler-rt] Force ABI to libcxxabi when building cxustom libc++ * e08bab88c900 [Driver][DragonFly] -r: imply -nostdlib like GCC * 21f87ad9f590 [Driver][NetBSD] -r: imply -nostdlib like GCC * 779871c3515a [mlir-tblgen] Fix non-deterministic generating static verifier in DRR. * 4de8e5698278 [RISCV] Fix parseBareSymbol to not double-parse top-level operators * b29813fbbbaf [OpenMP] Use executable path when searching for lld * 14c432b6a17a [OpenMP] Add search path for llvm-strip * 453361d5ac01 [DSE] Fall back to CFG scan for unreachable terminators. * 03cf88fc94da [DSE] Extract a common PDT check (NFC) * ee0ae47691d3 [RISCV] Avoid infinite loop between DAGCombiner::visitMUL and RISCVISelLowering::transformAddImmMulImm * 61e78c64a38a [libunwind] Only include cet.h if __CET__ defined * 5f5b687460c3 Fix warning introduced by 47eff645d8e873ba531014751c1c06a716a367e9 * 64534d2f406c [InstCombine] Bail out of load-store forwarding for scalable vector types * 4fe93c000b20 [SLP] Fix assert from non-constant index in insertelement * a2398c560144 [Driver][OpenBSD] Enable unwind tables on all architectures * aadd03a2accd [clang][ASTReader] Fix memory leak while reading FriendTemplateDecls * 8a323ada234b [clang][SemaTemplate] Fix a stack use after scope * d61805a8b686 [libc++] Fix double file closing in `std::filesystem::remove_all()`. * f8ca5fabdb54 [ELF][X86] Don't create IBT .plt if there is no PLT entry * 8400036358c8 [libunwind][test] remember_state_leak.pass.sh.s: link with -no-pie * df3182a7df19 [clang] [test] Skip hip-fpie-option.hip if default-pie * cdd8cca0c33c [ELF] Support some absolute/PC-relative relocation types for REL format * e89602b7b2ec [clang-tidy] Fix `readability-suspicious-call-argument` crash for arguments without name-like identifier * 1f7e8b1c6893 [Docs] Added note about LLDB Win/Arm64 binary release * bdbca8f3d0b2 [asan][test] asan_prelink_test.cpp: use -fno-pie -no-pie * 3e10605abcb2 [Driver][test] Remove soon irrelevant pie tests * 2a492dfd6b4e [Driver][test] Make hexagon-toolchain-elf.c work with CLANG_DEFAULT_PIE_ON_LINUX=on * 443f68c280ac [clang][test] Make mips-vector-return.c work with CLANG_DEFAULT_PIE_ON_LINUX=on * 500889f56bce [MIPS] Add `-no-pie` option to the clang driver's tests depend on it Drop 0036-Avoid-infinite-loop-between-DAGCombiner-visitMUL-and.patch which is upstreamed now. Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit b19d5f6ab906bc3ddaa5c98bc871ecc8f98d4eeb)
* clang: Update to latest 14.xKhem Raj2023-09-0838-41/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport a fix to avoid compiler hangs on RISCV [1] This brings following changes * 2fe5bf57172c [Driver] Use libatomic for 32-bit SPARC atomics support * 46266b3518b6 [mlir][sparse] Rename index_t to index_type again * 03d9a4094763 [AArch64][SVE] Fix selection failure during lowering of shuffle_vector * 8b5b29c4c2c5 Fix incorrect TypeSize->uint64_t cast in InductionDescriptor::isInductionPHI * 8c33ea3ab0ef [SVE][CodeGen] Bail out for scalable vectors in AArch64TargetLowering::ReconstructShuffle * 1362f8bdfce7 [AArch64][SVE] Fix selection failure caused by fp/int convert using non-Neon types * 88f8980a4d95 [AArch64][SVE] Add structured load/store opcodes to getMemOpInfo * cefe6876d6e5 [llvm-objcopy][COFF] Fix section name encoding * 3367c24735c3 [COFF] Move section name encoding into BinaryFormat * 9672d11441fd [MLIR][Presburger] Disambiguate call to floor * 08ad9ae10f32 [InstSimplify] Strip offsets once in computePointerICmp() * 5593af72d0c5 [Attributor][FIX] Heap2Stack needs to use the alloca AS * b3d3501aa128 [OpenMP][FIX] Eliminate race on the IsSPMD global * 9bf8897c84f7 [OpenMP] Add RTL function to externalization RAII * 56ac6dbc7369 [RuntimeDyld] Fix building on OpenBSD * fef110bf8b2b [clangd] Fix building SerializationTests unit test on OpenBSD * 13fdc7afa856 [Attributor][FIX] Reachability needs to account for readonly callees * f3cfaf8bc8eb [MemoryBuiltins][FIX] Adjust index type size properly wrt. AS casts * c06cc1c3a7f8 [libc++] Fix std::__debug_less in c++17. * 7d8e83dab37a [funcattrs] check reachability to improve noreturn * e1b3afbbdef1 [SLP] Simplify indices processing for insertelements * 1e340705f142 [PowerPC] Add default handling for single element vectors, and split/promote vNi1 vectors. * 908c1bae6e7f [RISCV] Fix incorrect extend type in vwmulsu combine. [1] https://github.com/llvmbot/llvm-project/pull/95 Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit eb7d0bc2afa76850b3dc25799a33f313f4f8ee8f)
* clang: Use GNU objdump on mipsKhem Raj2023-09-081-0/+3
| | | | | | | | There are missing features in llvm-objdump especially for gnu-hash sections for mips Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit a6cea51ab2b0923340012655ac0f13afba899e57)
* clang: set POPULATESYSROOTDEPS so that strip is presentRoss Burton2023-09-081-0/+3
| | | | | | | | | | | | | do_populate_sysroot will execute the cross STRIP as part of the processing. In non-clang builds this is present via POPULATESYSROOTDEPS pulling in binutils, but in clang builds STRIP is set to llvm-strip which obviously isn't part of binutils. Set POPULATESYSROOTDEPS correctly to ensure that do_populate_sysroot has the strip binary available. Signed-off-by: Ross Burton <ross.burton@arm.com> (cherry picked from commit bf344026d9798d8a9077aa7d52ba29e83cc4dd42)