[all-commits] [llvm/llvm-project] 00d481: [mlir] Generalize intrinsic builders in the LLVM d...

ftynse via All-commits all-commits at lists.llvm.org
Tue Feb 25 02:59:21 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 00d4814f499fd09f8cf326c1c1a219175268b970
      https://github.com/llvm/llvm-project/commit/00d4814f499fd09f8cf326c1c1a219175268b970
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td

  Log Message:
  -----------
  [mlir] Generalize intrinsic builders in the LLVM dialect definition

All LLVM IR intrinsics are constructed in a similar way. The ODS definition of
the LLVM dialect in MLIR also lists multiple intrinsics, many of which
reproduce the same (or similar enough) code stanza to translate the MLIR
operation into the LLVM IR intrinsic. Provide a single base class containing
parameterizable code to build LLVM IR intrinsics given their name and the lists
of overloadable operands and results. Use this class to remove (almost)
duplicate translations for intrinsics defined in LLVMOps.td.

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


  Commit: 3a1b34ff69be5d1cbd218bfe81fc66edb8fa15f1
      https://github.com/llvm/llvm-project/commit/3a1b34ff69be5d1cbd218bfe81fc66edb8fa15f1
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/test/mlir-tblgen/llvm-intrinsics.td
    M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp

  Log Message:
  -----------
  [mlir] Intrinsics generator: use TableGen-defined builder function

Originally, intrinsics generator for the LLVM dialect has been producing
customized code fragments for the translation of MLIR operations to LLVM IR
intrinsics. LLVM dialect ODS now provides a generalized version of the
translation code, parameterizable with the properties of the operation.
Generate ODS that uses this version of the translation code instead of
generating a new version of it for each intrinsic.

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


  Commit: 5f9b543e8e305630c9d133e4ac6366d836d75a59
      https://github.com/llvm/llvm-project/commit/5f9b543e8e305630c9d133e4ac6366d836d75a59
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/AffineOps/AffineOps.td
    M mlir/lib/Dialect/AffineOps/AffineOps.cpp
    M mlir/test/AffineOps/canonicalize.mlir

  Log Message:
  -----------
  [mlir] simplify affine maps and operands in affine.min/max

Affine dialect already has a map+operand simplification infrastructure in
place. Plug the recently added affine.min/max operations into this
infrastructure and add a simple test. More complex behavior of the simplifier
is already tested by other ops.

Addresses https://bugs.llvm.org/show_bug.cgi?id=45008.

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


Compare: https://github.com/llvm/llvm-project/compare/decd021facba...5f9b543e8e30


More information about the All-commits mailing list