Skip to content

[pull] main from llvm:main - #1717

Merged
pull[bot] merged 14 commits into
MPACT-ORG:mainfrom
llvm:main
Aug 5, 2026
Merged

[pull] main from llvm:main#1717
pull[bot] merged 14 commits into
MPACT-ORG:mainfrom
llvm:main

Conversation

@pull

@pull pull Bot commented Aug 5, 2026

Copy link
Copy Markdown

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 : )

hulxv and others added 14 commits August 5, 2026 03:38
…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
)

Enable LLVM_ENABLE_ASSERTIONS and LLVM_ENABLE_WERROR in
baremetal_common.cmake
to ensure pre-merge checks catch assertion failures and compiler
warnings for
baremetal targets.

Assisted-by: Gemini
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
No change intended here, just adding this test coverage to show that
#213410 does not change it.

Pull Request: #214079
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
@pull pull Bot locked and limited conversation to collaborators Aug 5, 2026
@pull pull Bot added the ⤵️ pull label Aug 5, 2026
@pull
pull Bot merged commit c08ed4c into MPACT-ORG:main Aug 5, 2026
14 of 16 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.