[all-commits] [llvm/llvm-project] 9a3d3c: generalize pass gpu-kernel-outlining for symbol op...

drazi via All-commits all-commits at lists.llvm.org
Sun Nov 12 21:49:02 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9a3d3c7093d3e834f2f414bafad41b921e38eec3
      https://github.com/llvm/llvm-project/commit/9a3d3c7093d3e834f2f414bafad41b921e38eec3
  Author: drazi <fengxie83 at gmail.com>
  Date:   2023-11-12 (Sun, 12 Nov 2023)

  Changed paths:
    M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
    M mlir/test/Dialect/GPU/outlining.mlir

  Log Message:
  -----------
  generalize pass gpu-kernel-outlining for symbol op (#72074)

This PR generalize gpu-out-lining pass to take care of ops
`SymbolOpInterface` instead of just `func::FuncOp`.

Before this change, gpu-out-lining pass will skip `llvm.func`.
```mlir
module {
  llvm.func @main() {
    %c1 = arith.constant 1 : index
    gpu.launch blocks(%arg0, %arg1, %arg2) in (%arg6 = %c1, %arg7 = %c1, %arg8 = %c1) threads(%arg3, %arg4, %arg5) in (%arg9 = %c1, %arg10 = %c1, %arg11 = %c1) {
      gpu.terminator
    }
    llvm.return
  }
}
```

After this change, gpu-out-lining pass can handle llvm.func as well.




More information about the All-commits mailing list