[all-commits] [llvm/llvm-project] 987fba: [mlir] StandardToLLVM: make one-to-one convresion ...

ftynse via All-commits all-commits at lists.llvm.org
Thu Mar 26 10:24:35 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 987fbae0add347b72a1d705ca6349e39549a25d5
      https://github.com/llvm/llvm-project/commit/987fbae0add347b72a1d705ca6349e39549a25d5
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2020-03-26 (Thu, 26 Mar 2020)

  Changed paths:
    M mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
    M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp

  Log Message:
  -----------
  [mlir] StandardToLLVM: make one-to-one convresion pattern publicly available

Summary:
The Standard-to-LLVM dialect convresion has a set of utility classes that
simplify conversions, including patterns that provide one-to-one conversion
operation conversion with optional result packing. Expose these classes in a
public header so that conversions other than Standard-to-LLVM (e.g. vectors, or
LLVM-based intrinsics) could also use them. Since the patterns are implemented
as class templates and in order to keep the code size limited, keep the
implementation private by resorting to op identifiers instead of template-based
builders.

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


  Commit: 04ed07bc174149d61c8a4ed131f0838578bdcaa5
      https://github.com/llvm/llvm-project/commit/04ed07bc174149d61c8a4ed131f0838578bdcaa5
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2020-03-26 (Thu, 26 Mar 2020)

  Changed paths:
    M mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
    M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp

  Log Message:
  -----------
  [mlir] StandardToLLVM: clean up conversion patterns for vector operations

Summary:
Provide a public VectorConvertToLLVMPattern utility class to implement
conversions with automatic unrolling of operation on multidimensional vectors
to lists of operations on single-dimensional vectors when lowering to the LLVM
dialect. Drop the template-based check on the number of operands since the
actual implementation does not depend on the operand number anymore. This check
only creates spurious concepts (UnaryOpLowering, BinaryOpLowering, etc).

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


Compare: https://github.com/llvm/llvm-project/compare/abcb9bb742c9...04ed07bc1741


More information about the All-commits mailing list