[NFC][VPlan] Add initial tests for future VPlan-based stride MV
I tried to include both the features that current
LoopAccessAnalysis-based transformation supports (e.g., trunc/sext of
stride) but also cases where the current implementation behaves poorly,
e.g., https://godbolt.org/z/h31c3zKxK; as well as some other potentially
interesting scenarios I could imagine.
The are two test files with the same content. One is for VPlan dump change of
the future transformation alone (I'll update `-vplan-print-after` in the next
PR), another is for the full vectorizer pipeline. The latter have two `RUN:`
lines:
* No multiversioning, so the next PR diff can show the transformation itself
* Stride multiversionin performed in LAA, so that we can compare future
VPlan-based transformation vs old behavior.
[ConstraintElim] Do not model negative nuw-only GEP offset as signed. (#203620)
decomposeGEP added the GEP's constant offset to the unsigned
decomposition using its signed value (getSExtValue()). For a GEP that
only carries nuw (without nusw/inbounds), the indices must be
interpreted as unsigned.
Alive2 Proof of mis-compile https://alive2.llvm.org/ce/z/7G8uE3
PR: https://github.com/llvm/llvm-project/pull/203620
[NFC][VPlan] Split `makeMemOpWideningDecisions` into subpasses
The idea is to have handling of strided memory operations (either from
https://github.com/llvm/llvm-project/pull/147297 or for VPlan-based
multiversioning for unit-strided accesses) done after some mandatory
processing has been performed (e.g., some types **must** be scalarized)
but before legacy CM's decision to widen (gather/scatter) or scalarize
has been committed.
And in longer term, we can uplift all other memory widening decision to
be done here directly at VPlan level. I expect this structure would also
be beneficial for that.
[clang-cl] Add cl compiler build deterministic options for compatibility. (#194779)
Added the following options to clang-cl:
* `/experimental:deterministic`
The original CL's option enables emitting of warnings on usage of
non-deterministic macros `__DATE__`, `__TIME__` and `__TIMESTAMP__` and
provides few additional operations to help produce a deterministic
output:
- sets .obj COFF header timestamp (offset 4) to a hash based on a path
to the source file.
- removes a host name from the hash gen for the anon namespace and
lambdas.
- zeroed PE timestamps, when passed to the linker.
- sets PDB Guid field to `{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}`.
- sets PDB Signature field to `1`.
Currently `clang-cl` does not use a hostname to generate the symbols
[23 lines not shown]
[mlir][memref] Use access interfaces in address extraction (#198421)
Rework extract-address-computation patterns to use
IndexedAccessOpInterface for direct memref accesses and
VectorTransferOpInterface update hooks for transfer ops.
These rewrites are limited to operations that declare in-bounds indices
(so no vector.load currently) for now so that we always create valid
`memref.subview` opp.
As a consequence of this PR, the Memref dialect no longer depends on the
GPU and NVGPU dialects.
Note: if you used this pass downstream, you may need to start registering the external interface implementations for IndexedAccessOpInterface on the GPU, NVGPU, etc. dialects.
AI: Codex wrote the first draft, I simplified it a bunch and made sure
the names of internal functions made sense.
---------
Co-authored-by: Codex <codex at openai.com>
- build fix for libc++abi on 32-bit ARM
- Fixing libc++ src/filesystem/filesystem_clock.cpp to use clock_gettime()
instead of gettimeofday() as was done already in src/chrono.cpp
- Move OpenBSD off of libc++ old locale API.
from Brad
NAS-141441 / 27.0.0-BETA.1 / Fix missing 2FA account flag and re-enable STIG tests (#19151)
AccountFlag.TWOFACTOR was set in _get_user_obj() based on
self.twofactor_user, which only becomes true after the PAM OATH
conversation runs -- i.e. it was always false at that point. As a result
2FA web sessions never carried the '2FA' flag and validate_stig()
rejected every credential, blocking STIG enablement. This is why the
suite had been failing for months.
Set TWOFACTOR in authenticate_oath() on success instead, where the
second factor has actually been verified, mirroring how OTPW is
recorded. Drop the now-dead check from _get_user_obj().
Re-enable tests/stig test_01 and test_02 and restore the conftest server
setup. test_03 stays skipped.
18102 bhyve: Populate the device version from the backend
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Reviewed by: Carlos Neira <cneira at Edgecast.io>
Approved by: Dan McDonald <danmcd at edgecast.io>
Fix missing 2FA account flag and re-enable STIG tests
AccountFlag.TWOFACTOR was set in _get_user_obj() based on
self.twofactor_user, which only becomes true after the PAM OATH
conversation runs -- i.e. it was always false at that point. As a
result 2FA web sessions never carried the '2FA' flag and
validate_stig() rejected every credential, blocking STIG
enablement. This is why the suite had been failing for months.
Set TWOFACTOR in authenticate_oath() on success instead, where
the second factor has actually been verified, mirroring how OTPW
is recorded. Drop the now-dead check from _get_user_obj().
Re-enable tests/stig test_01 and test_02 and restore the conftest
server setup. test_03 stays skipped: its auditd-event checks need
the auditd daemon (Debian auditd.service + tnaudit), which is
managed outside middleware.
[NFC][LLVM] Drop redundant verifier checks for masked load/stores (#204359)
All current verifier checks for masked load/store intrinsics are
redundant as they are covered by the generic intrinsic signature
verification. Drop them.
Rename verifier `intrinsic-bad-arg-type.ll` lit test to
`masked-load-store.ll` and extend it to cover cases corresponding to the
dropped checks to verify that generic intrinsic signature verification
will still flag them.
AMDGPU/Tests: Remove redundant explicit data layouts from AMDGPU tests (#203447)
These all look like either cargo culting of outdated requirements or
test cases that were not fully reduced. Since the data layout evolves
over time with new address spaces being added, it seems good practice to
avoid hard-coding it in tests that don't need it.
[NFC][LLVM] Tighten overload types for `@llvm.get.active.lane.mask` (#204356)
Change return type to `llvm_any_vector_int_ty` and the 2 argument types
to `llvm_any_scalar_int_ty`.
[AArch64] Fix swapped operands in tryFoldCselToFMaxMin (#203230)
These swapped operands will treat nan the wrong way, make sure we only
use the matching direction when converting to fminnm/fmaxnm.