[all-commits] [llvm/llvm-project] 330a23: [mlir][gpu] Add i64 & f64 support to gpu.shuffle

Fabian Mora via All-commits all-commits at lists.llvm.org
Thu May 25 14:41:46 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 330a232ae76139c3970df5ccaf1b51640cbd4d66
      https://github.com/llvm/llvm-project/commit/330a232ae76139c3970df5ccaf1b51640cbd4d66
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2023-05-25 (Thu, 25 May 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    A mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
    M mlir/test/Dialect/GPU/invalid.mlir
    A mlir/test/Dialect/GPU/shuffle-rewrite.mlir

  Log Message:
  -----------
  [mlir][gpu] Add i64 & f64 support to gpu.shuffle

This patch adds support for i64, f64 values in `gpu.shuffle`, rewriting 64bit shuffles into two 32bit shuffles.
The reason behind this change is that both CUDA & HIP support this kind of shuffling.
The implementation provided by this patch is based on the LLVM IR emitted by clang for 64bit shuffles when using `-O3`.

Reviewed By: makslevental

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




More information about the All-commits mailing list