1// Frontend statements
2#include "frontend_statements.inc.h"
3
4// Middle-end statement
5
6// Decoration / debug statement
7PER_STATEMENT(DecorationStmt)
8
9// Without per-lane attributes
10PER_STATEMENT(RangeForStmt)
11PER_STATEMENT(StructForStmt)
12PER_STATEMENT(MeshForStmt)
13PER_STATEMENT(IfStmt)
14PER_STATEMENT(WhileStmt)
15PER_STATEMENT(WhileControlStmt)
16PER_STATEMENT(ContinueStmt)
17PER_STATEMENT(FuncCallStmt)
18PER_STATEMENT(GetElementStmt)
19PER_STATEMENT(ReturnStmt)
20
21PER_STATEMENT(ArgLoadStmt)
22PER_STATEMENT(ReferenceStmt)
23PER_STATEMENT(ExternalPtrStmt)
24PER_STATEMENT(MatrixPtrStmt)
25PER_STATEMENT(ConstStmt)
26PER_STATEMENT(AllocaStmt)
27PER_STATEMENT(UnaryOpStmt)
28PER_STATEMENT(BinaryOpStmt)
29PER_STATEMENT(TernaryOpStmt)
30PER_STATEMENT(PrintStmt)
31PER_STATEMENT(RandStmt)
32PER_STATEMENT(GlobalLoadStmt)
33PER_STATEMENT(GlobalStoreStmt)
34PER_STATEMENT(AtomicOpStmt)
35PER_STATEMENT(LocalStoreStmt)
36PER_STATEMENT(SNodeOpStmt)
37PER_STATEMENT(RangeAssumptionStmt)
38PER_STATEMENT(LoopUniqueStmt)
39PER_STATEMENT(AssertStmt)
40PER_STATEMENT(ExternalFuncCallStmt)
41PER_STATEMENT(ExternalTensorShapeAlongAxisStmt)
42PER_STATEMENT(MatrixInitStmt)
43
44// Locals with reverse-mode autodiff
45PER_STATEMENT(AdStackAllocaStmt)
46PER_STATEMENT(AdStackLoadTopStmt)
47PER_STATEMENT(AdStackLoadTopAdjStmt)
48PER_STATEMENT(AdStackPopStmt)
49PER_STATEMENT(AdStackPushStmt)
50PER_STATEMENT(AdStackAccAdjointStmt)
51
52// SNode Micro Ops
53PER_STATEMENT(GetRootStmt)
54PER_STATEMENT(IntegerOffsetStmt)
55PER_STATEMENT(LinearizeStmt)
56PER_STATEMENT(SNodeLookupStmt)
57PER_STATEMENT(GetChStmt)
58
59// With per-lane attributes
60PER_STATEMENT(LocalLoadStmt)
61PER_STATEMENT(GlobalPtrStmt)
62PER_STATEMENT(MatrixOfGlobalPtrStmt)
63PER_STATEMENT(MatrixOfMatrixPtrStmt)
64
65// Offloaded
66PER_STATEMENT(OffloadedStmt)
67PER_STATEMENT(MeshRelationAccessStmt)
68PER_STATEMENT(MeshIndexConversionStmt)
69PER_STATEMENT(MeshPatchIndexStmt)
70PER_STATEMENT(LoopIndexStmt)
71PER_STATEMENT(LoopLinearIndexStmt)
72PER_STATEMENT(GlobalThreadIndexStmt)
73PER_STATEMENT(BlockCornerIndexStmt)
74PER_STATEMENT(GlobalTemporaryStmt)
75PER_STATEMENT(ClearListStmt)
76
77// Local storage
78PER_STATEMENT(ThreadLocalPtrStmt)
79PER_STATEMENT(BlockLocalPtrStmt)
80
81// Special
82PER_STATEMENT(InternalFuncStmt)
83
84PER_STATEMENT(TexturePtrStmt)
85PER_STATEMENT(TextureOpStmt)
86
87// Quantization
88PER_STATEMENT(BitStructStoreStmt)
89