[all-commits] [llvm/llvm-project] b0d35c: [SSAUpdater] Avoid scanning basic blocks to find i...

Joshua Cranmer via All-commits all-commits at lists.llvm.org
Wed Jan 22 08:12:02 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b0d35cf22e15be5c62835d689f3c7e301d9f22cd
      https://github.com/llvm/llvm-project/commit/b0d35cf22e15be5c62835d689f3c7e301d9f22cd
  Author: Joshua Cranmer <joshua.cranmer at intel.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
    M llvm/lib/Transforms/Utils/SSAUpdater.cpp

  Log Message:
  -----------
  [SSAUpdater] Avoid scanning basic blocks to find instruction order. (#123803)

This fixes a compile-time regression caused by #116645, where an entry
basic block with a very large number of allocas and other instructions
caused SROA to take ~100× its expected runtime, as every alloca (with ~2
uses) now calls this method to find the order of those few instructions,
rescanning the very large basic block every single time.

Since this code was originally written, Instructions now have ordering
numbers available to determine relative order without unnecessarily
scanning the basic block.



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