[Matrix] Add minimal lowering pass that only requires TTI.
authorFlorian Hahn <flo@fhahn.com>
Mon, 20 Jul 2020 09:50:15 +0000 (10:50 +0100)
committerFlorian Hahn <flo@fhahn.com>
Mon, 20 Jul 2020 10:16:11 +0000 (11:16 +0100)
commitdc1087d408a97911c4282b0e58364d8f0aec9263
treec9b78ecf50928af251177b46636e213e2d1606d0
parent8513a681f7d8d1188706762e712168aebc3119dd
[Matrix] Add minimal lowering pass that only requires TTI.

This patch adds a new variant of the matrix lowering pass that only does
a minimal lowering and only depends on TTI. The main purpose of this pass
is to have a pass with minimal dependencies to run as part of the backend
pipeline.

At the moment, the only difference to the regular lowering pass is that it
does not support remarks. But in subsequent patches add support for tiling
to the lowering pass which will require more analysis, which we do not want
to run in the backend, as the lowering should happen in the middle-end in
practice and running it in the backend is mostly for convenience when
running llc.

Reviewers: anemet, Gerolf, efriedma, hfinkel

Reviewed By: anemet

Differential Revision: https://reviews.llvm.org/D76867
llvm/include/llvm/InitializePasses.h
llvm/include/llvm/Transforms/Scalar.h
llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
llvm/lib/Transforms/Scalar/Scalar.cpp
llvm/test/Other/opt-O0-pipeline-enable-matrix.ll
llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll [new file with mode: 0644]