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 {
32struct VolumeComputeGenerator :
public ComputeGenerator
40 VolumeComputeGenerator(llvm::Module& module,
41 const FunctionOptions& options,
42 FunctionRegistry& functionRegistry,
45 ~VolumeComputeGenerator()
override =
default;
47 using ComputeGenerator::traverse;
48 using ComputeGenerator::visit;
50 AttributeRegistry::Ptr generate(
const ast::Tree& node);
51 bool visit(
const ast::Attribute*)
override;
54 llvm::Value* accessorHandleFromToken(
const std::string&);
55 void getAccessorValue(
const std::string&, Value);
57 void computek2(llvm::Function*,
const AttributeRegistry&);
58 void computek3(llvm::Function*,
const AttributeRegistry&);
61 SymbolTable<llvm::Value*> mInternalPtrs;
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.
Definition Exceptions.h:13
#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