[RISCV] Use FSHR in LowerShiftRightParts for P extension on RV64. (#181234)
We can't do the NSRLI trick on RV64, but we can use srx similar to what
we do in LowerShiftLeftParts. We need an additional fixup step for the
FSHR result that NSRLI doesn't need.
Assisted-by: claude
[NFC][CodeGen] Add helper function to check SubReg validity (#181489)
Add function `isSubRegValidForRegClass` to check if a sub-register index
can be used with a register class and use it in MIR verifier and a few
other places.
InstCombine: Fold bitcast of vector with constant to scalar (#179042)
Fold bitcast (select cond, val, const) ->
select cond, (bitcast val), (bitcast const)
Rocm device libs has an unfortunate amount of code that does bithacking
on the sign bit of double values by casting to <2 x i32> and operating
on the high element. This breaks value tracking optimizations on the
fp value.
The existing transform would only do this if the input to the select was
also a bitcast with a single use, and if it didn't convert between
vector and scalar.
[alpha.webkit.UncountedLocalVarsChecker] Handle null Type in CanTriviallyDestruct (#182129)
Added an early exit for when CanTriviallyDestruct encounters a QualType
without a Type.
Revert "[clang][DebugInfo] Add virtuality call-site target informatio… (#182343)
…n in DWARF. (#167666)"
This reverts commit 418ba6e8ae2cde7924388142b8ab90c636d2c21f.
The commit caused an ICE due to hitting unreachable in
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1307
Fixes #182337
[LoopUnrollPass] Remove redundant debug message in `tryToUnrollLoop()` (#181954)
Remove the redundant debug message.
While we're here, adopt the same debug message language that's used in
#178476 and use an `if` instead of a single `case` `switch` statement.
[AMDGPU] Fix handling of setting register classes in MFMA scheduler rewrite stage (#181047)
Fixes problem with setting/resetting register classes in the MFMA
rewrite sched stage. The code assumed that the dest and OpC would be the
same class. This is not true if one uses subregs. This fixes issue
#177696.
Relax type requirements for gateway status helper functions
Some callers of the helper functions do not validate the arguments.
Handle this in the helper functions for better compatibility.
Followup to ddd366b3706a7c24d2406b9ccfdca76a0dca4be4.
[libc][mathvec] Initial commit for LIBC vector math component (#173058)
Created mathvec directories and unittest framework for vector math
functions, as well as an initial implementation of vector expf, which is
presently CR for round-to-nearest.
---------
Co-authored-by: Pierre Blanchard <pierre.blanchard at arm.com>
[mlir][tosa] Improve slice op verifier (#181889)
The slice op verifier was missing checks on the values of start and size
inputs. Similar to other op verifiers, shape_t const inputs have been
checked for validity against the spec. The commit adds checks for the
following conditions:
- start values must be non-negative
- size values must be > 0
- start + size must be less than or equal to the input dimension size
- the output shape must be consistent with the size values
The commit also allows kInferableDimSize values (-1) to be passed in for
start and size, which are used to indicate that the dimension size can
be inferred by the compiler. The verifier will skip checks for any start
or size value that is kInferableDimSize. With shape expressions being
added, we should no longer require these values, but removal will be
handled in a separate commit.
[mlir][ArmSME] Replace nested-region assertion in tile allocation with diagnostic (#181934)
Replace the nested-region assertion in ArmSME tile allocation with a
proper diagnostic and graceful failure.
Fixes #181593
[MLIR][tblgen] Honor `-dialect` in `-gen-{attrdef,op,typedef,enum}-doc` (#182183)
Make all dialect documentation generators use the same set of records as
`-gen-dialect-doc`, which honors the `-dialect` tblgen option to filter
records by dialect. Add a `-keep-op-source-order` option to allow
`-gen-op-doc` to continue producing unsorted op lists if needed.
This commit factors the record collection, filtering, and sorting
performed in `emitDialectDoc` out into a separate `collectRecords`
function, returning a `DialectRecords` with the results. The emit
functions now all accept a `DialectRecords` argument instead of
collecting records themselves. Most changes are mechanical renamings and
moving code around.
This fixes a confusing issue where `gen-dialect-doc` would produce the
entire documentation for a dialect, but individual calls to
`gen-attrdef-doc` and the like would seemingly operate on a different
set of records, potentially covering multiple dialects. This all produce
the overall documentation now.
bhyve: Fix unchecked stream I/O in RFB handler
Convert rfb_send_* helpers to return status codes and check their
results. Add missing checks for stream_read() and stream_write() returns
during the handshake in rfb_handle() to avoid acting on failed I/O.
Signed-off-by: Hayzam Sherif <hayzam at gmail.com>
Reviewed by: markj
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55343