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/Transforms/WalkPatternRewriteDriver.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 <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.