|
picceler
|
| Npicceler | |
| CAssignmentNode | AST node for assignment statements |
| CASTNode | Abstract Syntax Tree (AST) node base class |
| CBinaryOpNode | AST node for binary operations (arithmetic and relational) |
| CBrightnessToAffine | |
| CCallNode | AST node for function calls |
| CChainedBrightnessPattern | |
| CChainedInvertPattern | |
| CChainRotatePattern | |
| CCLIOptions | Struct to hold command-line options for the compiler |
| CCombineNestedCrops | Canonicalization pattern for the CropOp that combines nested crop operations into a single crop operation. only applicable when both crop operations have constant integer coordinates and dimensions |
| CCompileError | Struct to hold compilation error information |
| CCompiler | Compiler class that orchestrates the compilation process |
| CCropToAffine | |
| CElementWiseBinaryOpToAffine | |
| CFilterToConvolutionPattern | |
| CFunctionNode | AST node for function definitions |
| CIdentityConvolutionPattern | |
| CIfNode | AST node for if conditional statements |
| 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 |
| CLocation | Struct to hold location information |
| 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 | |
| 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 |
| CPrintToCalls | |
| CReadNumberToCall | |
| CReadStringToCall | |
| CRemoveInvertPattern | |
| CRotateToAffine | |
| CSameOperandPattern | Canonicalization pattern for the BlendOp that replaces blend(img, img, weight) with img if both input images are the same |
| 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 |