pub fn indirectbr( self: *WipFunction, addr: Value, targets: []const Block.Index, ) Allocator.Error!Instruction.Index
self: *WipFunction
addr: Value
targets: []const Block.Index
6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560
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; }