[all-commits] [llvm/llvm-project] 4a2cfd: [VPlan] Expand SCEV ptrtoint/ptrtoaddr casts in VP...

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Jul 14 10:02:37 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4a2cfd73fdb55b32c3f341b0db589cf1f22c3a70
      https://github.com/llvm/llvm-project/commit/4a2cfd73fdb55b32c3f341b0db589cf1f22c3a70
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/aggressive-interleaving.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-constant-ops.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-derived-ivs.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/pr41179.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing-alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/WebAssembly/induction-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-opaque-pointers.ll
    M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr48340.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/alias-mask-data-tail-folding-style.ll
    M llvm/test/Transforms/LoopVectorize/alias-mask-needs-freeze.ll
    M llvm/test/Transforms/LoopVectorize/alias-mask-small-index.ll
    M llvm/test/Transforms/LoopVectorize/alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/hoist-and-sink-mem-ops-with-invariant-pointers.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-metadata.ll
    M llvm/test/Transforms/LoopVectorize/metadata.ll
    M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/pr45259.ll
    M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-known-true.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll

  Log Message:
  -----------
  [VPlan] Expand SCEV ptrtoint/ptrtoaddr casts in VPSCEVExpander. (#209172)

Extend the cast handling in VPSCEVExpander::tryToExpand to also expand
scPtrToInt and scPtrToAddr SCEV expressions to PtrToInt/PtrToAddr
VPInstructions.

This allows pointer-distance expressions (e.g. the runtime-check
difference between two pointers, which contains ptrtoint of each
pointer) to be expanded directly to VPInstructions instead of falling
back to a VPExpandSCEVRecipe.

PR: https://github.com/llvm/llvm-project/pull/209172



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list