|
LLZK 0.1.0
Veridise's ZK Language IR
|
This file implements the -llzk-inline-structs pass. More...
#include "llzk/Analysis/GraphUtil.h"#include "llzk/Analysis/SymbolDefTree.h"#include "llzk/Analysis/SymbolUseGraph.h"#include "llzk/Dialect/Constrain/IR/Ops.h"#include "llzk/Dialect/Felt/IR/Ops.h"#include "llzk/Dialect/Function/IR/Ops.h"#include "llzk/Dialect/Struct/IR/Ops.h"#include "llzk/Transforms/LLZKConversionUtils.h"#include "llzk/Transforms/LLZKTransformationPasses.h"#include "llzk/Util/Debug.h"#include "llzk/Util/SymbolHelper.h"#include "llzk/Util/SymbolLookup.h"#include <mlir/IR/BuiltinOps.h>#include <mlir/Transforms/InliningUtils.h>#include <mlir/Transforms/WalkPatternRewriteDriver.h>#include <llvm/ADT/PostOrderIterator.h>#include <llvm/ADT/SmallVector.h>#include <llvm/ADT/StringMap.h>#include <llvm/ADT/TypeSwitch.h>#include <llvm/Support/Debug.h>#include "llzk/Transforms/LLZKTransformationPasses.h.inc"Go to the source code of this file.
Classes | |
| struct | llzk::InlineStructsPassOptions |
| class | llzk::impl::InlineStructsPassBase< DerivedT > |
Namespaces | |
| namespace | llzk |
| namespace | llzk::impl |
Macros | |
| #define | GEN_PASS_DECL_INLINESTRUCTSPASS |
| #define | GEN_PASS_DEF_INLINESTRUCTSPASS |
| #define | DEBUG_TYPE "llzk-inline-structs" |
This file implements the -llzk-inline-structs pass.
This pass should be run after llzk-flatten to ensure structs do not have template parameters (this restriction may be removed in the future).
This pass also assumes that all subcomponents that are created by calling a struct "@compute" function are ultimately written to exactly one field within the current struct.
Definition in file LLZKInlineStructsPass.cpp.
| #define DEBUG_TYPE "llzk-inline-structs" |
Definition at line 57 of file LLZKInlineStructsPass.cpp.
| #define GEN_PASS_DECL_INLINESTRUCTSPASS |
Definition at line 47 of file LLZKInlineStructsPass.cpp.
| #define GEN_PASS_DEF_INLINESTRUCTSPASS |
Definition at line 48 of file LLZKInlineStructsPass.cpp.