Enzyme main
Loading...
Searching...
No Matches
CoreDialectsAutoDiffRegistration.cpp
Go to the documentation of this file.
1//===- CoreDialectsAutoDiffRegistration.cpp -------------------------------===//
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// Aggregate entry point registering autodiff external models for every core
10// upstream dialect. Isolated in its own TU so that linking it pulls in all the
11// per-dialect models (Linalg, NVVM, ...); consumers needing only a subset (e.g.
12// the flang -fc1 plugin, which must not pull in Linalg) link the individual
13// register*DialectAutoDiffInterface functions instead and skip this TU.
14//
15//===----------------------------------------------------------------------===//
16
18
19#include "mlir/IR/DialectRegistry.h"
20
22 DialectRegistry &registry) {
23 enzyme::registerAffineDialectAutoDiffInterface(registry);
24 enzyme::registerArithDialectAutoDiffInterface(registry);
25 enzyme::registerBuiltinDialectAutoDiffInterface(registry);
26 enzyme::registerComplexDialectAutoDiffInterface(registry);
27 enzyme::registerLLVMDialectAutoDiffInterface(registry);
28 enzyme::registerLLVMExtDialectAutoDiffInterface(registry);
29 enzyme::registerNVVMDialectAutoDiffInterface(registry);
30 enzyme::registerMathDialectAutoDiffInterface(registry);
31 enzyme::registerMemRefDialectAutoDiffInterface(registry);
32 enzyme::registerComplexDialectAutoDiffInterface(registry);
33 enzyme::registerSCFDialectAutoDiffInterface(registry);
34 enzyme::registerCFDialectAutoDiffInterface(registry);
35 enzyme::registerLinalgDialectAutoDiffInterface(registry);
36 enzyme::registerFuncDialectAutoDiffInterface(registry);
37 enzyme::registerTensorDialectAutoDiffInterface(registry);
38 enzyme::registerGPUDialectAutoDiffInterface(registry);
39 enzyme::registerEnzymeDialectAutoDiffInterface(registry);
40}
void registerCoreDialectAutodiffInterfaces(DialectRegistry &registry)