Add AMO load with Compare and Swap Not Equal
This commit adds support for lwat/ldat atomic operations with function
code 16 (Compare and Swap Not Equal) via 4 clang builtins:
__builtin_amo_lwat_csne for 32-bit unsigned operations
__builtin_amo_ldat_csne for 64-bit unsigned operations
__builtin_amo_lwat_csne_s for 32-bit signed operations
__builtin_amo_ldat_csne_s for 64-bit signed operations
[CIR] Move BrOp block merging to canonicalize method
Move the redundant branch removal pattern from CIRCanonicalize pass
to BrOp::canonicalize. This follows MLIR's convention where
canonicalization logic lives with the operation definition.
Changes:
- Add hasCanonicalizeMethod to BrOp in CIROps.td
- Implement BrOp::canonicalize in CIRDialect.cpp
- Auto-collect canonicalization patterns from all registered ops
in CIRCanonicalizePass (matching MLIR's Canonicalizer approach)
- Remove the standalone RemoveRedundantBranches pattern class
Co-Authored-By: Claude Opus 4.5 <noreply at anthropic.com>
[CIR][NFC] Move prefetchw builtin tests to the CodeGenBuiltins directory (#178051)
This moves a test that was added in the wrong subdirectory in the test
tree.
DAG: Remove softPromoteHalfType
Remove the now unimplemented target hook and associated DAG machinery
for the old half legalization path.
Really fixes #97975
[InstCombine] Propagate profile metadata when combining selects (#177883)
When we simplify a pair of selects, we want to propagate profile
information when the condition remains the same and drop it when it does
not. Before this patch, we were keeping incorrect profile data in
addition to not annotating any new select instructions that had the same
value as a previous one.
Noticed by looking at 80d9df6b054cebfbe97d709195be4e61a7acc694.
[nfc][mlir][acc] Create new file to hold intermediate representation ops (#178048)
As the OpenACC dialect is decomposed and further lowered, we need a
dedicated home for operations that do not represent direct mappings of
OpenACC language constructs. This patch introduces OpenACCCGOps.td,
included from OpenACCOps.td, to hold such intermediate operations.
The `acc.kernel_environment` and `acc.firstprivate_map` operations are
moved to this new file.
[libc++] Update the status for lwg-3143 (#116971)
Current implementation uses the larger one either requested bytes or
growth factor multiply previous buffer size.
This patch updates the status of LWG 3143 and adds a libc++-specific
test case to test geometric progression.
Close #104258
macCatalyst: add SDKSettings.json as a dependency file if its potentially needed by the compiler (#177748)
Co-authored-by: Alex Lorenz <arphaman at gmail.com>
[libc++][NFC] Forward string observer functions when appropriate (#171120)
Instead of unwrapping the arguments to string's observer functions
everywhere, simply unwrap the specific argument and then forward all of
them to a single function which does the final unwrapping of `*this`.
This simplifies the code a bit.
Add pdrfork to OpenBSM
It's necessary for auditd to be able to log its events. Note that the
recently added pdwait() syscall is only auditable because an audit event
of that name was preemptively added back in 2012.
PR: 292739
MFC after: 1 week
Fixes: 5c2ee618d5e "sys: add pdrfork(2)"
Sponsored by: ConnectWise
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D54897
[SLP]Model disjoint or reduction of shl(zext, (0, stride, 2* stride)) as bitcast
Patch models the cost and lowering of disjoint or reduction of shl(zext,
(0, stride, 2* stride)) as bitcast via modeling as combined ops.
Reviewers: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/177041
net-mgmt/bgpuma: Bump after update net/libbgpdump, improve port
- Replace PORTVERSION with DISTVERSION.
- Improve LICENSE section.
- Use USES=localbase instead of CFLAGS and LDFLAGS.
- Remove GNU_CONFIGURE_MANPREFIX - this is default value.
PR: 272484
Approved by: pi (maintainer)
[VPlan] Consistently check ComputeReductionResult in prepareForEpi (NFCI)
Always use the information from ComputeReductionResult to identify
recurrence kinds when connecting main and epilogue plans. Connecting the
live-outs involves the reduction result computations, so it is natural
and more accurate to check the reduction result for the correct
structure.
Suggested cleanup from https://github.com/llvm/llvm-project/pull/170223
Revert "Reland "[NVPTX] Validate user-specified PTX version against SM version"" (#178046)
Reverts llvm/llvm-project#177459
`mlir-nvidia` and `mlir-nvidia-gcc7` Buildbots are failing.
The blamelist is small and likely because of my change. Preemptively
reverting.