LLVM/project 0718e3amlir/lib/Conversion/GPUToVulkan ConvertLaunchFuncToVulkanCalls.cpp ConvertGPULaunchFuncToVulkanLaunchFunc.cpp, mlir/test/mlir-vulkan-runner subf.mlir

[mlir][vulkan-runner] Add support for 3D memrefs.

Summary:
Add support for 3D memrefs in mlir-vulkan-runner and simple test.

Differential Revision: https://reviews.llvm.org/D77157
DeltaFile
+54-0mlir/test/mlir-vulkan-runner/subf.mlir
+23-15mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
+19-0mlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp
+1-1mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
+97-164 files

LLVM/project 3dddd89mlir/include/mlir InitAllPasses.h, mlir/include/mlir/Conversion Passes.td

[mlir][Pass] Move the registration of conversion passes to tablegen

This removes the need to statically register conversion passes, and also puts all of the conversions within one centralized file.

Differential Revision: https://reviews.llvm.org/D76658
DeltaFile
+168-0mlir/include/mlir/Conversion/Passes.td
+7-39mlir/include/mlir/InitAllPasses.h
+6-11mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp
+2-7mlir/include/mlir/Conversion/VectorToLoops/ConvertVectorToLoops.h
+6-1mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt
+1-4mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
+190-6230 files not shown
+232-11336 files

LLVM/project 9a277afmlir/include/mlir/Pass PassBase.td, mlir/include/mlir/TableGen Pass.h

[mlir][Pass] Add support for generating pass utilities via tablegen

This revision adds support for generating utilities for passes such as options/statistics/etc. that can be inferred from the tablegen definition. This removes additional boilerplate from the pass, and also makes it easier to remove the reliance on the pass registry to provide certain things(e.g. the pass argument).

Differential Revision: https://reviews.llvm.org/D76659
DeltaFile
+63-2mlir/tools/mlir-tblgen/PassGen.cpp
+62-0mlir/include/mlir/TableGen/Pass.h
+58-1mlir/lib/TableGen/Pass.cpp
+38-17mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
+50-0mlir/include/mlir/Pass/PassBase.td
+24-10mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
+295-3056 files not shown
+605-15062 files

LLVM/project 8f4ab8cmlir/lib/Conversion/GPUToVulkan ConvertLaunchFuncToVulkanCalls.cpp ConvertGPULaunchFuncToVulkanLaunchFunc.cpp, mlir/test/mlir-vulkan-runner mulf.mlir

[mlir][vulkan-runner] Add support for 2D memref.

Summary:
This patch adds support for 2D memref in mlir-vulkan-runner.

Differential Revision: https://reviews.llvm.org/D76737
DeltaFile
+66-3mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
+52-0mlir/test/mlir-vulkan-runner/mulf.mlir
+18-0mlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp
+4-2mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
+140-54 files

LLVM/project e51183elibc/AOR_v20.02/math/test/traces sincosf.txt exp.txt, lldb/source/Target RegisterContextUnwind.cpp

[DPWBS-1403] Merge branch community master into htc/master

The following files needed to be touched due to changes in the
upstream community:

ELFObjectFile.h:                536ba6373f05fb1e9bc7199e301fbf4bc514006f
TriCoreFrameLowering.cpp:       d000655a8cd58c8449a86a1761038c8c1dd78d87
TriCore.td:                     a26bd4ec1652da20872e55d0bf468f52149a2ec9
TriCoreInstrInfo.td:            a26bd4ec1652da20872e55d0bf468f52149a2ec9
TriCoreInstrFormats.td:         a26bd4ec1652da20872e55d0bf468f52149a2ec9

The following tests needed to be updated as well:

elf-header.s:                   536ba6373f05fb1e9bc7199e301fbf4bc514006f
legalize-ctlz.mir:              c0241f150dcb0a5c6abd2955310d6cc8ef7b9f94
legalize-cttz.mir:              c0241f150dcb0a5c6abd2955310d6cc8ef7b9f94
legalize-load-store.mir:        c0241f150dcb0a5c6abd2955310d6cc8ef7b9f94
legalize-merge-values.mir:      c0241f150dcb0a5c6abd2955310d6cc8ef7b9f94


    [10 lines not shown]
DeltaFile
+31,999-0libc/AOR_v20.02/math/test/traces/sincosf.txt
+16,000-0libc/AOR_v20.02/math/test/traces/exp.txt
+3,281-0llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.dim.a16.ll
+3,011-0llvm/test/CodeGen/Thumb2/LowOverheadLoops/vaddv.mir
+2,233-0llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
+2,215-0lldb/source/Target/RegisterContextUnwind.cpp
+58,739-04,917 files not shown
+209,458-69,4874,923 files

LLVM/project bfb2ce0mlir/lib/Conversion/GPUToVulkan ConvertLaunchFuncToVulkanCalls.cpp ConvertGPULaunchFuncToVulkanLaunchFunc.cpp, mlir/test/Conversion/GPUToVulkan invoke-vulkan.mlir

[mlir][vulkan-runner] Use C-compatible wrapper emission.

A memref argument is converted into a pointer-to-struct argument
of type `{T*, T*, i64, i64[N], i64[N]}*` in the wrapper function,
where T is the converted element type and N is the memref rank.

Differential Revision: https://reviews.llvm.org/D76059
DeltaFile
+115-104mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
+28-17mlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp
+15-2mlir/test/Conversion/GPUToVulkan/invoke-vulkan.mlir
+4-4mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
+3-1mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
+1-1mlir/tools/mlir-vulkan-runner/VulkanRuntime.h
+166-1296 files

LLVM/project 5b0c60cmlir/lib/Conversion/GPUToVulkan ConvertLaunchFuncToVulkanCalls.cpp

[mlir][vulkan-runner] Use std::make_tuple to create tuple
DeltaFile
+2-2mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
+2-21 files

LLVM/project 1090a83mlir/lib/Conversion/GPUToVulkan ConvertLaunchFuncToVulkanCalls.cpp ConvertGPULaunchFuncToVulkanLaunchFunc.cpp, mlir/test/Conversion/GPUToVulkan invoke-vulkan.mlir lower-gpu-launch-vulkan-launch.mlir

[mlir][vulkan-runner] Update mlir-vulkan-runner execution driver.

* Adds GpuLaunchFuncToVulkanLaunchFunc conversion pass.
* Moves a serialization of the `spirv::Module` from LaunchFuncToVulkanCalls pass to newly created pass.
* Updates LaunchFuncToVulkanCalls instrumentation pass, adds `initVulkan` and `deinitVulkan` runtime calls.
* Adds `bindResource` call to bind specifc resource by the given descriptor set and descriptor binding.
* Eliminates static construction and desctruction of `VulkanRuntimeManager`.

Differential Revision: https://reviews.llvm.org/D75192
DeltaFile
+203-113mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
+173-0mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
+68-57mlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp
+35-32mlir/test/Conversion/GPUToVulkan/invoke-vulkan.mlir
+32-0mlir/test/Conversion/GPUToVulkan/lower-gpu-launch-vulkan-launch.mlir
+4-4mlir/test/mlir-vulkan-runner/addf.mlir
+515-2065 files not shown
+525-21011 files

LLVM/project da69877llgo/third_party/gofrontend/libbacktrace configure, llgo/third_party/gofrontend/libffi configure

[DPWBS-1377] Merge community master into htc/master

The following TriCore files needed to be touched due to changes in the
upstream community:

TriCoreAsmParser.cpp:   8d5bf0422bc3c8cc7017602375122f7bfea70dab
TriCoreAsmPrinter.cpp:  6d2d589b06fcb31220bdf5aa09b7a6d5b34ef252

The following tests needed to be updated as well:

[Clang]
Preprocessor/init.c:    91cdbd521a38495c66e30636943563ca70d3c022

[LLVM]
copy-pseudo-register-invalid.mir:                   4ad76852584480b646d1ce360202e18591ea8938
legalize-bswap-invalid.mir:                         4ad76852584480b646d1ce360202e18591ea8938
legalize-invalid-inttoptr.mir:                      4ad76852584480b646d1ce360202e18591ea8938
legalize-store-invalid-memsize.mir:                 4ad76852584480b646d1ce360202e18591ea8938
prologue-epilogue-invalid-stack-size.mir:           4ad76852584480b646d1ce360202e18591ea8938

    [9 lines not shown]
DeltaFile
+0-18,792llgo/third_party/gofrontend/libffi/configure
+0-18,345llgo/third_party/gofrontend/libgo/configure
+13,710-2,810polly/lib/External/isl/include/isl/cpp.h
+0-15,156llgo/third_party/gofrontend/libbacktrace/configure
+8,769-881polly/lib/External/isl/include/isl/cpp-checked.h
+8,911-540polly/lib/External/isl/interface/isl.py
+31,390-56,52416,314 files not shown
+495,548-983,60016,320 files

LLVM/project 69d757cmlir/include/mlir/Dialect/StandardOps Ops.td Ops.h, mlir/include/mlir/Dialect/StandardOps/IR Ops.td Ops.h

Move StandardOps/Ops.h to StandardOps/IR/Ops.h

Summary:
NFC - Moved StandardOps/Ops.h to a StandardOps/IR dir to better match surrounding
directories. This is to match other dialects, and prepare for moving StandardOps
related transforms in out for Transforms and into StandardOps/Transforms.

Differential Revision: https://reviews.llvm.org/D74940
DeltaFile
+0-2,920mlir/lib/Dialect/StandardOps/Ops.cpp
+2,920-0mlir/lib/Dialect/StandardOps/IR/Ops.cpp
+0-1,699mlir/include/mlir/Dialect/StandardOps/Ops.td
+1,699-0mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
+0-342mlir/include/mlir/Dialect/StandardOps/Ops.h
+342-0mlir/include/mlir/Dialect/StandardOps/IR/Ops.h
+4,961-4,96164 files not shown
+5,030-5,03070 files

LLVM/project 896ee36mlir/test/mlir-vulkan-runner addf.mlir, mlir/tools/mlir-vulkan-runner VulkanRuntime.cpp VulkanRuntime.h

[mlir][spirv] Add mlir-vulkan-runner

Add an initial version of mlir-vulkan-runner execution driver.
A command line utility that executes a MLIR file on the Vulkan by
translating MLIR GPU module to SPIR-V and host part to LLVM IR before
JIT-compiling and executing the latter.

Differential Revision: https://reviews.llvm.org/D72696
DeltaFile
+717-0mlir/tools/mlir-vulkan-runner/VulkanRuntime.cpp
+225-0mlir/tools/mlir-vulkan-runner/VulkanRuntime.h
+105-0mlir/tools/mlir-vulkan-runner/CMakeLists.txt
+97-0mlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp
+46-0mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
+45-0mlir/test/mlir-vulkan-runner/addf.mlir
+1,235-07 files not shown
+1,265-2413 files

LLVM/project a062a3emlir/include/mlir InitAllPasses.h, mlir/include/mlir/Conversion/GPUToVulkan ConvertGPUToVulkanPass.h

[mlir][spirv] Add ConvertGpuLaunchFuncToVulkanCallsPass

Implement a pass to convert gpu.launch_func op into a sequence of
Vulkan runtime calls. The Vulkan runtime API surface is huge so currently we
don't expose separate external functions in IR for each of them, instead we
expose a few external functions to wrapper libraries which manages
Vulkan runtime.

Differential Revision: https://reviews.llvm.org/D74549
DeltaFile
+278-0mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
+45-0mlir/test/Conversion/GPUToVulkan/invoke-vulkan.mlir
+30-0mlir/include/mlir/Conversion/GPUToVulkan/ConvertGPUToVulkanPass.h
+16-0mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt
+4-0mlir/include/mlir/InitAllPasses.h
+1-0mlir/lib/Conversion/CMakeLists.txt
+374-01 files not shown
+375-07 files