|
Enzyme main
|
return structtype if recursive function More...
#include "MLIR/Interfaces/EnzymeLogic.h"

Public Member Functions | |
| AugmentedReturn (llvm::Function *fn, llvm::Type *tapeType, std::map< std::pair< llvm::Instruction *, CacheType >, int > tapeIndices, std::map< AugmentedStruct, int > returns, std::map< llvm::CallInst *, std::pair< bool, const std::vector< bool > > > overwritten_args_map, std::map< llvm::Instruction *, bool > can_modref_map, const std::vector< DIFFE_TYPE > &constant_args, bool shadowReturnUsed) | |
Public Attributes | |
| llvm::Function * | fn |
| llvm::Type * | tapeType |
| return structtype if recursive function | |
| std::map< std::pair< llvm::Instruction *, CacheType >, int > | tapeIndices |
| std::map< const llvm::CallInst *, const AugmentedReturn * > | subaugmentations |
| Map from original call to sub augmentation data. | |
| std::map< AugmentedStruct, int > | returns |
| Map from information desired from a augmented return to its index in the returned struct. | |
| std::map< llvm::CallInst *, std::pair< bool, const std::vector< bool > > > | overwritten_args_map |
| std::map< llvm::Instruction *, bool > | can_modref_map |
| std::set< ssize_t > | tapeIndiciesToFree |
| const std::vector< DIFFE_TYPE > | constant_args |
| bool | shadowReturnUsed |
| bool | isComplete |
return structtype if recursive function
Definition at line 100 of file EnzymeLogic.h.
|
inline |
Definition at line 128 of file EnzymeLogic.h.
| std::map<llvm::Instruction *, bool> AugmentedReturn::can_modref_map |
Definition at line 118 of file EnzymeLogic.h.
| const std::vector<DIFFE_TYPE> AugmentedReturn::constant_args |
Definition at line 122 of file EnzymeLogic.h.
Referenced by AdjointGenerator::recursivelyHandleSubfunction(), and AdjointGenerator::visitOMPCall().
| llvm::Function* AugmentedReturn::fn |
Definition at line 102 of file EnzymeLogic.h.
Referenced by AdjointGenerator::recursivelyHandleSubfunction(), and AdjointGenerator::visitOMPCall().
| bool AugmentedReturn::isComplete |
Definition at line 126 of file EnzymeLogic.h.
| std::map<llvm::CallInst *, std::pair<bool, const std::vector<bool> > > AugmentedReturn::overwritten_args_map |
Definition at line 116 of file EnzymeLogic.h.
| std::map<AugmentedStruct, int> AugmentedReturn::returns |
Map from information desired from a augmented return to its index in the returned struct.
Definition at line 113 of file EnzymeLogic.h.
Referenced by AdjointGenerator::recursivelyHandleSubfunction(), and AdjointGenerator::visitOMPCall().
| bool AugmentedReturn::shadowReturnUsed |
Definition at line 124 of file EnzymeLogic.h.
| std::map<const llvm::CallInst *, const AugmentedReturn *> AugmentedReturn::subaugmentations |
Map from original call to sub augmentation data.
Definition at line 109 of file EnzymeLogic.h.
Referenced by AdjointGenerator::recursivelyHandleSubfunction(), AdjointGenerator::visitCallInst(), and AdjointGenerator::visitOMPCall().
| std::map<std::pair<llvm::Instruction *, CacheType>, int> AugmentedReturn::tapeIndices |
Definition at line 106 of file EnzymeLogic.h.
Referenced by AdjointGenerator::visitCallInst(), and AdjointGenerator::visitOMPCall().
| std::set<ssize_t> AugmentedReturn::tapeIndiciesToFree |
Definition at line 120 of file EnzymeLogic.h.
Referenced by AdjointGenerator::visitOMPCall().
| llvm::Type* AugmentedReturn::tapeType |
return structtype if recursive function
Definition at line 104 of file EnzymeLogic.h.
Referenced by AdjointGenerator::recursivelyHandleSubfunction(), and AdjointGenerator::visitOMPCall().