[all-commits] [llvm/llvm-project] 462db6: [mlir][AVX512] Start a primitive AVX512 dialect

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Fri Mar 20 11:15:04 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 462db62053fba10d3961448c1a5bd653ada8a87d
      https://github.com/llvm/llvm-project/commit/462db62053fba10d3961448c1a5bd653ada8a87d
  Author: Nicolas Vasilache <ntv at google.com>
  Date:   2020-03-20 (Fri, 20 Mar 2020)

  Changed paths:
    A mlir/include/mlir/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.h
    A mlir/include/mlir/Dialect/AVX512/AVX512.td
    A mlir/include/mlir/Dialect/AVX512/AVX512Dialect.h
    A mlir/include/mlir/Dialect/AVX512/CMakeLists.txt
    M mlir/include/mlir/Dialect/CMakeLists.txt
    M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
    A mlir/include/mlir/Dialect/LLVMIR/LLVMAVX512.td
    A mlir/include/mlir/Dialect/LLVMIR/LLVMAVX512Dialect.h
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/InitAllPasses.h
    A mlir/lib/Conversion/AVX512ToLLVM/CMakeLists.txt
    A mlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Dialect/AVX512/CMakeLists.txt
    A mlir/lib/Dialect/AVX512/IR/AVX512Dialect.cpp
    M mlir/lib/Dialect/CMakeLists.txt
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
    A mlir/lib/Dialect/LLVMIR/IR/LLVMAVX512Dialect.cpp
    M mlir/lib/Target/CMakeLists.txt
    A mlir/lib/Target/LLVMIR/LLVMAVX512Intr.cpp
    A mlir/test/Conversion/AVX512ToLLVM/convert-to-llvm.mlir
    A mlir/test/Dialect/AVX512/roundtrip.mlir
    A mlir/test/Target/avx512.mlir
    M mlir/tools/mlir-translate/CMakeLists.txt

  Log Message:
  -----------
  [mlir][AVX512] Start a primitive AVX512 dialect

The Vector Dialect [document](https://mlir.llvm.org/docs/Dialects/Vector/) discusses the vector abstractions that MLIR supports and the various tradeoffs involved.

One of the layer that is missing in OSS atm is the Hardware Vector Ops (HWV) level.

This revision proposes an AVX512-specific to add a new Dialect/Targets/AVX512 Dialect that would directly target AVX512-specific intrinsics.

Atm, we rely too much on LLVM’s peephole optimizer to do a good job from small insertelement/extractelement/shufflevector. In the future, when possible, generic abstractions such as VP intrinsics should be preferred.

The revision will allow trading off HW-specific vs generic abstractions in MLIR.

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




More information about the All-commits mailing list