Changes

Summary

  1. [mlir][linalg] Lower subtensor(pad_tensor) to pad_tensor(subtensor) (details)
  2. [ORC][examples] Add missing library dependence (details)
  3. [RISCV][test] Add new tests for add-mul optimization in the zba extension with SH*ADD (details)
Commit 24199f534f61d9ac7d2d9dcde7b9cac93c84d4f0 by springerm
[mlir][linalg] Lower subtensor(pad_tensor) to pad_tensor(subtensor)

Only high padding is supported at the moment. Low padding will be added in a separate commit.

Differential Revision: https://reviews.llvm.org/D104357
The file was addedmlir/test/Dialect/Linalg/subtensor-of-padtensor.mlir
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Commit 382b3fe043380c02bcffc8e3fba928bea12c0f5a by Lang Hames
[ORC][examples] Add missing library dependence
The file was modifiedllvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/CMakeLists.txt
Commit 31190738c024298745d877a47ef95a5263ea5c9e by powerman1st
[RISCV][test] Add new tests for add-mul optimization in the zba extension with SH*ADD

These tests will show the following optimization by future patches.

Rx + Ry * 18  => (SH1ADD (SH3ADD Rx, Rx), Ry)
Rx + Ry * 20  => (SH2ADD (SH2ADD Rx, Rx), Ry)
Rx + Ry * 24  => (SH3ADD (SH1ADD Rx, Rx), Ry)
Rx + Ry * 36  => (SH2ADD (SH3ADD Rx, Rx), Ry)
Rx + Ry * 40  => (SH3ADD (SH2ADD Rx, Rx), Ry)
Rx + Ry * 72  => (SH3ADD (SH3ADD Rx, Rx), Ry)
Rx * (3 << C) => (SLLI (SH1ADD Rx, Rx), C)
Rx * (5 << C) => (SLLI (SH2ADD Rx, Rx), C)
Rx * (9 << C) => (SLLI (SH3ADD Rx, Rx), C)

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D104507
The file was modifiedllvm/test/CodeGen/RISCV/rv32zba.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64zba.ll