|
picceler
|
| Npicceler | |
| CAssignmentNode | AST node for assignment statements |
| CASTNode | Abstract Syntax Tree (AST) node base class |
| CBrightnessToAffine | |
| CCallNode | AST node for function calls |
| CCLIOptions | Struct to hold command-line options for the compiler |
| CCompileError | Struct to hold compilation error information |
| CCompiler | Compiler class that orchestrates the compilation process |
| CCropToAffine | |
| CElementWiseBinaryOpToAffine | |
| CFilterToConvolutionPattern | |
| CImageAccessHelper | Helper 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 | |
| CIRPassManager | Wrapper around MLIR PassManager to manage and run passes |
| CKernelData | |
| CKernelNode | AST node for kernel definitions |
| CKernelToMemref | |
| CLexer | Lexical analyzer for the picceler programming language |
| CLoadImageToCall | Pattern to lower LoadImageOp to a function call |
| CMLIRGen | MLIR code generator that converts AST nodes to MLIR constructs. This offers the initial IR generation from the AST |
| CModuleNode | AST node for the entire module |
| CNeighbourhoodOpsToAffine | |
| CNumberNode | AST node for numeric literals |
| CParser | That converts tokens into an AST |
| CPassLogger | Custom struct to log pass execution using spdlog. This struct implements the PassInstrumentation interface to hook into the pass execution lifecycle |
| CPiccelerFiltersToConvPass | A pass that converts high-level image filter operations (like sharpen, blur, edge detect) into convolution operations with constant kernels |
| CPiccelerKernelToMemrefPass | A 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 |
| CPiccelerOpsToFuncCallsPass | A pass that converts image operations (like load, show, save) into function calls |
| CPiccelerToAffinePass | A 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 |
| CPiccelerToLLVMIRPass | A pass that helps convert last pieces of Picceler IR to LLVM IR |
| CReadNumberToCall | |
| CReadStringToCall | |
| CRotateToAffine | |
| CSaveImageToCall | Pattern to lower SaveImageOp to a function call |
| CShowImageToCall | Pattern to lower ShowImageOp to a function call |
| CStringConstConverter | |
| CStringNode | AST node for string literals |
| CToken | Represents a token produced by the lexer |
| CVariableNode | AST node for variable references |