[all-commits] [llvm/llvm-project] 16c925: [MachineOutliner] Efficient Implementation of Mach...

Xuan Zhang via All-commits all-commits at lists.llvm.org
Mon Jun 3 07:42:11 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 16c925ab5fd3d677792ce6575f81774c64b87cec
      https://github.com/llvm/llvm-project/commit/16c925ab5fd3d677792ce6575f81774c64b87cec
  Author: Xuan Zhang <144393379+xuanzh-meta at users.noreply.github.com>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/test/CodeGen/AArch64/machine-outliner-overlap.mir

  Log Message:
  -----------
  [MachineOutliner] Efficient Implementation of MachineOutliner::findCandidates() (#90260)

This reduce the time complexity of the main loop of `findCandidates()`
method from $O(n^2)$ to $O(n \log n)$.

For small $n$, the modification does not regress the build time, but it
helps significantly when $n$ is large.

For one application, this reduces the runtime of the main loop from 120
seconds to 28 seconds.

This is the first commit for an enhanced version of machine outliner --
see
[RFC](https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-1-fulllto-part-2-thinlto-nolto-to-come/78732).



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