[all-commits] [llvm/llvm-project] 505ad0: [LV] Remove redundant IV casts using VPlan (NFCI).

Florian Hahn via All-commits all-commits at lists.llvm.org
Fri Dec 10 05:57:38 PST 2021


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.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/induction.ll

  Log Message:
  -----------
  [LV] Remove redundant IV casts using VPlan (NFCI).

This patch simplifies handling of redundant induction casts, by
removing dead cast instructions after initial VPlan construction.
This has the following benefits:

  1. fixes a crash
     (see @test_optimized_cast_induction_feeding_first_order_recurrence)
  2. Simplifies VPWidenIntOrFpInduction to a single-def recipes
  3. Retires recordVectorLoopValueForInductionCast.

Reviewed By: Ayal

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




More information about the All-commits mailing list