[all-commits] [llvm/llvm-project] 6176f0: [LAA] Do not set CanDoRT to false for AS that do n...

Florian Hahn via All-commits all-commits at lists.llvm.org
Sun Jun 14 12:56:50 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6176f04436bb71825bb8ad51d13e4349daa3b506
      https://github.com/llvm/llvm-project/commit/6176f04436bb71825bb8ad51d13e4349daa3b506
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2020-06-14 (Sun, 14 Jun 2020)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    A llvm/test/Transforms/LoopVectorize/alias-set-with-uncomputable-bounds.ll

  Log Message:
  -----------
  [LAA] Do not set CanDoRT to false for AS that do not need RT checks.

Alternative approach to D80570.

canCheckPtrAtRT already contains checks the figure out for which alias
sets runtime checks are needed. But it currently sets CanDoRT to false
for alias sets for which we cannot do RT checks but also do not need
any.

If we know that we do not need RT checks based on the number of
reads/writes in the alias set, we can skip processing the AS.

This patch also adds an assertion to ensure that DepCands does not
contain more than one write from the alias set.

Reviewers: Ayal, anemet, hfinkel, dmgreen

Reviewed By: dmgreen

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




More information about the All-commits mailing list