[clang] allow canonicalizing assumed template names
Assumed template names are part of error recovery and encode just a
declaration name, making them always canonical. This patch allows
them to be canonicalized, which is trivial.
Fixes #183075
[AMDGPU] Add LIT tests for DS loop waitcnt prefetch flushed (tests-only PR) (#183217)
Test-only PR for PR #175658, and remove -O3 from PR #172728 LIT test per
post-merge comment
security/vuxml: add FreeBSD SAs issued on 2026-02-24
FreeBSD-SA-26:04.jail affects FreeBSD 13.5 and FreeBSD 14.3
FreeBSD-SA-26:05.route affects all supported versions of FreeBSD
[clang] allow canonicalizing assumed template names
Assumed template names are part of error recovery and encode just a
declaration name, making them always canonical. This patch allows
them to be canonicalized, which is trivial.
Fixes #183075
NAS-138973
Update and refactor 'stig mode' audit test.
Add test for trapping and reporting attempts to write to 'identity' type files,
e.g. /etc/shadow.
[Clang] Check the underlying type dependency in concept checking guards (#183010)
In the concept parameter mapping patch, we partially preserved sugar for
concept checking. However, in dependent contexts there may be
non-dependent aliases that still require concept checking to filter out
unwanted functions.
No release note because of being a regression.
Fixes https://github.com/llvm/llvm-project/issues/182344
[clang] create local instantiation scope for matching template template parameters
This fixes a bug where a partial substitution from the enclosing scope
is used to prepopulate an unrelated template argument deduction.
Fixes #181166
[lldb][DWARFASTParserClang][NFC] Make ParsedDWARFTypeAttributes parameter a const-ref (#183024)
In https://github.com/llvm/llvm-project/pull/182956 we stopped using
access specifiers from DWARF for most Clang decls we create. This
parameter no longer needs to be modified and we can make it a
`const-ref`.
[MLIR][XeGPU] Enable one-step subgroup distribution of cross-lane reduction to shuffle op (#182698)
This PR simplifies the current two-step distribution implementation for
vector.multi-reduction op on cross-lane reduction. Instead of first
lowering to vector.reduction op and further distribution, it directly
lowers to shuffles op. This removes the complexity of setting xegpu
layout for the intermediate operations (extract/insert/reduction)
generated on the fly during subgroup distribution pass.
[NFC] Thread `DataLayout` through helper function signatures for aggregate construction
Add `const DataLayout *DL` parameter to helper functions and classes that
construct aggregate constants but previously had no access to `DataLayout`. This
is the final preparatory step before the `ConstantPointerNull` semantic change,
ensuring aggregate collapse-to-`ConstantAggregateZero` checks have `DataLayout`
awareness in all remaining call sites.
[NFC] Pass `DataLayout` to aggregate constant factory call sites
Update callers of `ConstantArray::get`, `ConstantStruct::get`/`getAnon`,
`ConstantVector::get`, and `ConstantVector::getSplat` to pass the `DataLayout`
pointer where available.
This is preparatory work for the `ConstantPointerNull` semantic change. After
that change, aggregates containing pointer-null elements need `DataLayout` to
correctly determine whether they can collapse to `ConstantAggregateZero`.
Threading `DL` through callers now (NFC) ensures the eventual semantic change
does not break aggregate collapse for zero-null targets.
[NFCI][IR] Thread `DataLayout` through aggregate construction for collapse checks
Add `const DataLayout *DL = nullptr` to `ConstantArray::get`,
`ConstantStruct::get`, `ConstantVector::get`, and `ConstantVector::getSplat`
so the collapse-to-`ConstantAggregateZero` check uses `isZeroValue(DL)`
instead of `isZeroValue()`.
This is preparatory work for the upcoming `ConstantPointerNull` semantic
change, where `getZeroValue(ptrTy)` will diverge from
`ConstantPointerNull`. Without DL-aware collapse, aggregates containing
CPN would stop collapsing to CAZ, causing widespread test churn. With
this change, callers that pass DL will see correct collapse behavior,
while callers without DL fall back to a conservative identity check.
[DataLayout] Add null pointer value infrastructure
Add support for specifying the null pointer bit representation per
address space in DataLayout via new pointer spec flags:
- 'z': null pointer is all-zeros (assumed if unspecified)
- 'o': null pointer is all-ones
- 'c': custom/unknown null value (LLVM will not fold)
This adds:
- `std::optional<APInt> NullPtrValue` field to `PointerSpec`
- Parsing of z/o/c flags in pointer spec strings
- `getNullPtrValue(unsigned AS)` query API
- `isNullPointerAllZeroes(unsigned AS)` convenience method
- LangRef documentation for the new flags
- Unit tests for all new functionality
No target DataLayout strings are updated in this change. This is
pure infrastructure for a future ConstantPointerNull semantic change
to support targets with non-zero null pointers (e.g. AMDGPU).