[clang] Fix options handling in ClangExtDefMapGen.cpp (#176116)
Also, remove some unused includes.
Fixes https://github.com/llvm/llvm-project/issues/176118
Now, running `clang-extdef-mapping` with no options results in the
following error message:
```sh
error: clang-extdef-mapping: Not enough positional command line arguments specified!
Must specify at least 1 positional argument: See: ./build/Debug/bin/clang-extdef-mapping --help
```
[LoopVectorize] Support vectorization of overflow intrinsics (#174835)
Enables support for marking overflow intrinsics `uadd`, `sadd`, `usub`,
`ssub`, `umul` and `smul` as trivially vectorizable.
Fixes #174617
---------
Signed-off-by: vishruth-thimmaiah <vishruththimmaiah at gmail.com>
[MLIR][shard] checking for correct&full sharding annotations (#176000)
Before trying to partition a block or operation, check that it is fully
annotated with `shard.shard` ops. This gives useful error messages
instead of random errors later on.
[mlir] Fix build after #175815 (#176332)
Fix this build error, which is reported by some compilers after #175815:
```
error: operands to ?: have different types ‘mlir::Operation::result_range {aka mlir::ResultRange}’ and ‘mlir::ValueRange’
return successor.isParent() ? getOperation()->getResults() : ValueRange();
```
lib/virtual_oss: don't (over)link to libsamplerate
These plugins require samplerate.h due to virtual_oss's int.h including
it, but don't use any symbols directly so don't link to the library.
Centralize adding the include path.
Reviewed by: christos
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D54705
virtual_oss: build system tidying
general:
- find libsamplerate's headers in the temporary sysroot instead of
digging in the source tree.
- use LIBADD where possible
lib/virtual_oss:
- centralize SHLIBDIR define
- centralize include path for internal headers
- don't try to find libsamplerate directly in .OBJDIR
No functional changes.
Reviewed by: christos
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D54704
[X86] Assume pclmulqdq handling on SSE42 or later in clmul tests (#176146)
The pclmulqdq ISA has been available on all known intel/amd targets with
SSE42, however they aren't included in the x86-64 levels (I'm not sure
why not).
To improve signal:noise ratio in the clmul tests this patch proposes to
add `-mattr=+pclmul` to SSE42 and later RUNs while retaining baseline
x86-64 coverage with AND without pclmul
I really want to avoid a mess similar to the AVX512 ISA permutation test
coverage
iflib: remove convoluted custom zeroing code
Replace a collection of aliasing violations and ifdefs with memset
(which now expands to __builtin_memset and should be quite reliably
inlined.) The old code is hard to maintain as evidenced by the most
recent change to if_pkt_info_t updating the defines, but not the zeroing
code.
Reviewed by: gallatin, erj
Effort: CHERI upstreaming
Sponsored by: Innovate UK
Fixes: 43d7ee540efe ("iflib: support for transmit side nic KTLS offload")
Differential Revision: https://reviews.freebsd.org/D54605
(cherry picked from commit 31e7dc6b9a000b02353bfc41cbd897533287cda2)
iflib: remove convoluted custom zeroing code
Replace a collection of aliasing violations and ifdefs with memset
(which now expands to __builtin_memset and should be quite reliably
inlined.) The old code is hard to maintain as evidenced by the most
recent change to if_pkt_info_t updating the defines, but not the zeroing
code.
Reviewed by: gallatin, erj
Effort: CHERI upstreaming
Sponsored by: Innovate UK
Fixes: 43d7ee540efe ("iflib: support for transmit side nic KTLS offload")
Differential Revision: https://reviews.freebsd.org/D54605
(cherry picked from commit 31e7dc6b9a000b02353bfc41cbd897533287cda2)
[mlir][Interfaces] Split successor inputs from region successor (#175815)
This commit simplifies the design of the `RegionBranchOpInterface`. The
property of being a successor input is now independent of the region
branch point.
There is a new API for querying successor inputs:
`RegionBranchOpInterface::getSuccessorInputs(RegionSuccessor)`. Note
that this function does **not** take a `RegionBranchPoint` as parameter.
The `RegionSuccessor` API is now also simpler: it no longer stores
successor inputs. A region successor is simply `Region *`, wrapped
around a convenience API.
Note: This commit is mostly mechanical. Analyses / transformations that
build on top of the `RegionBranchOpInterface` (e.g.,
`visitNonControlFlowArguments` API) can likely be simplified in
follow-up commits.
[6 lines not shown]