[AMDGPU] performSraCombine - SRA(X,BW-1) - don't freeze HI operand for single (repeated) shift (#193468)
When splitting i64 SRA(X,BW-1) sign splat shifts, don't both freezing the HI upper i32 as only a single (repeated) shift will be generated
Noticed in a regression in #188206
[Clang][SystemZ] Fix unwanted unsequenced volatile accesses in codegen tests (#190212)
This PR fix(as I hope) #186584
For fix I write one-use program that found and renamed volatile var in
funcall. After use tests seems valid(but more verbose) and it's pass.
Link to script: https://pastebin.com/QR71We5b
[LLVM][GlobalISel] Remove unnecessary comment (#193333)
Remove unnecessary FIXME from
`InstructionSelect.cpp:selectMachineFunction()`.
Reference: [[LLVM][GlobalISel] Support Blocks Created During Instruction
Selection #192625](https://github.com/llvm/llvm-project/pull/192625)
[Support][Cache] Make `pruneCache` return an `Expected`
When `sys::fs::disk_space` would fail in during a call to `pruneCache`,
it would report a `fatal_error`. However, a failure to prune doesn't
mean the caller should fail catastrophically.
Downstream, we use LLVM's cache in the OpenCL runtime. A failure to prune
the cache can be safely ignored without stopping the user's application.
[clang] Implement -fstrict-bool (#160790)
This PR implements the [-fstrict-bool
RFC](https://discourse.llvm.org/t/defining-what-happens-when-a-bool-isn-t-0-or-1/86778/).
``bool`` values are stored as i8 in memory, and it is undefined behavior
for a ``bool`` value to be any value other than 0 or 1. Clang exploits
this with range metadata: ``bool`` load instructions at any optimization
level above -O0 are assumed to only have their lowest bit set. This can
create memory safety problems when other bits are set, for instance
through ``memcpy``.
This change allows users to configure this behavior in three ways:
* ``-fstrict-bool`` represents the status quo; range metadata is added
at levels above -O0 and allows the compiler to assume in-memory ``bool``
values are always either 0 or 1.
* ``-fno-strict-bool[={truncate|nonzero}]`` disables range metadata on
``bool`` loaded values and offers two ways to interpret the loaded
[7 lines not shown]
[DAG] computeKnownFPClass - add ISD::EXTRACT_VECTOR_ELT handling (#190307)
This PR implements `ISD::EXTRACT_VECTOR_ELT` in
`SelectionDAG::computeKnownFPClass` to propagate floating-point class
information from vector sources to extracted scalar elements.
Additionally, added RISC-V test coverage for `ISD::EXTRACT_VECTOR_ELT`.
Fixes #189585
[debugserver][NFCI] Factor out logic handling breakpoint packets (#192912)
This creates a helper function that can be shared with the upcoming
MultiBreakpoint packet.
It is largely NFC with one logging exception: where we were previously
sending an "ILL_FORMED" error, we would identify the file/line in the
location where the error was emitted. This has been lost, however the
error messages are still unique enough that the line can be recovered
from the error message, and this is a principle we've been trying to
follow.
There was also a comment about gdb and refcounting of breakpoints. Such
comment was removed as it did not seem applicable to any line of code.
[clang-tidy][readability-identifier-length] Add a line count threshold (without std::transform_reduce) (#193276)
This PR is a new attempt at implementing the feature described in
#185318 after the rollback of #185319.
[clang] Suppress glibc C11 extension warning in `c-index-test` (#193335)
`c-index-test.c` is still compiled with `-std=gnu89` on purpose. That acts
as a useful guard rail: it helps keep the file compatible with older C
dialects instead of silently picking up newer C features because Clang
defaults to a newer language mode.
Ubuntu 26.04 LTS updates glibc's `string.h` so `strchr`, `strrchr` and
`strstr` are routed through `_Generic`-based macros. When Clang compiles
`c-index-test.c` with `-std=gnu89` and `-pedantic`, that now triggers
`-Wc11-extensions` warnings even though the source itself is not using
C11 features.
Keep the gnu89 check in place and suppress this warning only for Clang
when building c-index-test.
Fixes #193356