[all-commits] [llvm/llvm-project] 33ce97: [SLP] Use BatchAA to reduce capture analysis cost ...

Philip Reames via All-commits all-commits at lists.llvm.org
Sun Feb 27 09:47:44 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 33ce97f4137831537ace53dfe105c4300811b1e8
      https://github.com/llvm/llvm-project/commit/33ce97f4137831537ace53dfe105c4300811b1e8
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2022-02-27 (Sun, 27 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP] Use BatchAA to reduce capture analysis cost [NFC]

SLP makes very heavy use of aliasing queries to construct pointer dependencies for scheduling purposes.  AA internally usings pointerMayBeCaptured to prove some noalias results.  In a local profile, we were spending about 4% of total O2 time in capture tracking.  By using BatchAA interface - which caches capture results - this drops to 2%.

Note that there is no invalidation of BatchAA here.  This assumes that no transformation done by SLP invalidates alias or capture results.  This is the same assumption made by the existing AliasCache, so this is not a new assumption in the code.




More information about the All-commits mailing list