[all-commits] [llvm/llvm-project] 43bdac: [VectorCombine] try to create vector loads from sc...

RotateRight via All-commits all-commits at lists.llvm.org
Sun Aug 9 06:19:32 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 43bdac290663f4424f9fb3920c47c7288a2aabb4
      https://github.com/llvm/llvm-project/commit/43bdac290663f4424f9fb3920c47c7288a2aabb4
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2020-08-09 (Sun, 09 Aug 2020)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/load.ll

  Log Message:
  -----------
  [VectorCombine] try to create vector loads from scalar loads

This patch was adjusted to match the most basic pattern that starts with an insertelement
(so there's no extract created here). Hopefully, that removes any concern about
interfering with other passes. Ie, the transform should almost always be profitable.

We could make an argument that this could be part of canonicalization, but we
conservatively try not to create vector ops from scalar ops in passes like instcombine.

If the transform is not profitable, the backend should be able to re-scalarize the load.

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




More information about the All-commits mailing list