xref: /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/StraightLineStrengthReduce.h (revision e8d8bef961a50d4dc22501cde4fb9fb0be1b2532)
1*e8d8bef9SDimitry Andric //===- StraightLineStrengthReduce.h - -----------------------------------===//
2*e8d8bef9SDimitry Andric //
3*e8d8bef9SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*e8d8bef9SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*e8d8bef9SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*e8d8bef9SDimitry Andric //
7*e8d8bef9SDimitry Andric //===----------------------------------------------------------------------===//
8*e8d8bef9SDimitry Andric 
9*e8d8bef9SDimitry Andric #ifndef LLVM_TRANSFORMS_SCALAR_STRAIGHTLINESTRENGTHREDUCE_H
10*e8d8bef9SDimitry Andric #define LLVM_TRANSFORMS_SCALAR_STRAIGHTLINESTRENGTHREDUCE_H
11*e8d8bef9SDimitry Andric 
12*e8d8bef9SDimitry Andric #include "llvm/IR/PassManager.h"
13*e8d8bef9SDimitry Andric 
14*e8d8bef9SDimitry Andric namespace llvm {
15*e8d8bef9SDimitry Andric 
16*e8d8bef9SDimitry Andric class StraightLineStrengthReducePass
17*e8d8bef9SDimitry Andric     : public PassInfoMixin<StraightLineStrengthReducePass> {
18*e8d8bef9SDimitry Andric public:
19*e8d8bef9SDimitry Andric   PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
20*e8d8bef9SDimitry Andric };
21*e8d8bef9SDimitry Andric 
22*e8d8bef9SDimitry Andric } // namespace llvm
23*e8d8bef9SDimitry Andric 
24*e8d8bef9SDimitry Andric #endif // LLVM_TRANSFORMS_SCALAR_STRAIGHTLINESTRENGTHREDUCE_H
25