diff options
| author | Isaac Freund <isaac.freund@coil.com> | 2021-12-07 19:34:44 +0100 |
|---|---|---|
| committer | Isaac Freund <mail@isaacfreund.com> | 2021-12-10 23:09:02 +0100 |
| commit | 175463d75dbde1e8e4c5a55159ab4e9446fd211c (patch) | |
| tree | 523bb9e42429e97c288838ab42ee59e18edbaca0 /src/Sema.zig | |
| parent | 47c309c34a23bcec9b3d72dade688965893614a4 (diff) | |
| download | zig-175463d75dbde1e8e4c5a55159ab4e9446fd211c.tar.gz zig-175463d75dbde1e8e4c5a55159ab4e9446fd211c.zip | |
AstGen: implement @prefetch() builtin
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index 89c6de2e0b..12578c56c5 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -1042,6 +1042,7 @@ fn zirExtended(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai .c_define => return sema.zirCDefine( block, extended), .wasm_memory_size => return sema.zirWasmMemorySize( block, extended), .wasm_memory_grow => return sema.zirWasmMemoryGrow( block, extended), + .prefetch => return sema.zirPrefetch( block, extended), // zig fmt: on } } @@ -11104,6 +11105,16 @@ fn zirWasmMemoryGrow( return sema.fail(block, src, "TODO: implement Sema.zirWasmMemoryGrow", .{}); } +fn zirPrefetch( + sema: *Sema, + block: *Block, + extended: Zir.Inst.Extended.InstData, +) CompileError!Air.Inst.Ref { + const extra = sema.code.extraData(Zir.Inst.BinNode, extended.operand).data; + const src: LazySrcLoc = .{ .node_offset = extra.node }; + return sema.fail(block, src, "TODO: implement Sema.zirPrefetch", .{}); +} + fn zirBuiltinExtern( sema: *Sema, block: *Block, @@ -14231,6 +14242,7 @@ fn resolveTypeFields(sema: *Sema, block: *Block, src: LazySrcLoc, ty: Type) Comp .float_mode => return sema.resolveBuiltinTypeFields(block, src, "FloatMode"), .reduce_op => return sema.resolveBuiltinTypeFields(block, src, "ReduceOp"), .call_options => return sema.resolveBuiltinTypeFields(block, src, "CallOptions"), + .prefetch_options => return sema.resolveBuiltinTypeFields(block, src, "PrefetchOptions"), .@"union", .union_tagged => { const union_obj = ty.cast(Type.Payload.Union).?.data; @@ -14819,6 +14831,7 @@ fn typeHasOnePossibleValue( .float_mode, .reduce_op, .call_options, + .prefetch_options, .export_options, .extern_options, .type_info, @@ -15032,6 +15045,7 @@ pub fn addType(sema: *Sema, ty: Type) !Air.Inst.Ref { .float_mode => return .float_mode_type, .reduce_op => return .reduce_op_type, .call_options => return .call_options_type, + .prefetch_options => return .prefetch_options_type, .export_options => return .export_options_type, .extern_options => return .extern_options_type, .type_info => return .type_info_type, |
