12#ifndef OPENVDB_AX_VOLUME_COMPUTE_GENERATOR_HAS_BEEN_INCLUDED
13#define OPENVDB_AX_VOLUME_COMPUTE_GENERATOR_HAS_BEEN_INCLUDED
19#include <openvdb/version.h>
27namespace codegen_internal {
54 llvm::Value* accessorHandleFromToken(
const std::string&);
55 void getAccessorValue(
const std::string&,
Value);
These classes contain lists of expected attributes and volumes which are populated by compiler during...
The core visitor framework for code generation.
Intermediate representation of supported AX values.
Consolidated llvm types for most supported types.
This class stores a list of access names, types and their dependency connections.
Definition AttributeRegistry.h:40
std::shared_ptr< AttributeRegistry > Ptr
Definition AttributeRegistry.h:42
Logger for collecting errors and warnings that occur during AX compilation.
Definition Logger.h:58
The function registry which is used for function code generation. Each time a function is visited wit...
Definition FunctionRegistry.h:40
Intermediate representation wrapper for supported value types in AX as immutable instances.
Definition Value.h:63
Definition Exceptions.h:13
Options that control how functions behave.
Definition CompilerOptions.h:25
Attributes represent any access to a primitive value, typically associated with the '@' symbol syntax...
Definition AST.h:1875
A Tree is the highest concrete (non-abstract) node in the entire AX AST hierarchy....
Definition AST.h:563
A symbol table which can be used to represent a single scoped set of a programs variables....
Definition SymbolTable.h:38
ComputeGenerator(llvm::Module &module, const FunctionOptions &options, FunctionRegistry &functionRegistry, Logger &logger)
bool traverse(const ast::Block *block)
Custom traversal of scoped blocks.
Definition ComputeGenerator.h:112
virtual bool visit(const ast::CommaOperator *)
Visitor methods for all AST nodes which implement IR generation.
AttributeRegistry::Ptr generate(const ast::Tree &node)
VolumeComputeGenerator(llvm::Module &module, const FunctionOptions &options, FunctionRegistry &functionRegistry, Logger &logger)
Constructor.
~VolumeComputeGenerator() override=default
bool visit(const ast::Attribute *) override
Visitor methods for all AST nodes which implement IR generation.
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:218