[all-commits] [llvm/llvm-project] 245f84: [MemCpyOptimizer] Change required analysis order f...

David Green via All-commits all-commits at lists.llvm.org
Thu Sep 3 04:02:21 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 245f846c4eaf7142000f6548889a3aafb84db149
      https://github.com/llvm/llvm-project/commit/245f846c4eaf7142000f6548889a3aafb84db149
  Author: David Green <david.green at arm.com>
  Date:   2020-09-03 (Thu, 03 Sep 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/CodeGen/AMDGPU/opt-pipeline.ll
    M llvm/test/Other/opt-O2-pipeline.ll
    M llvm/test/Other/opt-O3-pipeline-enable-matrix.ll
    M llvm/test/Other/opt-O3-pipeline.ll
    M llvm/test/Other/opt-Os-pipeline.ll

  Log Message:
  -----------
  [MemCpyOptimizer] Change required analysis order for BasicAA/PhiValuesAnalysis

This is a followup to 1ccfb52a61748, which made a number of changes
including the apparently innocuous reordering of required passes in
MemCpyOptimizer. This however altered the creation order of BasicAA vs
Phi Values analysis, meaning BasicAA did not pick up PhiValues as a
cached result. Instead if we require MemoryDependence first it will
require PhiValuesAnalysis allowing BasicAA to use it for better results.

I don't claim this is an excellent design, but it fixes a nasty little
regressions where a query later in JumpThreading was getting worse
results.

Differential Revision: https://reviews.llvm.org/D87027




More information about the All-commits mailing list