[AMDGPU] Implement "non-av" semantics using metadata
When the MMRA tag !{!"amdgcn-av", !"none"} is present on a synchronization
operation (fence, atomic load/store/rmw/cmpxchg), suppress cache writeback
(MakeAvailable) and cache invalidation (MakeVisible) while preserving
memory ordering (waits).
This implements the metadata proposed in #191246.
Fixes: LCOMPILER-2214
Assisted-By: Claude Opus 4.6
[AMDGPU] Refactor insertRelease into insertWriteback + insertWait (NFC)
A release consists of two actions: write-back the current cache, and wait for
"relevant" outstanding operations to complete. With the new memory model, it is
possible to disable the cache write-back using "av none" semantics. This patch
cleanly separates the existing implementation so that the write-backs can be
selectively applied when such metadata is present.
Assisted-By: Claude Opus 4.6
[lld][LoongArch] Handle DTPREL relocations in debug sections
Teach the LoongArch lld backend to classify R_LARCH_TLS_DTPREL32
and R_LARCH_TLS_DTPREL64 as R_DTPREL.
This allows linker processing of TLS debug info references emitted
into .debug_info via .dtprelword/.dtpreldword. Add 32-bit and 64-bit
tests that assemble objects with DTPREL relocations in debug sections.
[libc++] Fix shared_ptr(Y*) constraint check on GCC (#199429)
GCC has fixed SFINAEing on `delete` since at least GCC 11, so we can
properly constrain the constructor.
[Mips] Remove mips from omitting the frame pointer for Linux (#199381)
6b1f976858eea5a64f058ca48873be834bd79569 enabled omitting
the frame pointer no matter what OS so remove the now redundancy
with having this on the Linux path.
[llubi] Print out inst location in stack trace (#199430)
This patch appends `file:line number` to each frame in the stack trace.
It would improve the debugging experience.
In all test files, the inputs are supplied via stdin. I think it should
be okay, as I don't need to add wildcards for filenames.
[AMDGPU] Introduce ABI occupancy for object linking
This PR introduces ABI occupancy as the contract used to compile functions under
object linking. The default is derived from the occupancy needed for a 1024
workitem workgroup, can be overridden with `-amdgpu-abi-waves-per-eu`, and can
be overridden per function by `amdgpu-flat-work-group-size` or tightened by an
accepted `amdgpu-waves-per-eu` hint.
The backend emits the selected occupancy in `.amdgpu.info` and uses it to
enforce the object linking register budget.
[clang] preserve exact redeclaration for getTemplateInstantiationPattern
This makes these functions not always return the definition if any.
The few users which depend on this are updated to fetch the definition
themselves.
Also fixes the VarDecl variant returning the queried declaration itself.
[AIX] Re-apply: Remove unsupported AIX native echo option -n by using printf (#199395)
AIX native echo doesn't support the `-n` flag.
Use `printf` instead to ensure the test works across all systems and
making it portable.
The current test fails as follows:
```
FAIL: lit :: unit/Util.py (1 of 1)
******************** TEST 'lit :: unit/Util.py' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
"/opt/freeware/bin/python3.12" /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# executed command: /opt/freeware/bin/python3.12 /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# .---command stderr------------
# | F..
[16 lines not shown]
[ConstantHoisting] Avoid DenseMap reference invalidated by insertion (#199468)
Fix https://reviews.llvm.org/D28962 : DenseMap does not promise to keep
references stable across insertion. This happens to work today because
we don't do bucket eviction.
Pre-populate every node up front.
[clang] implement CWG2064: ignore value dependence for decltype
The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.
This patch also implements what's neceessary to allow overloading
on pure differences in instantiation dependence, making `std::void_t`
usable for SFINAE purposes.
This also readds a few test cases from da98651, which was a previous attempt
at resolving CWG2064.
Fixes #8740
Fixes #61818
Fixes #190388
[clang] NFC: add some new test cases (#199467)
These are extracted from my current and future PRs.
They don't have much to do with the PRs themselves except that they were
regressions our test suite missed catching.
[clang] NFC: add some new test cases
These are extracted from my current and future PRs.
They don't have much to do with the PRs themselves except that
they were regressions our test suite missed catching.
[libc++][test] Move backported algorithms to `libcxx/test/support` (#199431)
And namespace `util`. This will make helpers provided more consistently,
and potentially allow us to unify test helper namespaces in the future.