[PATCH] D68814: [LV] Allow assume calls in predicated blocks.
Hideki Saito via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 14 10:53:00 PDT 2019
hsaito added a comment.
In D68814#1707477 <https://reviews.llvm.org/D68814#1707477>, @Ayal wrote:
> If conditional assumes are to be dropped, better do so on entry to VPlan, as in DeadInstructions, rather than representing them in ReplicateRecipe (as do unconditional assumes) and silencing their code generation.
>
> To retain conditional assumes along with their control flow, they could be marked under isScalarWithPredication; but this complicates vectorization, plus what use are such assumes when all else is if-converted(?)
>
> Conditional assumes under uniform control flow could be retained, along with the uniform control flow they depend upon; this may be mostly relevant for outerloop vectorization.
To be more precise:
Assumes should be dropped at the time the vectorizer makes the incompatible decision ---- i.e. a assume is no longer "to be guarded" by the original (per-element or uniform) condition. Right now, in the non-VPlan-native path, recording of the decisions already made happens at entry to VPlan. In the VPlan native path, this would be VPlan to VPlan xform, as the decisions are recorded as they are made.
================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:156
using namespace llvm;
+using namespace PatternMatch;
----------------
Do we want to keep this white space?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68814/new/
https://reviews.llvm.org/D68814
More information about the llvm-commits
mailing list