Recommit "[LV] Move runtime pointer size check to LVP::plan()."
authorFlorian Hahn <flo@fhahn.com>
Mon, 29 Mar 2021 14:16:03 +0000 (15:16 +0100)
committerFlorian Hahn <flo@fhahn.com>
Mon, 29 Mar 2021 15:14:27 +0000 (16:14 +0100)
commitc773d0f973047730bcf1d606a40e1d22faa481c5
treeb375848a656b8525d54bc1d69196cb0a44a30efd
parent9745dce8c3dc6996dae9bab11ff410a12d8daec7
Recommit "[LV] Move runtime pointer size check to LVP::plan()."

Re-apply 25fbe803d4db, with a small update to emit the right remark
class.

Original message:
    [LV] Move runtime pointer size check to LVP::plan().

    This removes the need for the remaining doesNotMeet check and instead
    directly checks if there are too many runtime checks for vectorization
    in the planner.

    A subsequent patch will adjust the logic used to decide whether to
    vectorize with runtime to consider their cost more accurately.

    Reviewed By: lebedev.ri
llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/X86/runtime-limit.ll [moved from llvm/test/Transforms/LoopVectorize/runtime-limit.ll with 86% similarity]