[all-commits] [llvm/llvm-project] e9f9af: [SROA] Use SparseBitVector for splittable offsets ...

John Brawn via All-commits all-commits at lists.llvm.org
Mon Sep 14 04:18:28 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e9f9afc6042da7cbbf1252702e86783f07cb46f4
      https://github.com/llvm/llvm-project/commit/e9f9afc6042da7cbbf1252702e86783f07cb46f4
  Author: John Brawn <john.brawn at arm.com>
  Date:   2026-09-14 (Mon, 14 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    A llvm/test/Transforms/SROA/large-alloca.ll

  Log Message:
  -----------
  [SROA] Use SparseBitVector for splittable offsets (#222306)

Doing this means we consume memory proportional to the number of
offsets, not the size of the alloca as before. Inverting the logic so
that rather than initially marking all offsets as splittable then
removing those that aren't, we instead initially have all offsets
unsplittable and only add those that are splittable, means we should
take time proportional to the number of slices, not to the combined size
of slices.

This means we can remove the limit on alloca size, and this approach
should also be faster.



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