[all-commits] [llvm/llvm-project] a068b9: [VPlan] Implement VPWidenLoad/StoreEVLRecipe::comp...

Elvis Wang via All-commits all-commits at lists.llvm.org
Wed Sep 25 16:10:46 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a068b974b199b0e7350da2d9506adc7df3995ce3
      https://github.com/llvm/llvm-project/commit/a068b974b199b0e7350da2d9506adc7df3995ce3
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll

  Log Message:
  -----------
  [VPlan] Implement VPWidenLoad/StoreEVLRecipe::computeCost().  (#109644)

Currently the EVL recipes transfer the tail masking to the EVL.
But in the legacy cost model, the mask exist and will calculate the
instruction cost of the mask.
To fix the difference between the VPlan-based cost model and the legacy
cost model, we always calculate the instruction cost for the mask in the
EVL recipes.

Note that we should remove the mask cost in the EVL recipes when we
don't need to compare to the legacy cost model.

This patch also fixes #109468.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list