[PATCH] D76857: [Matrix] Add may-contain-matrix-intrinsics attribute, unconditionally run lowering
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 26 09:12:19 PDT 2020
fhahn created this revision.
fhahn added reviewers: anemet, Gerolf, andrew.w.kaylor, LuoYuanke.
Herald added subscribers: tschuett, dexonsmith, hiraditya.
Herald added a project: LLVM.
This patch adds a new may-contain-matrix-intrinsics attribute to allow
frontends to mark a functions as requiring matrix lowering. This allows
us to run the LowerMatrixIntrinsics pass unconditionally, with it being
a no-op for functions without that attribute.
The main reason for introducing the attribute is to avoid doing an
unnecessary pass over each function in the lowering pass. This approach
should also works seamlessly with LTO combining modules built with and
without matrix support enabled.
This patch also extends the IR verifier to reject functions that contain
matrix intrinsics but are not marked as may-contain-matrix-intrinsics.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D76857
Files:
llvm/docs/LangRef.rst
llvm/include/llvm/IR/Attributes.td
llvm/lib/IR/Verifier.cpp
llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
llvm/test/Other/opt-O2-pipeline.ll
llvm/test/Other/opt-O3-pipeline.ll
llvm/test/Other/opt-Os-pipeline.ll
llvm/test/Transforms/LowerMatrixIntrinsics/bigger-expressions-double.ll
llvm/test/Transforms/LowerMatrixIntrinsics/lowering-drops-attr.ll
llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-contraction-fmf.ll
llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-contraction.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-i32.ll
llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backward.ll
llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backwards-unsupported.ll
llvm/test/Transforms/LowerMatrixIntrinsics/propagate-forward.ll
llvm/test/Transforms/LowerMatrixIntrinsics/propagate-mixed-users.ll
llvm/test/Transforms/LowerMatrixIntrinsics/propagate-multiple-iterations.ll
llvm/test/Transforms/LowerMatrixIntrinsics/remarks-inlining.ll
llvm/test/Transforms/LowerMatrixIntrinsics/remarks-shared-subtrees.ll
llvm/test/Transforms/LowerMatrixIntrinsics/remarks.ll
llvm/test/Transforms/LowerMatrixIntrinsics/strided-load-double.ll
llvm/test/Transforms/LowerMatrixIntrinsics/strided-load-float.ll
llvm/test/Transforms/LowerMatrixIntrinsics/strided-load-i32.ll
llvm/test/Transforms/LowerMatrixIntrinsics/strided-store-double.ll
llvm/test/Transforms/LowerMatrixIntrinsics/strided-store-float.ll
llvm/test/Transforms/LowerMatrixIntrinsics/strided-store-i32.ll
llvm/test/Transforms/LowerMatrixIntrinsics/transpose-double.ll
llvm/test/Transforms/LowerMatrixIntrinsics/transpose-float.ll
llvm/test/Transforms/LowerMatrixIntrinsics/transpose-i32.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76857.252869.patch
Type: text/x-patch
Size: 49774 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200326/0836026d/attachment-0001.bin>
More information about the llvm-commits
mailing list