SuccessChanges

Summary

  1. [RISCV] Teach CleanupVSETVLI to remove 'vsetvli zero, zero, vtype' when the vtype matches the previous vsetvli or vsetivli (details)
  2. [IndVars] Add test cases inspired by PR48965. (details)
  3. [CodeGen] Format code comment to 80 columns. NFC. (details)
  4. [MLIR][affine-loop-fusion] Handle defining ops between the source and dest loops (details)
  5. [mlir] Check 'iter_args' in 'isLoopParallel' utility (details)
Commit 95c68249952803330739b7311dd2bdc7b18e272f by craig.topper
[RISCV] Teach CleanupVSETVLI to remove 'vsetvli zero, zero, vtype' when the vtype matches the previous vsetvli or vsetivli

Reviewed By: frasercrmck, arcbbb

Differential Revision: https://reviews.llvm.org/D97408
The file was modifiedllvm/lib/Target/RISCV/RISCVCleanupVSETVLI.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-fp-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-fp-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-int-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vreductions-int-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll (diff)
Commit 261f219ffc2ad0a0c7b45912e288ba6448911120 by flo
[IndVars] Add test cases inspired by PR48965.
The file was addedllvm/test/Transforms/IndVarSimplify/simplify-pointer-arithmetic.ll
Commit b368fc735d5a485ebf8ed455e078dafbccf27659 by fraser
[CodeGen] Format code comment to 80 columns. NFC.
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h (diff)
Commit 203d5eeec55b1f0e0dd2aa28f5c5ebe292802e62 by diego.caballero
[MLIR][affine-loop-fusion] Handle defining ops between the source and dest loops

This patch handles defining ops between the source and dest loop nests, and prevents loop nests with `iter_args` from being fused.

If there is any SSA value in the dest loop nest whose defining op has dependence from the source loop nest, we cannot fuse the loop nests.

If there is a `affine.for` with `iter_args`, prevent it from being fused.

Reviewed By: dcaballe, bondhugula

Differential Revision: https://reviews.llvm.org/D97030
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp (diff)
The file was modifiedmlir/test/Transforms/loop-fusion.mlir (diff)
Commit ebca222b65cb847f7bf4ee3da1dd7e2df35d0338 by diego.caballero
[mlir] Check 'iter_args' in 'isLoopParallel' utility

Fix 'isLoopParallel' utility so that 'iter_args' is taken into account
and loops with loop-carried dependences are not classified as parallel.

Reviewed By: tungld, vinayaka-polymage

Differential Revision: https://reviews.llvm.org/D97347
The file was modifiedmlir/test/Dialect/Affine/parallelize.mlir (diff)
The file was modifiedmlir/lib/Analysis/Utils.cpp (diff)