1//===- LowerMatrixIntrinsics.h - Lower matrix intrinsics. -------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This pass lowers matrix intrinsics down to vector operations.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_TRANSFORMS_SCALAR_LOWERMATRIXINTRINSICS_H
14#define LLVM_TRANSFORMS_SCALAR_LOWERMATRIXINTRINSICS_H
15
16#include "llvm/IR/PassManager.h"
17
18namespace llvm {
19class LowerMatrixIntrinsicsPass
20 : public PassInfoMixin<LowerMatrixIntrinsicsPass> {
21 bool Minimal;
22
23public:
24 LowerMatrixIntrinsicsPass(bool Minimal = false) : Minimal(Minimal) {}
25 PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
26 void printPipeline(raw_ostream &OS,
27 function_ref<StringRef(StringRef)> MapClassName2PassName);
28 static bool isRequired() { return true; }
29};
30} // namespace llvm
31
32#endif
33

source code of llvm/include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h