Enzyme main
Loading...
Searching...
No Matches
AutoDiffOpInterface.h
Go to the documentation of this file.
1//===- AutoDiffOpInterface.h - Op interface for auto diff- -------* 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 file defines the interfaces necessary to implement scalable automatic
10// differentiation across an unbounded number of MLIR IR constructs.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef ENZYME_MLIR_INTERFACES_AUTODIFFOPINTERFACE_H
15#define ENZYME_MLIR_INTERFACES_AUTODIFFOPINTERFACE_H
16
17#include "mlir/IR/OpDefinition.h"
18#include "mlir/Interfaces/ControlFlowInterfaces.h"
19
20namespace mlir {
21
22class OpBuilder;
23class Operation;
24class IRMapping;
25class PatternRewriter;
26
27namespace enzyme {
28
29class MGradientUtils;
30class MGradientUtilsReverse;
31
32}; // namespace enzyme
33}; // namespace mlir
34
35#include "MLIR/Interfaces/AutoDiffOpInterface.h.inc"
36
37#endif // ENZYME_MLIR_INTERFACES_AUTODIFFOPINTERFACE_H