This is implementing your delay line/buffer. Presumably you shift in new data first, then shift everything down, every sample. You'll then loop over the delay line with your coefficients for the MAC operations.
FYI, use a circular buffer with pointers instead. This implementation, while it will work for lower order filters, is very inefficient and wastes many clock cycles.