picceler
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 Npicceler
 CAssignmentNodeAST node for assignment statements
 CASTNodeAbstract Syntax Tree (AST) node base class
 CBrightnessToAffine
 CCallNodeAST node for function calls
 CCLIOptionsStruct to hold command-line options for the compiler
 CCompileErrorStruct to hold compilation error information
 CCompilerCompiler class that orchestrates the compilation process
 CCropToAffine
 CElementWiseBinaryOpToAffine
 CFilterToConvolutionPattern
 CImageAccessHelperHelper class to generate LLVM IR for accessing fields of the Image struct via an opaque pointer. Assumes the following C++ struct layout: struct Image { uint32_t _width; // Offset 0 uint32_t _height; // Offset 4 unsigned char *_data; // Offset 8 };
 CInvertToAffine
 CIRPassManagerWrapper around MLIR PassManager to manage and run passes
 CKernelData
 CKernelNodeAST node for kernel definitions
 CKernelToMemref
 CLexerLexical analyzer for the picceler programming language
 CLoadImageToCallPattern to lower LoadImageOp to a function call
 CMLIRGenMLIR code generator that converts AST nodes to MLIR constructs. This offers the initial IR generation from the AST
 CModuleNodeAST node for the entire module
 CNeighbourhoodOpsToAffine
 CNumberNodeAST node for numeric literals
 CParserThat converts tokens into an AST
 CPassLoggerCustom struct to log pass execution using spdlog. This struct implements the PassInstrumentation interface to hook into the pass execution lifecycle
 CPiccelerFiltersToConvPassA pass that converts high-level image filter operations (like sharpen, blur, edge detect) into convolution operations with constant kernels
 CPiccelerKernelToMemrefPassA pass that converts KernelConstOp operations, which represent constant convolution kernels, into MemRef operations that allocate memory for the kernel and store the constant values into it
 CPiccelerOpsToFuncCallsPassA pass that converts image operations (like load, show, save) into function calls
 CPiccelerToAffinePassA pass that converts Picceler operations to the Affine dialect. This is the crucial step where we lower from our high-level image processing operations to a more explicit representation that can be further lowered to LLVM IR. Each Picceler operation is matched and rewritten into one or more Affine loops that perform the equivalent computation. This pass also handles type conversions and ensures that necessary runtime functions (like piccelerCreateImage) are declared
 CPiccelerToLLVMIRPassA pass that helps convert last pieces of Picceler IR to LLVM IR
 CReadNumberToCall
 CReadStringToCall
 CRotateToAffine
 CSaveImageToCallPattern to lower SaveImageOp to a function call
 CShowImageToCallPattern to lower ShowImageOp to a function call
 CStringConstConverter
 CStringNodeAST node for string literals
 CTokenRepresents a token produced by the lexer
 CVariableNodeAST node for variable references