Enzyme
main
Loading...
Searching...
No Matches
TypeAnalysis
TypeAnalysisPrinter.h
Go to the documentation of this file.
1
//===- TypeAnalysisPrinter.h - Printer utility pass for Type Analysis -----===//
2
//
3
// Enzyme Project
4
//
5
// Part of the Enzyme Project, under the Apache License v2.0 with LLVM
6
// Exceptions. See https://llvm.org/LICENSE.txt for license information.
7
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8
//
9
// If using this code in an academic setting, please cite the following:
10
// @incollection{enzymeNeurips,
11
// title = {Instead of Rewriting Foreign Code for Machine Learning,
12
// Automatically Synthesize Fast Gradients},
13
// author = {Moses, William S. and Churavy, Valentin},
14
// booktitle = {Advances in Neural Information Processing Systems 33},
15
// year = {2020},
16
// note = {To appear in},
17
// }
18
//
19
//===----------------------------------------------------------------------===//
20
//
21
// This file contains a utility LLVM pass for printing derived Type Analysis
22
// results of a given function.
23
//
24
//===----------------------------------------------------------------------===//
25
26
#ifndef ENZYME_TYPE_ANALYSIS_TYPE_ANALYSIS_PRINTER_H
27
#define ENZYME_TYPE_ANALYSIS_TYPE_ANALYSIS_PRINTER_H
28
29
#include "
../PassUtils.h
"
30
#include "llvm/IR/PassManager.h"
31
32
namespace
llvm
{
33
class
FunctionPass;
34
}
35
36
class
TypeAnalysisPrinterNewPM
final
37
:
public
PassParent
<TypeAnalysisPrinterNewPM> {
38
friend
PassParent<TypeAnalysisPrinterNewPM>
;
39
40
private
:
41
static
llvm::AnalysisKey Key;
42
43
public
:
44
using
Result
= llvm::PreservedAnalyses;
45
TypeAnalysisPrinterNewPM
() {}
46
47
Result
run
(llvm::Module &M, llvm::ModuleAnalysisManager &MAM);
48
49
static
bool
isRequired
() {
return
true
; }
50
};
51
52
#endif
// ENZYME_TYPE_ANALYSIS_TYPE_ANALYSIS_PRINTER_H
PassUtils.h
PassParent
TypeAnalysisPrinterNewPM
Definition
TypeAnalysisPrinter.h:37
TypeAnalysisPrinterNewPM::TypeAnalysisPrinterNewPM
TypeAnalysisPrinterNewPM()
Definition
TypeAnalysisPrinter.h:45
TypeAnalysisPrinterNewPM::Result
llvm::PreservedAnalyses Result
Definition
TypeAnalysisPrinter.h:44
TypeAnalysisPrinterNewPM::isRequired
static bool isRequired()
Definition
TypeAnalysisPrinter.h:49
TypeAnalysisPrinterNewPM::run
Result run(llvm::Module &M, llvm::ModuleAnalysisManager &MAM)
Definition
TypeAnalysisPrinter.cpp:209
llvm
Definition
ActivityAnalysisPrinter.h:34
Generated on Fri May 8 2026 19:56:26 for Enzyme by
1.12.0