[NFC][VPlan] Rename VPEVLBasedIVPHIRecipe to VPCurrentIterationPHIRecipe (#177114)
This is groundwork for #151300, which aims to support first-faulting
loads in non-tail-folded early-exit loops.
Per #175900, we need a variable-length stepping transform that can
shared between EVL and non-EVL loops.
The idea is to have an EVL-independent counter and transform for
tracking the cumulative number of processed elements.
This patch renames the existing counter (VPEVLBasedIVPHIRecipe) and
transform (canonicalizeEVLLoops) to be EVL-independent:
- Rename VPEVLBasedIVPHIRecipe to VPCurrentIterationRecipe to
reflect its general purpose of tracking processed element count.
- Rename canonicalizeEVLLoops to convertToVariableLengthStep.
This is NFC.
[MLIR][XeGPU] Relax the slice layout check for broadcast operand in subgroup distribution (#181935)
This PR relaxes the operand layout check in broadcast op in subgroup
distribution. Instead of failing the pattern match, it issues a warning
and proceed the distribution. The layout could be non-slice layout but
still support valid subgroup distribution.
pkg_autoremove/force delete: Fix order
If package A depends on package B (on a binary or script for example), when
autoremove is called currently the order is (likely) by alphabetic.
This cause problems as if package A is removed first and package B needs a script
from package A it will fails to clean up correctly the system.
Since autoremove is considered as force internally simply remove the check so we will
process the removals in the correct order.
Sponsored by: Beckhoff Automation GmbH & Co. KG
[RISCV] Set RVVConstraint = NoConstraint in tablegen classes with vm=1. NFC (#181960)
Our RVV base classes default to RVVConstraint = VMConstraint. We
should force it to NoConstraint in classes where we've explicitly
marked vm as being a constant rather than an operand. This avoids
needing to do it at a higher level in the class hierarchy.
www/redmine60: Update mini_magick to v5, set daemon title flags
- Switch RMAGIC dependency from rubygem-mini_magick4 to rubygem-mini_magick >= 5.0.1
- Update files/mini_magick.rb minimum version to 5.0.1
- Refresh patch-Gemfile: replace upstream version-pinned DB adapter logic
with bundler.d-based loading; update mini_magick group to ~> 5.0.1
- Add -T/-t flags to daemon invocation for proper process title tagging
PR: ports/293251
www/redmine60: Update mini_magick to v5, set daemon title flags
- Switch RMAGIC dependency from rubygem-mini_magick4 to rubygem-mini_magick >= 5.0.1
- Update files/mini_magick.rb minimum version to 5.0.1
- Refresh patch-Gemfile: replace upstream version-pinned DB adapter logic
with bundler.d-based loading; update mini_magick group to ~> 5.0.1
- Add -T/-t flags to daemon invocation for proper process title tagging
PR: ports/293251
[NFC] Ensure MCTargetOptions outlives MCAsmInfo at createMCAsmInfo call sites (#180465)
Preparatory change for storing the MCTargetOptions pointer in MCAsmInfo
(#180464)
[ELF] Add target-specific relocation scanning for AArch64 (#181099)
Implement AArch64::scanSectionImpl, following the pattern established
for x86 (#178846), PPC64 (#181496), and SystemZ (#181563). This merges
the getRelExpr and TLS handling for SHF_ALLOC sections into the
target-specific scanner, enabling devirtualization and eliminating
abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations, and handleTlsIe/handleTlsDesc for TLS IE/TLSDESC.
- Remove some AArch64-specific RelExpr members (RE_AARCH64_AUTH_GOT,
RE_AARCH64_AUTH_GOT_PC, RE_AARCH64_AUTH_GOT_PAGE_PC,
RE_AARCH64_AUTH_TLSDESC_PAGE, RE_AARCH64_AUTH_TLSDESC,
RE_AARCH64_RELAX_TLS_GD_TO_IE_PAGE_PC) by using regular RelExpr
members with flag-based dispatch (NEEDS_GOT_AUTH, NEEDS_TLSDESC_AUTH).
AUTH GOT relocations now call `sym.setFlags(NEEDS_GOT | NEEDS_GOT_AUTH)`
and `rs.processAux` directly.
[3 lines not shown]
[RISCV] Add Xsfmm32a shorthand extension. (#181957)
This extension is shorthand for Xsfmm32a8i, Xsfmm32a16f, and
Xsfmm32a32f.
It was mistakenly left out of an earlier version of the public
specification, but is now present. See
https://www.sifive.com/document-file/xsfmm-matrix-extensions-specification
[DDG][NFC] Colorize DDG dot graph (#181618)
All blocks and edges are currently colored black which makes it
difficult to distinguish while looking at huge graph.
This simple patch implements the following colorization to make it
visually more distinguishable.
1. Pi-blocks - styled to rounded, filled, light-yellow fill, dark orange
border
2. Multi-instruction blocks - Light cyan fill
3. MemoryDependence edges are now colored red.
4. Register def-use edges are now colored blue.
This patch implements `getNodeAttributes()` to return the string of
attributes to apply to the node.
[RISCV] Remove VMConstraint from VAESKF1_VI/VAESKF2_VI. (#181887)
These instructions don't have a VM operand. If these instructions use a
V0 destination, the VMConstraint code calls getReg() on the the last
operand which is an immediate. This triggers an assertion. Not sure
what happens on a release build. It probably treats the immediate as a
value in the RISCV register info enum.
[clang][deps] Ensure the service outlives async module compiles (#181772)
This PR fixes a race condition discovered by thread sanitizer in the
asynchronous dependency scanner implementaion.
The implementation assumed that whenever a new thread is spawned to
compile a module, the primary scanning thread must wait for it to finish
to read the PCM it produces. This is not true - it's possible for the
implicit build on the primary thread to decide to compile the same
module too, leaving the asynchronous thread running without any kind of
synchronization. This means the TU scan may return, the service may get
destroyed, but the asynchronous thread continues running with the VFS
caches and module cache implementation destroyed, leading to crashes.
This PR fixes this by awaiting all asynchronous threads at the end of a
TU scan.
[VPlan] Remove VPDerivedIVRecipe and VPScalarIVStepsRecipe from VPHeaderPHIRecipe doc comment. NFC (#181862)
These aren't subclasses of VPHeaderPHIRecipe, I'm not sure if the class
hierarchy changed or not.
Also add the other subclasses to the list.
when uploading a directory using sftp/sftp (e.g. during a recursive
transfer), don't clobber the remote directory permissions unless
either we created the directory during the transfer or the -p flag
was set. bz3925 ok dtucker@
[ProfCheck][Matrix] Add profile data where relevant
This patch tackles two cases:
1. Checks around aliasing/overlapping ranges. This is runtime dependent
on the pointer values passed in, which we have no way of knowing
without additional profiling.
2. Loop backedges. For these we also have an associated trip count, so
we set up the branch weights to represent this.
Tests updated/profcheck-xfail.txt updated.
Reviewers: alanzhao1, fhahn, mtrofin, snehasish
Pull Request: https://github.com/llvm/llvm-project/pull/181292