[all-commits] [llvm/llvm-project] e1650c: [LV] Move exit cond simplification to separate tra...

Florian Hahn via All-commits all-commits at lists.llvm.org
Fri Dec 23 04:53:03 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e1650c8d5291382cc89e031b6bee7dce6bf4d4cb
      https://github.com/llvm/llvm-project/commit/e1650c8d5291382cc89e031b6bee7dce6bf4d4cb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2022-12-23 (Fri, 23 Dec 2022)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/lcssa-crashes.ll

  Log Message:
  -----------
  [LV] Move exit cond simplification to separate transform.

This sets the stage for D133017 by moving out the code that performs
VPlan based simplifications to a separate transform that takes the
chosen VF & UF as arguments.

The main advantage is that this transform runs before any changes to
the CFG are being made. This allows using SCEV without worrying about
making queries while the IR is in an incomplete state.

Note that this patch switches the reasoning to use SCEV, but still only
simplifies loops with constant trip counts. Using SCEV here is needed to
access the backedge taken count, because the trip count IR value has not
been created yet.

Reviewed By: Ayal

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




More information about the All-commits mailing list