[all-commits] [llvm/llvm-project] f4e8f6: [Reassociate] Use a reference to DataLayout instea...

cooperp via All-commits all-commits at lists.llvm.org
Sat Feb 22 01:37:46 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f4e8f6da41a5ca3e03808d86bce0bcde339b9414
      https://github.com/llvm/llvm-project/commit/f4e8f6da41a5ca3e03808d86bce0bcde339b9414
  Author: cooperp <peter_cooper at apple.com>
  Date:   2025-02-22 (Sat, 22 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Reassociate.cpp

  Log Message:
  -----------
  [Reassociate] Use a reference to DataLayout instead of copying the underlying string data (NFC) (#128269)

I noticed this when looking at all allocations by clang. For a medium
sized file this was around 6000 calls to operator new, although i
suspect there were more allocations in total as the SmallVectors in
DataLayout may have their own allocations in some cases.

In a follow-up i'm tempted to make the DataLayout copy constructor
private, to avoid this in future. There are a few tests which copy the
DataLayout, and perhaps need to (I didn't check yet), but we could
provide a clone() method for them if needed. Its only accidental copying
I think we should consider avoiding, not people who really do need to
copy it for reasons.



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