• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
2 
3 Licensed under the Apache License, Version 2.0 (the "License");
4 you may not use this file except in compliance with the License.
5 You may obtain a copy of the License at
6 
7     http://www.apache.org/licenses/LICENSE-2.0
8 
9 Unless required by applicable law or agreed to in writing, software
10 distributed under the License is distributed on an "AS IS" BASIS,
11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 See the License for the specific language governing permissions and
13 limitations under the License.
14 ==============================================================================*/
15 
16 #ifndef TENSORFLOW_COMPILER_MLIR_TENSORFLOW_TRANSFORMS_LOWER_TF_H_
17 #define TENSORFLOW_COMPILER_MLIR_TENSORFLOW_TRANSFORMS_LOWER_TF_H_
18 
19 #include "mlir/IR/MLIRContext.h"  // from @llvm-project
20 #include "mlir/IR/PatternMatch.h"  // from @llvm-project
21 
22 namespace mlir {
23 namespace TF {
24 
25 // Populates TensorFlow lowering patterns to lower some of the TensorFlow
26 // operations that can be represented using other TensorFlow operations.
27 void PopulateLoweringTFPatterns(MLIRContext *context,
28                                 OwningRewritePatternList *patterns);
29 
30 // Populates TensorFlow lowering patterns to lower some of the TensorFlow
31 // operations that can be represented by means of other TensorFlow operations.
32 // This pattern collection preserves those TensorFlow operations that will later
33 // be lowered to equivalent operations in CHLO or MHLO. This allows for
34 // HLO-specific lowerings.
35 void PopulateTFLoweringBeforeHLOPatterns(MLIRContext *context,
36                                          OwningRewritePatternList *patterns);
37 
38 }  // namespace TF
39 }  // namespace mlir
40 
41 #endif  // TENSORFLOW_COMPILER_MLIR_TENSORFLOW_TRANSFORMS_LOWER_TF_H_
42