|
picceler
|
Namespaces | |
| namespace | utils |
Classes | |
| struct | AssignmentNode |
| AST node for assignment statements. More... | |
| struct | ASTNode |
| Abstract Syntax Tree (AST) node base class. More... | |
| struct | BlurImageToCall |
| Pattern to lower BlurOp to a function call. More... | |
| struct | BrightnessToAffine |
| struct | CallNode |
| AST node for function calls. More... | |
| class | CLIOptions |
| struct | CompileError |
| class | Compiler |
| Compiler class that orchestrates the compilation process. More... | |
| struct | ConvolutionToAffine |
| struct | FilterToConvolutionPattern |
| struct | ImageAccessHelper |
| 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 };. More... | |
| struct | InvertToAffine |
| class | IRPassManager |
| Wrapper around MLIR PassManager to manage and run passes. More... | |
| struct | KernelData |
| struct | KernelNode |
| AST node for kernel definitions. More... | |
| struct | KernelToMemref |
| class | Lexer |
| Lexical analyzer for the picceler programming language. More... | |
| struct | LoadImageToCall |
| Pattern to lower LoadImageOp to a function call. More... | |
| class | MLIRGen |
| MLIR code generator that converts AST nodes to MLIR constructs. This offers the initial IR generation from the AST. More... | |
| struct | ModuleNode |
| AST node for the entire module. More... | |
| struct | NumberNode |
| AST node for numeric literals. More... | |
| class | Parser |
| The Parser class that converts tokens into an AST. More... | |
| struct | PassLogger |
| struct | PiccelerFiltersToConvPass |
| struct | PiccelerKernelToMemrefPass |
| struct | PiccelerOpsToFuncCallsPass |
| struct | PiccelerToAffinePass |
| struct | PiccelerToLLVMIRPass |
| struct | RotateToAffine |
| struct | SaveImageToCall |
| Pattern to lower SaveImageOp to a function call. More... | |
| struct | ShowImageToCall |
| Pattern to lower ShowImageOp to a function call. More... | |
| struct | StringConstConverter |
| struct | StringNode |
| AST node for string literals. More... | |
| struct | Token |
| Represents a token produced by the lexer. More... | |
| struct | VariableNode |
| AST node for variable references. More... | |
Typedefs | |
| template<typename T> | |
| using | Result = std::expected<T, CompileError> |
Functions | |
| std::ostream & | operator<< (std::ostream &os, const Token &token) |
| Outputs a token to the given output stream. | |
| std::unique_ptr< mlir::Pass > | createPiccelerKernelToMemrefPass () |
| std::unique_ptr< mlir::Pass > | createPiccelerOpsToFuncCallsPass () |
| std::unique_ptr< mlir::Pass > | createPiccelerToAffinePass () |
| std::unique_ptr< mlir::Pass > | createPiccelerToLLVMIRPass () |
| std::unique_ptr< mlir::Pass > | createPiccelerFiltersToConvPass () |
| mlir::FailureOr< KernelData > | calculateSharpenKernel (SharpenOp op, SharpenOpAdaptor adaptor) |
| mlir::FailureOr< KernelData > | calculateBoxBlurKernel (BoxBlurOp op, BoxBlurOpAdaptor adaptor) |
| mlir::FailureOr< KernelData > | calculateGaussianKernel (GaussianBlurOp op, GaussianBlurOpAdaptor adaptor) |
| mlir::FailureOr< KernelData > | calculateEdgeDetectKernel (EdgeDetectOp op, EdgeDetectOpAdaptor adaptor) |
| mlir::FailureOr< KernelData > | calculateEmbossKernel (EmbossOp op, EmbossOpAdaptor adaptor) |
| mlir::func::FuncOp | ensureRuntimeFunc (mlir::ModuleOp module, mlir::StringRef name, llvm::ArrayRef< mlir::Type > inputs, llvm::ArrayRef< mlir::Type > results, mlir::PatternRewriter &rewriter, mlir::Location loc) |
| Ensures that a runtime function is declared in the module. If the function does not exist, it is created. | |
| using picceler::Result = std::expected<T, CompileError> |
| mlir::FailureOr< KernelData > picceler::calculateBoxBlurKernel | ( | BoxBlurOp | op, |
| BoxBlurOpAdaptor | adaptor ) |
| mlir::FailureOr< KernelData > picceler::calculateEdgeDetectKernel | ( | EdgeDetectOp | op, |
| EdgeDetectOpAdaptor | adaptor ) |
| mlir::FailureOr< KernelData > picceler::calculateEmbossKernel | ( | EmbossOp | op, |
| EmbossOpAdaptor | adaptor ) |
| mlir::FailureOr< KernelData > picceler::calculateGaussianKernel | ( | GaussianBlurOp | op, |
| GaussianBlurOpAdaptor | adaptor ) |
| mlir::FailureOr< KernelData > picceler::calculateSharpenKernel | ( | SharpenOp | op, |
| SharpenOpAdaptor | adaptor ) |
| std::unique_ptr< mlir::Pass > picceler::createPiccelerFiltersToConvPass | ( | ) |
| std::unique_ptr< mlir::Pass > picceler::createPiccelerKernelToMemrefPass | ( | ) |
| std::unique_ptr< mlir::Pass > picceler::createPiccelerOpsToFuncCallsPass | ( | ) |
| std::unique_ptr< mlir::Pass > picceler::createPiccelerToAffinePass | ( | ) |
| std::unique_ptr< mlir::Pass > picceler::createPiccelerToLLVMIRPass | ( | ) |
| mlir::func::FuncOp picceler::ensureRuntimeFunc | ( | mlir::ModuleOp | module, |
| mlir::StringRef | name, | ||
| llvm::ArrayRef< mlir::Type > | inputs, | ||
| llvm::ArrayRef< mlir::Type > | results, | ||
| mlir::PatternRewriter & | rewriter, | ||
| mlir::Location | loc ) |
Ensures that a runtime function is declared in the module. If the function does not exist, it is created.
| module | The MLIR module to check. |
| name | The name of the function. |
| inputs | The input types of the function. |
| results | The result types of the function. |
| rewriter | The pattern rewriter to use for creating the function. |
| loc | The location to use for the function. |
| std::ostream & picceler::operator<< | ( | std::ostream & | os, |
| const Token & | token ) |
Outputs a token to the given output stream.
| os | The output stream. |
| token | The token to output. |