[HLSL] Extract matrix elementwise cast operands from SSA (#227065)
Avoid materializing matrix operands in the hlsl.ewcast.src temporary
when performing matrix-to-vector elementwise casts. Extract each element
directly from the canonical matrix SSA value using its column-major
flattened index.
Factor vector result construction into a shared helper so aggregate and
matrix sources use the same conversion and insertion logic.
Update the matrix-to-vector CodeGen checks for both row-major and
column-major layouts.
Assisted by Copilot using GPT 5.6 Sol
[SelectionDAG] Add computeKnownBits support for VP_LOAD_FF's second result (#227389)
The second result of `ISD::VP_LOAD_FF` is the new EVL, which is always
less than or equal to(1) the EVL operand of this intrinsic, and (2) the
largest length of the loaded vector. This patch teaches computeKnownBits
about these ranges so that DAGCombiner can eliminate things like
redundant z/sext + truncate on this new EVL.
In RISC-V, this means that if there are two consecutive fault only first
loads where the second one is using the EVL from the first load, there
won't be any redundant zext + truncate generated for the intermediate
EVL in between.
[BOLT] Keep instrumentation diagnostics out of line (#225986)
The instrumentation runtime's diagnostics reserve a 32 KiB scratch
buffer on the stack. When `assert()` or `reportNumber()` get inlined
into callers on instrumented code paths, the buffer inflates every
caller frame — on small thread stacks a single such frame already
overflows the guard region and the profiled binary segfaults even when
no assertion fires.
Move the `assert()` failure path into a `noinline` helper
(`reportAssertFailure`) and mark `reportNumber()` `noinline` as well, so
the scratch buffer is only reserved when a diagnostic is actually
emitted. This matches the fix sketched in the issue report.
Verified: `common.h` syntax-checks clean in the freestanding runtime
build; the only behavioral change is where the buffer lives.
Fixes #225479
[2 lines not shown]
net-im/libsignal-node: Fix build with npm 12
npm 12 rejects unknown CLI flags with EUNKNOWNCONFIG instead of only
warning about them, so --nodedir and --ignore-optional are now hard
errors.
Point node-gyp at the node headers through npm_config_nodedir in
MAKE_ENV instead. node-gyp reads any npm_config_* variable from the
environment, and this is already how bitwarden-cli, signal-desktop and
vscode do it.
--ignore-optional is a yarn flag left over from when this port used
yarn. npm never honored it, so dropping it does not change what gets
installed.
security/node-sqlcipher: Fix build with npm 12
npm 12 rejects unknown CLI flags with EUNKNOWNCONFIG instead of only
warning about them, so --nodedir is now a hard error.
Point node-gyp at the node headers through npm_config_nodedir in
MAKE_ENV instead. node-gyp reads any npm_config_* variable from the
environment, and this is already how bitwarden-cli, signal-desktop and
vscode do it.
[orc-rt] Make split-file a required regression test tool. (#227510)
split-file is an LLVM utility, like FileCheck and not, so it's available
wherever they are. Require it in the same way, rather than gating tests
on a split-file lit feature.
[MC] Add baseline test for MCContext::getSubtargetCopy HwMode loss
No change intended here, just adding test coverage showing that
MCContext::getSubtargetCopy currently slices away the target's
<Target>GenMCSubtargetInfo subclass and causes getHwMode() and
getHwModeSet() to return 0.
This commit was created with the help of AI tools
[llvm-objdump][RISC-V] Do not leak file-level features into $x<ISA> regions
Previously, RISCVISATargetCache::get initialized per-region features from
Base.SubtargetInfo->getFeatureString(), which already included the
file-level Tag_RISCV_arch and --mattr flags. Because RISCVISAInfo::toFeatures()
only emits "+ext" for extensions present in the "$x<ISA>" mapping symbol
(and never "-ext"), any extension enabled in Tag_RISCV_arch or via a
conflicting --mattr remained enabled even in regions whose "$x<ISA>"
mapping symbol disabled it.
Start from an empty SubtargetFeatures instead and populate it from the
parsed "$x<ISA>" mapping symbol (plus non-conflicting --mattr flags).
This commit was created with the help of AI tools
[RISC-V][MC] Reject x0 as the temporary register for store pseudos
The zero register as the temporary for the store pseudo is illegal since
it is used to synthesize the store address and using zero would mean
that the auipc result is ignored and we store to an invalid location.
[BOLT] Ensure runtime is built with uncompressed debug symbols (#218126)
Currently, if the runtime is built with compressed debug symbols it
causes an out-of-bounds read and segfault when instrumenting a binary.
This is due to JITLink currently not supporting SHF_COMPRESSED symbols
as it would need to decompress the symbols first to update the reloc
symbols
As some distributions are starting to enable compressed debug sections
in their toolchains by default, ensure the runtime is built without them
until JITLink supports updating SHF_COMPRESSED relocs.
[TableGen] Support HwMode registers in CompressInstEmitter
Previously, CompressInstEmitter only handled plain Register and
RegisterClass records when matching and validating operands in
CompressPat definitions. Attempting to use a RegisterByHwMode (such as a
mode-dependent stack pointer) or a RegClassByHwMode with mode-dependent
registers failed because CompressInstEmitter could not resolve the
underlying register or register class for a given subtarget configuration.
Introduce HwModePredicates in CodeGenHwModes to resolve HwModeSelect
records using the subtarget features required by a CompressPat (with
predicates implying the absence of all non-default modes resolving to
DefaultMode). This allows using a single instruction definition for
compressed instructions like RISC-V C_ADDI4SPN/C_ADDI16SP across HwModes
instead of duplicating the instruction definitions for each mode.
This commit was created with the help of AI tools
tests/geom: fix ATF test listing when geom class module is missing
geom_subr.sh serves both legacy TAP tests and ATF tests. It defaults to the
TAP path, so ATF tests must set ATF_TEST=true before sourcing it.
Sponsored by: Netflix
tests/geom: fix ATF test listing when geom class module is missing
geom_subr.sh serves both legacy TAP tests and ATF tests. It defaults to the
TAP path, so ATF tests must set ATF_TEST=true before sourcing it.
Sponsored by: Netflix