aboutsummaryrefslogtreecommitdiff
path: root/src-self-hosted/ir.zig
blob: b66a0abdeefb690f9c33e936bcf418bd0743de96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
const Scope = @import("scope.zig").Scope;

pub const Instruction = struct {
    id: Id,
    scope: &Scope,

    pub const Id = enum {
        Br,
        CondBr,
        SwitchBr,
        SwitchVar,
        SwitchTarget,
        Phi,
        UnOp,
        BinOp,
        DeclVar,
        LoadPtr,
        StorePtr,
        FieldPtr,
        StructFieldPtr,
        UnionFieldPtr,
        ElemPtr,
        VarPtr,
        Call,
        Const,
        Return,
        Cast,
        ContainerInitList,
        ContainerInitFields,
        StructInit,
        UnionInit,
        Unreachable,
        TypeOf,
        ToPtrType,
        PtrTypeChild,
        SetRuntimeSafety,
        SetFloatMode,
        ArrayType,
        SliceType,
        Asm,
        SizeOf,
        TestNonNull,
        UnwrapMaybe,
        MaybeWrap,
        UnionTag,
        Clz,
        Ctz,
        Import,
        CImport,
        CInclude,
        CDefine,
        CUndef,
        ArrayLen,
        Ref,
        MinValue,
        MaxValue,
        CompileErr,
        CompileLog,
        ErrName,
        EmbedFile,
        Cmpxchg,
        Fence,
        Truncate,
        IntType,
        BoolNot,
        Memset,
        Memcpy,
        Slice,
        MemberCount,
        MemberType,
        MemberName,
        Breakpoint,
        ReturnAddress,
        FrameAddress,
        AlignOf,
        OverflowOp,
        TestErr,
        UnwrapErrCode,
        UnwrapErrPayload,
        ErrWrapCode,
        ErrWrapPayload,
        FnProto,
        TestComptime,
        PtrCast,
        BitCast,
        WidenOrShorten,
        IntToPtr,
        PtrToInt,
        IntToEnum,
        IntToErr,
        ErrToInt,
        CheckSwitchProngs,
        CheckStatementIsVoid,
        TypeName,
        CanImplicitCast,
        DeclRef,
        Panic,
        TagName,
        TagType,
        FieldParentPtr,
        OffsetOf,
        TypeId,
        SetEvalBranchQuota,
        PtrTypeOf,
        AlignCast,
        OpaqueType,
        SetAlignStack,
        ArgType,
        Export,
    };

};