Enzyme main
Loading...
Searching...
No Matches
TypeTree.h File Reference
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <map>
#include <set>
#include <string>
#include <vector>
#include "../Utils.h"
#include "BaseType.h"
#include "ConcreteType.h"
Include dependency graph for TypeTree.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TypeTree
 Class representing the underlying types of values as sequences of offsets to a ConcreteType. More...
 

Typedefs

typedef std::shared_ptr< const TypeTreeTypeResult
 
typedef std::map< const std::vector< int >, ConcreteTypeConcreteTypeMapType
 
typedef std::map< const std::vector< int >, const TypeResultTypeTreeMapType
 

Functions

static std::string to_string (const std::vector< int > x)
 Helper function to print a vector of ints to a string.
 

Variables

llvm::cl::opt< int > MaxTypeOffset
 Maximum offset for type trees to keep.
 
llvm::cl::opt< bool > EnzymeTypeWarning
 
llvm::cl::opt< unsigned > EnzymeMaxTypeDepth
 

Typedef Documentation

◆ ConcreteTypeMapType

typedef std::map<const std::vector<int>, ConcreteType> ConcreteTypeMapType

Definition at line 67 of file TypeTree.h.

◆ TypeResult

typedef std::shared_ptr<const TypeTree> TypeResult

Definition at line 66 of file TypeTree.h.

◆ TypeTreeMapType

typedef std::map<const std::vector<int>, const TypeResult> TypeTreeMapType

Definition at line 68 of file TypeTree.h.

Function Documentation

◆ to_string()

static std::string to_string ( const std::vector< int > x)
inlinestatic

Helper function to print a vector of ints to a string.

Definition at line 53 of file TypeTree.h.

Referenced by TypeTree::insert(), and TypeTree::orIn().

Variable Documentation

◆ EnzymeMaxTypeDepth

llvm::cl::opt<unsigned> EnzymeMaxTypeDepth
extern

Referenced by TypeTree::insert(), and TypeTree::Only().

◆ EnzymeTypeWarning

llvm::cl::opt<bool> EnzymeTypeWarning
extern

Referenced by TypeTree::insert(), and TypeTree::Only().

◆ MaxTypeOffset

llvm::cl::opt<int> MaxTypeOffset
extern

Maximum offset for type trees to keep.

Referenced by TypeTree::insert(), and TypeTree::ShiftIndices().