Function indirectbr [src]

Prototype

pub fn indirectbr( self: *WipFunction, addr: Value, targets: []const Block.Index, ) Allocator.Error!Instruction.Index

Parameters

self: *WipFunctionaddr: Valuetargets: []const Block.Index

Source

pub fn indirectbr( self: *WipFunction, addr: Value, targets: []const Block.Index, ) Allocator.Error!Instruction.Index { try self.ensureUnusedExtraCapacity(1, Instruction.IndirectBr, targets.len); const instruction = try self.addInst(null, .{ .tag = .indirectbr, .data = self.addExtraAssumeCapacity(Instruction.IndirectBr{ .addr = addr, .targets_len = @intCast(targets.len), }), }); _ = self.extra.appendSliceAssumeCapacity(@ptrCast(targets)); for (targets) |target| target.ptr(self).branches += 1; return instruction; }