[all-commits] [llvm/llvm-project] 8345b8: [mlir][Vector] Add lowering of 1-D vector transfer...

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Thu Apr 9 13:20:47 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 8345b86d9ac20c112c6f66b1bfbcf9c5c4158996
      https://github.com/llvm/llvm-project/commit/8345b86d9ac20c112c6f66b1bfbcf9c5c4158996
  Author: Nicolas Vasilache <ntv at google.com>
  Date:   2020-04-09 (Thu, 09 Apr 2020)

  Changed paths:
    M mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][Vector] Add lowering of 1-D vector transfer_read/write to masked load/store

Summary:
This revision adds support to lower 1-D vector transfers to LLVM.
A mask of the vector length is created that compares the base offset + linear index to the dim of the vector.
In each position where this does not overflow (i.e. offset + vector index < dim), the mask is set to 1.

A notable fact is that the lowering uses llvm.dialect_cast to allow writing code in the simplest form by targeting the simplest mix of vector and LLVM dialects and
letting other conversions kick in.

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




More information about the All-commits mailing list