[all-commits] [llvm/llvm-project] 0670f8: [mlir][spirv] Add support for lowering scf.for scf...

Thomas via All-commits all-commits at lists.llvm.org
Wed Jul 1 17:11:56 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 0670f855a7d8f48a86d67d83e6be45fab016f080
      https://github.com/llvm/llvm-project/commit/0670f855a7d8f48a86d67d83e6be45fab016f080
  Author: Thomas Raoux <thomasraoux at google.com>
  Date:   2020-07-01 (Wed, 01 Jul 2020)

  Changed paths:
    M mlir/include/mlir/Conversion/SCFToSPIRV/SCFToSPIRV.h
    M mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
    M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
    M mlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
    M mlir/test/Conversion/GPUToSPIRV/if.mlir
    M mlir/test/Conversion/GPUToSPIRV/loop.mlir

  Log Message:
  -----------
  [mlir][spirv] Add support for lowering scf.for scf/if with return value

This allow lowering to support scf.for and scf.if with results. As right now
spv region operations don't have return value the results are demoted to
Function memory. We create one allocation per result right before the region
and store the yield values in it. Then we can load back the value from
allocation to be able to use the results.

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




More information about the All-commits mailing list