[lldb][NFC] Move XcodeSDK's sysroot into a separate XcodeSDKAndSysroot class (#224361)
`XcodeSDK` carried two unrelated things: the SDK identity parsed out of
an SDK directory name (`"MacOSX14.0.sdk"`), and the sysroot the compiler
recorded in `DW_AT_LLVM_sysroot`. The second is an absolute path on the
build machine and is only there when the SDK was read out of debug info.
Callers have no way to tell the two states apart.
This patch splits out `XcodeSDKAndSysroot`, which groups an `XcodeSDK`
with its sysroot. `XcodeSDK` keeps only the parsed SDK name, so
`XcodeSDK::Merge` no longer touches a sysroot.
`XcodeSDKAndSysroot::Merge` does that instead.
It follows the rules below:
- When the other SDK wins the merge, its sysroot comes with it.
- When merging only adds the `Internal` suffix to our own SDK name, the
sysroot is renamed alongside it, unless it does not name an SDK
[2 lines not shown]
[libcxx] Simplify container images (#225214)
Now that we can specify the image directly in the workflow, we do not
need to have the agent/base image split anymore.
NAS-143964 / 26.0.0 / Add tier field to sharing.s3 entries (by anodos325) (#19840)
Information about the current S3 share's tier was accidentally omitted
during intial round of S3 development. This commit adds the standard
tier info.
Original PR: https://github.com/truenas/middleware/pull/19818
Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
[GlobalISel] Add KnownFPClass printer pass (#225402)
Adds a dedicated print<gisel-value-tracking-fpclass> machine-function
pass.
Most KnownFPClassTest.cpp cases are migrated to MIR tests. The remaining
unit test covers a signaling-NaN-specific query that the printer cannot
represent.
Assisted by: gpt-5.6-sol
[CMake] Enable ccache depend mode when PCH is enabled (#225118)
ccache with PCH sometimes falls back to the preprocessor mode even when
using Clang. Enable ccache's "depend mode" to only rely on dependencies
as emitted by the compiler when PCH is enabled.
This requires moving the ccache logic to HandleLLVMOptions.cmake, as
whether PCH is enabled now impacts the ccache options. While moving,
also deduplicate the ccache+Clang detection logic and bundle all
PCH-related configurations together.
To ease debugging the ccache configuration, print the ccache command and
options as cmake output.
Fixes https://github.com/llvm/llvm-project/issues/225047.
See: https://github.com/ccache/ccache/issues/1686
[clangd] Don't offer Extract to Function for control-flow conditions (#223409)
Extracting the condition of an `if`/`while`/`do`/`for`/`switch` (or a
condition-variable
declaration) was treated the same as extracting a discardable
expression-statement, producing a `void`-returning function called
where the construct needs a value, e.g.:
```cpp
void extracted(int &event1, bool &event2, double &event3) {
event1 == 2 && event2 && event3 == 10.3;
}
int example(int event1, bool event2, double event3) {
if (extracted(event1, event2, event3)) // doesn't compile
return 1;
```
This slot was previously unreachable in practice because a blanket
"never extract a single `Expr`" check happened to also block it, but
[6 lines not shown]
[SPIR-V][NewPM] Do not require RegBankSelect in instruction selection (#225023)
SPIR-V skips RegBankSelect and keeps virtual registers, so the property
is never set
Match the legacy pipeline
NAS-143964 / 27.0.0-BETA.1 / Add tier field to sharing.s3 entries (#19818)
Information about the current S3 share's tier was accidentally omitted
during intial round of S3 development. This commit adds the standard
tier info.
[CIR] Correct how memberPath compares 'current class' (#225237)
I didn't realize in the past that `isSameEntity` didn't actually check
to make sure we were working on canonical/most recent decl, so this
patch adds those to each side of the check. If we don't, we end up
finding them not equal, and crashing later when trying to pick up the
correct index.
[SLP]Fix crash costing minbw-resized splat gather subtree roots
Splat gather subtree roots have no parent entry, but the min-bitwidth
resize-cost block assumed every non-root node has one and dereferenced
a null user. Charge the resize-back cast to the node's original scalar
type instead, matching the cast emitted when the reusing gather nodes
consume the resized vector.
Fixes https://github.com/llvm/llvm-project/pull/218250#issuecomment-5776455495
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225410