[mlir][vector] Emit error when `kind` attribute is not a CombiningKind (#173659)
This PR fixes a crash by validating the type of the `kind` attribute.
For `vector.contract` and `vector.outerproduct`, the verifier now emits
an error when `kind` is not a CombiningKindAttr. Fixes #173555.
[RISC-V] Ensure MCTargetStreamer is initialized. (#174800)
Fixes a failure on llc for ubsan builds:
../lib/Target/RISCV/RISCVAsmPrinter.cpp:552:7: runtime error: downcast
of null pointer of type 'RISCVTargetStreamer'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
../lib/Target/RISCV/RISCVAsmPrinter.cpp:552:7
[flang] Make fir.result Pure operation. (#173508)
This allows speculating recursively speculatable operations
containing `fir.result`. Note that making it Pure does not allow
speculating `fir.result` itself from its containing operation,
since it is a terminator.
[LLVM][NVPTX] Enable family specific support for a few intrinsics (#173268)
This commit adds support for family specific support for the following
intrinsics:
- ldmatrix
- stmatrix
- mma.block_scale, mma.sp.block_scale
- redux.sync
- cvt.rs
- clusterlaunchcontrol
- setmaxnreg
- tcgen05.mma
Removed `hasTcgen05Instructions` function in the favour of `hasTcgen05InstSupport` Updated wmma.py script with family specific support and added new tests
NAS-139212 / 26.04 / use statx provided by truenas_pyos (#17972)
This commit removes the ctypes definition for statx and replaces with
the implemntatoin from truenas_pyos (cpython).
[Clang][DebugInfo] Add a flag to use expansion loc for macro params.
This patch adds a flag to allow users to preserve the old behaviour - use the macro expansion location for parameters. This is useful for wider testing of sample profile driven PGO which relies on debug information based mapping.
remove __packed from a bunch of ioctl structures.
i noticed a warning unrelated to an evbarm llvm build failure here, and
it turns out that we have a few things using __packed that should be
using the right types instead, or don't need __packed at all.
struct netbsd32_if_data and struct netbsd32_ksyms_gvalue use
netbsd32_uint64 now, to avoid forcing the whole-struct alignment to 8.
struct netbsd32_ifdatareq, struct netbsd32_dkwedge_list, and
struct netbsd32_disk_strategy don't need __packed at all.
structure sizes confirmed to remain the same on amd64.
[LLDB] Tentative fix for lldb-arm-ubuntu buildbot. (#174893)
Not sure if this will fix the problem because I don't have a 32-bit arm
machine to test with.
[WebAssembly] Expand vector frem instructions
Commit 6ad41bc changed how frem is expanded during legalization and it
broke WebAssembly but we were missing test coverage. We want to maintain
our previous behavior of unrolling vectors and using a libcall to
implement scalar frem. I'm not sure why this now has to be different
(in ISelLowering) from other libcalls like fsin which work the same way
in the end, but this code does accurately describe what we want.
Fixes: https://github.com/emscripten-core/emscripten/issues/25991
[WebAssembly] Disable explicit-locals in the libcalls.ll test. NFC (#174811)
The keep-registers mode isn't super useful without disabling
explicit-locals,
as the local gets/sets are irrelevant noise in most cases.
Switching this test makes the output much more concise and will make
upcoming
changes easier to review.
[RISCV] Improve cost modeling of RISCVTTIImpl::getConstantPoolLoadCost() (#174438)
Some machines are able to make use of AUIPC + ADDI or LUI + ADDI fusion, make sure to consider that in the cost model for `RISCVTTIImpl::getConstantPoolLoadCost()`.
[Clang][DebugInfo] Add a flag to use expansion loc for macro params.
This patch adds a flag to allow users to preserve the old behaviour - use the macro expansion location for parameters. This is useful for wider testing of sample profile driven PGO which relies on debug information based mapping.
When receiving a stream with the large block flag, activate feature
ZFS send streams include a feature flag DMU_BACKUP_FEATURE_LARGE_BLOCKS
to indicate the presence of large blocks in the dataset. On the sending
side, this flag is included if the `-L` flag is passed to `zfs send`
and the feature is active in the dataset. On the receive side, the
stream is refused if the feature is active in the destination dataset
but the stream does not include the feature flag.
The problem is the feature is only activated when a large block is
born. If a large block has been born in the destination, but never
the source, the send can't work. This can arise when sending streams
back and forth between two datasets.
This commit fixes the problem by always activating the large blocks
feature when receiving a stream with the large block feature flag.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Austin Wise <AustinWise at gmail.com>
Closes #18105
[clang][driver] Expose a frontend option for trap-unreachable
We have several issues that list surprising behavior around UB. In many
cases, this causes undesirable control flow, such as execution falling
through to the next function (or whatever is in memory) instead of
remaining within the bounds of the procedure. #174844, #48943, #146791,
and #137741 all discuss a host of related issues. In #174844, it was
mentioned that we have backend support for this for Rust, and at least
one big class of these issues could be addressed by exposing the option
to clang.
This patch adds a new driver option that does just that. For now, we're
leaving this option off by default, though we expect only small
differences in code size or performance as a result if it were to be
enabled. There will be an RFC in the future when we have more confidence
this should be the default configuration.
Fixes #174844
[RISCV] Simplify testcases in xqcibi-redundant-copy-elim.ll. NFC. (#174695)
Remove unneeded load instructions and only remain one comparison
instruction.