Rename Compiler-RT target to compiler-rt in CMake files (#214364)
Visual Studio 2026 has trouble generating valid solutions for projects
with mismatching directory names.
The change renames the Compiler-RT target to match the directory name
"compiler-rt" in all CMake files.
[LAA] SCEV-licm-reduce depend_diff_types test (NFC) (#213875)
Reduce a couple of tests in depend_diff_types in a way that preserves
SCEV expressions, by creating invariants that we hoist outside the loop.
This makes the tests a bit clearer.
Illustration: https://godbolt.org/z/eTqdoPPzn
Co-authored-by: Andrei Elovikov <andrei.elovikov at sifive.com>
[libc] Add more Linux-specific macro for fcntl and sched. (#213727)
* Add more `O_` flags (in particular, `O_LARGEFILE`) to fcntl-macros and
group all creation/status flags (shared and arch-specific) together.
* Add Linux `CLONE_` flags to sched-macros (to be exposed from
`<sched.h>`). Those are also provided in `<linux/sched.h>` kernel
header, but the libc users often expect to find them in regular
`<sched.h>` as those are passed to `clone()` syscall wrapper. Migrate
internal Linux thread implementation to use our own header (instead of
Linux kernel) for these macro.
Updated with the following changes:
- Modified to report an error on boundary condition.
- Modified tests for the boundary error message.
- Corrected accessibility attributes by giving explicit attributes as needed.
- Added regression test for attributes.
- Reworded incorrect comment.
- Switched to originalTypeSymbol to use in-scope name.
- Added test case to verify pre-built mod name usage.
[AMDGPU] Fold fsub into fma_mix via free neg_lo modifier (#212305)
Rewrite the fsub->fma_mix pattern as `fma((-y), 1.0, x)` using the free
neg_lo modifier
instead of multiplying by -1.0 (which doesn't always flip the sign of
NaN), use the hardware free neg_lo bit, which does a true sign flip. As
a result, now the fold always matches fsub actual behavior instead of
only in the common case (non-NaN FP numbers)
[CodeGen] Fix null pointer dereferencing issue (#214543)
Fixes #197580. Fixes 99f7018958ed3daf2abf8d49178c24fbf1eb1010.
In Rematerializer::isRegIdenticalAtUses(), handle case when DefVN is
null.
[AMDGPU] Fix combineMasks dropping condition (#203180)
The problem is related to `S_AND (S_AND x, x), exec` case
When the nested mask op is the outer S_AND/S_OR first operand with two
identical operands, combineMasks kept exec instead of a nested operand,
folding to S_AND exec, exec and dropping the condition
[HIP] Add libhipcxx to the default header search path (#214279)
libhipcxx provides C++ library support for HIP device code, similar to
libcudacxx for CUDA. CUDA toolchains make libcudacxx available through
the
toolkit include path by default. HIP users should likewise be able to
include libhipcxx headers without an installation-specific include
option.
Add include/libhipcxx from the selected ROCm installation when the
directory exists. It follows the same search order and controls as the
other HIP include paths.
[AMDGPU] Fix SIFoldOperands miscompiling values that leave a divergent loop (#203256)
A scalar value latched per-lane inside a divergent loop was being folded
into a use after the loop, so every lane wrongly read the same value
[lldb][test] Skip the frame 0 expedite test with an out-of-tree debugserver (#214448)
`test_memory_reads_when_examining_frame0_locals` asserts that examining
frame 0's locals reads no stack memory, which only holds when
debugserver
expedites the stopped frame's stack in `jThreadsInfo`. That is
added in b631e0cbd1c9, so the assertion only holds for an in-tree
debugserver.
The GreenDragon `lldb-cmake-sanitized` bot configures with
`-DLLDB_USE_SYSTEM_DEBUGSERVER=ON`, so it tests against the debugserver
shipped in Xcode. That one predates the expedite, so test fails:
```
FAIL: test_memory_reads_when_examining_frame0_locals
AssertionError: 2 != 0 : expected NO stack memory reads for frame 0 (its
stack is expedited in jThreadsInfo).
memory reads while examining locals: stack=2 heap=1 other=1 (total=4)
stack region: [0x16b540000,0x16f53c000)
[7 lines not shown]
[SYCL][SPIR-V][Windows] Extend BaseSPIRTargetInfo host-adaptation for Windows support (#208196)
The existing host-adaptation mechanism in BaseSPIRTargetInfo copies type
properties from the host but has gaps causing incorrect behavior on
Windows:
1. PointerWidth/PointerAlign, SizeType, PtrDiffType, IntPtrType were not
copied from the host; derived classes hardcoded LP64 defaults.
2. getBuiltinVaListKind() returned VoidPtr unconditionally instead of
delegating to the host's va_list kind.
3. Derived-class constructors unconditionally overwrote host-adapted
values, working on Linux only by coincidence.
This patch addresses these issues by copying pointer-related types
from the host in BaseSPIRTargetInfo, delegating va_list kind to the
host,
and setting architecture-appropriate defaults in derived classes when no
host is
present or when host and device pointer widths differ.
[2 lines not shown]