[all-commits] [llvm/llvm-project] d90804: [ARM][MVE] canTailPredicateLoop

sjoerdmeijer via All-commits all-commits at lists.llvm.org
Wed Nov 13 05:24:51 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d90804d26befeda36641fade3edba107682cc5cf
      https://github.com/llvm/llvm-project/commit/d90804d26befeda36641fade3edba107682cc5cf
  Author: Sjoerd Meijer <sjoerd.meijer at arm.com>
  Date:   2019-11-13 (Wed, 13 Nov 2019)

  Changed paths:
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/MVETailPredication.cpp
    M llvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll

  Log Message:
  -----------
  [ARM][MVE] canTailPredicateLoop

This implements TTI hook 'preferPredicateOverEpilogue' for MVE.  This is a
first version and it operates on single block loops only. With this change, the
vectoriser will now determine if tail-folding scalar remainder loops is
possible/desired, which is the first step to generate MVE tail-predicated
vector loops.

This is disabled by default for now. I.e,, this is depends on option
-disable-mve-tail-predication, which is off by default.

I will follow up on this soon with a patch for the vectoriser to respect loop
hint 'vectorize.predicate.enable'. I.e., with this loop hint set to Disabled,
we don't want to tail-fold and we shouldn't query this TTI hook, which is
done in D70125.

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




More information about the All-commits mailing list