LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
LLZKInlineStructsPass.cpp File Reference

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"
Include dependency graph for LLZKInlineStructsPass.cpp:

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"
 

Detailed Description

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.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "llzk-inline-structs"

Definition at line 57 of file LLZKInlineStructsPass.cpp.

◆ GEN_PASS_DECL_INLINESTRUCTSPASS

#define GEN_PASS_DECL_INLINESTRUCTSPASS

Definition at line 47 of file LLZKInlineStructsPass.cpp.

◆ GEN_PASS_DEF_INLINESTRUCTSPASS

#define GEN_PASS_DEF_INLINESTRUCTSPASS

Definition at line 48 of file LLZKInlineStructsPass.cpp.