12 #ifndef OPENVDB_AX_POINT_COMPUTE_GENERATOR_HAS_BEEN_INCLUDED 13 #define OPENVDB_AX_POINT_COMPUTE_GENERATOR_HAS_BEEN_INCLUDED 20 #include "../compiler/AttributeRegistry.h" 22 #include <openvdb/version.h> 51 void(
const void*
const,
59 static const size_t N_ARGS = FunctionTraitsT::N_ARGS;
62 static const std::array<std::string, N_ARGS>& argumentKeys();
63 static std::string getDefaultName();
71 static std::string getDefaultName();
78 namespace codegen_internal {
99 using ComputeGenerator::traverse;
100 using ComputeGenerator::visit;
106 llvm::Value* attributeHandleFromToken(
const std::string&);
107 void getAttributeValue(
const std::string& globalName, llvm::Value* location);
117 #endif // OPENVDB_AX_POINT_COMPUTE_GENERATOR_HAS_BEEN_INCLUDED The core visitor framework for code generation.
An additional function built by the PointComputeGenerator. Currently both compute and compute range f...
Definition: PointComputeGenerator.h:69
Logger for collecting errors and warnings that occur during AX compilation.
Definition: Logger.h:54
Consolidated llvm types for most supported types.
Contains frameworks for creating custom AX functions which can be registered within the FunctionRegis...
Visitor object which will generate llvm IR for a syntax tree. This provides the majority of the code ...
Definition: ComputeGenerator.h:86
The function registry which is used for function code generation. Each time a function is visited wit...
Definition: FunctionRegistry.h:36
void(const void *const, const void *const, uint64_t, void **, void **, void *) Signature
The signature of the generated function.
Definition: PointComputeGenerator.h:56
Templated function traits which provides compile-time index access to the types of the function signa...
Definition: Types.h:259
Visitor object which will generate llvm IR for a syntax tree which has been generated from AX that ta...
Definition: PointComputeGenerator.h:84
Definition: Exceptions.h:13
Options that control how functions behave.
Definition: CompilerOptions.h:24
A Tree is the highest concrete (non-abstract) node in the entire AX AST hierarchy. It represents an entire conversion of a valid AX string.
Definition: AST.h:561
std::shared_ptr< AttributeRegistry > Ptr
Definition: AttributeRegistry.h:41
Attributes represent any access to a primitive value, typically associated with the '@' symbol syntax...
Definition: AST.h:1873
Utility code generation methods for performing various llvm operations.
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:116
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:202
The function definition and signature which is built by the PointComputeGenerator.
Definition: PointComputeGenerator.h:47