[pull] main from llvm:main - #1717
Merged
Merged
Conversation
…ly (#213481) apply #209900 (comment) fix the duplication that causes issues like this: ``` lit-23: /__w/llvm-project/llvm-project/compiler-rt/test/builtins/Unit/lit.cfg.py:186: fatal: builtins_source_features contains duplicates: ['librt_has_floatdidf', 'librt_has_floatdisf', 'librt_has_floatundidf', 'librt_has_floatundisf'] FAILED: compiler-rt/test/builtins/CMakeFiles/check-builtins /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/CMakeFiles/check-builtins cd /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins && /usr/bin/python3 /usr/bin/lit-23 -sv --show-xfail --show-unsupported /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/TestCases /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/X86_64LinuxConfig ninja: build stopped: subcommand failed. ``` Part of #197824
Previously, we used `SymbolUserMap::replaceAllUsesWith` to replace symbols, but this could not update the symbol table cached by `SymbolUserMap` during traversal, leading to a crash. This PR switches to `SymbolTable::replaceAllSymbolUses`, which always operates on the latest symbol table and avoids the crash. Fixes #209648.
…213431) Add support for version 0.19 of the Smijt, Ssijt, Smehv, and Ssehv extensions from the RISC-V fast interrupt specification.
…212040) Related to #185382 CIR lowering for store intrinsics (`vst[234]_*`/`vst[234]q_*`) (https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#store) Port tests: - `clang/test/CodeGen/AArch64/neon-intrinsics.c` - `clang/test/CodeGen/AArch64/neon-ldst-one.c` - `clang/test/CodeGen/AArch64/poly64.c` to `clang/test/CodeGen/AArch64/neon/store.c`
…214072) Summary: This uses the `llvm-gpu-loader` tool to invoke OpenCL test kernels. This routes OpenCL through the standard compute runtimes, which aren't exactly 1-to-1 with OpenCL, but it's close enough. Obviously, the best solution would be to have a real OpenCL host library that can launch these, but this is the best we can get in-tree and is very sipmle, write kernel, test kernel. The goal is to have a lot more tests run here, but this just gets the basic infrastructure in place. We won't be able to do full conformance like external suites, like exhaustive math, but I think its' a step in the right direction. It looks like this on my side: ```console $ ninja check-libclc-amdgpu-amd-amdhsa-llvm ``` This requires building with the LLVM `offload/` runtime enabled for the source compiler.
Implement the GCC/Clang dependency-file flags for flang, which it previously rejected as unknown arguments: -M, -MM, -MD, -MMD, -MF, -MT and -MQ. Feature: - -MD/-MMD : write a .d file alongside a normal compile - -M/-MM : run through semantics; emit deps to stdout by default - -MF : dependency-file path - -MT/-MQ : target name (verbatim / Make-quoted) (-M==-MM and -MD==-MMD; Fortran has no system/user header split.) Design: - `-M`/`-MM`: driver passes `-fsyntax-only -dependency-file - -MT <target>` to `-fc1`. Running through semantics resolves USE statements so module file dependencies are captured in the output. This deviates from clang's prescan-only behaviour for -M, but is intentional: unlike C/C++ #include, Fortran's USE statement is resolved at the semantic stage, not during preprocessing. - `-MD`/`-MMD`: driver passes `-dependency-file foo.d -MT <target>` alongside the normal compile action. The object file is produced as usual, and the dependency file is written as a side effect. - `-MF <path>` overrides where the dependency file is written. `-MT <target>` sets the target name (the part before the colon in the Make rule) verbatim. `-MQ` does the same but additionally quotes characters that are special to Make. - In `-fc1`, `-dependency-file` and `-MT` are stored in the frontend options. After the action, `writeDependencyFile()` is called unconditionally. It collects every file opened during the action — the source plus all INCLUDE/#include/USE module files — via `GetIncludedFilePaths()`, then writes the `target: source includes...` Make rule to the specified file, or stdout if the path is `-`.
Fix imaginary value in Scalar and Complex subtraction Issue #213998
…sions (#199622) Add a statement attribute that suppresses MakeAvailable/MakeVisible cache operations on AMDGPU atomic instructions while preserving memory ordering (waits). The attribute takes a string argument specifying the mode. Currently "none" is the only supported mode. The resulting atomic or fence instruction carries !mmra !{!"amdgcn-av", !"none"} metadata. This only works with builtins that get lowered to intrinsics or instructions. The attribute does not survive inlining. For example, a C++ std atomic is typically a wrapper around a Clang builtin, and applying this attribute on the std atomic does not remove the MakeAvailableMakeVisible semantics built into it. Part of a stack: - #199486 - #199621 - #199489 - #208395 - #199622 Fixes: LCOMPILER-2214 Assisted-By: Claude Opus 4.6
Define `__SIG_ATOMIC_TYPE__` for compatibility with GCC. This fixes `riscv32-netbsd` and `riscv64-netbsd` system headers that define `sig_atomic_t` using this macro. Reference: https://gcc.gnu.org/onlinedocs/gcc-16.1.0/cpp/Common-Predefined-Macros.html Follow up of #199678, Closes #213895
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )