[all-commits] [llvm/llvm-project] a94741: [SROA] Improve handling of lifetimes in load-only ...

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Apr 14 02:53:04 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a9474191e059edbb9b25c769afbe52c7a823f359
      https://github.com/llvm/llvm-project/commit/a9474191e059edbb9b25c769afbe52c7a823f359
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
    M llvm/test/Transforms/SROA/readonlynocapture.ll

  Log Message:
  -----------
  [SROA] Improve handling of lifetimes in load-only promotion (#135382)

The propagateStoredValuesToLoads() transform currently bails out if
there is a lifetime intrinsic spanning the whole alloca, but the
individual loads/stores operate on some smaller part, because the slice
/ partition size does not match.
    
Fix this by ignoring assume-like slices early, regardless of which range
they cover.
    
I've changed the overall code structure here a bit because I was getting
confused by the different iterators.



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