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, }; };