[all-commits] [llvm/llvm-project] 2ad9fd: [MemDep] Use EarliestEscapeInfo (#69727)

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Oct 23 00:57:39 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2ad9fde41839879d8805d430c2e0857466d9c5d6
      https://github.com/llvm/llvm-project/commit/2ad9fde41839879d8805d430c2e0857466d9c5d6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-10-23 (Mon, 23 Oct 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/test/CodeGen/BPF/CORE/no-narrow-load.ll
    M llvm/test/Transforms/GVN/captured-before.ll

  Log Message:
  -----------
  [MemDep] Use EarliestEscapeInfo (#69727)

Use BatchAA with EarliestEscapeInfo instead of callCapturesBefore() in
MemDepAnalysis. The advantage of this is that it will also take
not-captured-before information into account for non-calls (see
test_store_before_capture for a representative example), and that this
is a cached analysis. The disadvantage is that EII is slightly less
precise than full CapturedBefore analysis.

In practice the impact is positive, with gvn.NumGVNLoad going from 22022
to 22808 on test-suite. 

The impact to compile-time is also positive, mainly in the ThinLTO
configuration.




More information about the All-commits mailing list