/// <summary cref="IBackendCodeGenerator.GenerateCode(Broadcast)"/> public void GenerateCode(Broadcast broadcast) { var source = Load(broadcast.Variable); var origin = Load(broadcast.Origin); var target = Allocate(broadcast); using var statement = BeginStatement(target); statement.AppendCommand( CLInstructions.GetBroadcastOperation( broadcast.Kind)); statement.BeginArguments(); statement.AppendArgument(source); statement.AppendArgument(origin); statement.EndArguments(); }
/// <summary cref="IValueVisitor.Visit(Broadcast)"/> public void Visit(Broadcast broadcast) { var source = LoadIntrinsic(broadcast.Variable); var origin = LoadIntrinsic(broadcast.Origin); var target = AllocateIntrinsic(broadcast); using (var statement = BeginStatement(target)) { statement.AppendCommand( CLInstructions.GetBroadcastOperation( broadcast.Kind)); statement.BeginArguments(); statement.AppendArgument(source); statement.AppendArgument(origin); statement.EndArguments(); } }