[PATCH] D80124: [Matrix] Make matrix.multiply variadic, accept optional NUW/NSW flags.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 18 08:01:57 PDT 2020


fhahn created this revision.
fhahn added reviewers: anemet, Gerolf, hfinkel, andrew.w.kaylor, LuoYuanke, nicolasvasilache.
Herald added subscribers: tschuett, jdoerfert, hiraditya.
Herald added a project: LLVM.

This patch extends the llvm.matrix.multiply intrinsic to accept variadic
arguments. This gives us greater flexibility in terms of optional
arguments. As a first use case, 2 optional bools can provided additional
arguments, to indicate that the NUW/NSW flags should be added to the
generated integer instructions.

The verifier is extended to limit the variadic arguments to exactly what
is specified in the LangRef.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D80124

Files:
  llvm/docs/LangRef.rst
  llvm/include/llvm/IR/Intrinsics.td
  llvm/lib/IR/Verifier.cpp
  llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
  llvm/test/Transforms/LowerMatrixIntrinsics/bigger-expressions-double.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/const-gep.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-add-sub-double-row-major.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-contraction-fmf.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-contraction.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-row-major.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-float-contraction-fmf.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-float-contraction.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-float.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32-nuw-nsw.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32-row-major.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backwards-unsupported.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/remarks-shared-subtrees.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/remarks.ll
  llvm/test/Verifier/matrix-intrinsics.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80124.264624.patch
Type: text/x-patch
Size: 57274 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200518/6cd6e1d3/attachment.bin>


More information about the llvm-commits mailing list