[IR] Only follow ptr/ptr-vector sources in stripAndAccumulateConstantOffsets bitcasts (#203356)
stripAndAccumulateConstantOffsets used to walk through every bitcast
operand. If the operand was not a pointer (e.g. a same-sized byte type
such as b64 reinterpreted as ptr), the walk could continue and violate
the invariant that the stripped value remains ptr or ptr-vector.
Align with stripPointerCastsAndOffsets: only look through bitcasts whose
source type is a pointer or pointer vector; keep addrspacecast as its
own case.
This commit is needed in PR #177908, and fixes issue
https://github.com/llvm/llvm-project/issues/203695.
Assisted by Cursor
Convert hardware plugin to the typesafe pattern
The hardware plugin is a directory of four mostly-private legacy services (mseries.bios, mseries.nvdimm, hardware.memory, plus hardware.virtualization). Only hardware.virtualization.variant is public over the wire; the rest return plain dicts/bools consumed internally by alert sources and usage reporting, so Pydantic models would be pure overhead.
Applied the port-plugin pattern: lean Service shims in __init__.py that delegate to plain, fully type-annotated module functions, keeping the existing dict/primitive return shapes so no consumer changes are needed. The one public method gets check_annotations=True against the existing HardwareVirtualizationVariant models. Registered the services in main.py's ServiceContainer via nested hardware/mseries containers and added the plugin to mypy.yml.
sysutils/kopia: Update 0.23.1
- Switch from GO_BUILDFLAGS to GO_LDFLAGS
- Use BuildInfo=${HOSTARCH}-portbld-${OPSYS:tl}-${OSREL:R} instead of date
for better reproducibility.
ChangeLog: https://github.com/kopia/kopia/releases/tag/v0.23.1
[llvm] Replace unordered_{map,set} with Dense{Map,Set} (#202222)
std::unordered_map is slow. The remaining uses are pointer stability,
key spanning the full value range, or huge pair<key,value>. After
PR #201281 DenseMap no longer reserves sentinel keys, so more of these
maps can switch.
Aided by Claude Opus 4.8
mvc: DescriptionField: disable special and newline characters
This is only cosmetic and since the description is only used as a
label and not a note block this is fine (and could be overwridden
by the model if needed).