Backfilling a Schedule means having it do now what it would have done over a specified time range (generally in the past, although it won't prevent you from giving a time range in the future). You might use this to fill in runs from a time period when the Schedule was paused due to an external condition that's now resolved, or a period before the Schedule was created.
tctl schedule backfill --sid 'your-schedule-id' \
--overlap-policy 'BufferAll' \
--start-time '2022-05-01T00:00:00Z' \
Note that, similar to tctl schedule trigger immediately, you probably want to override the Overlap Policy.
AllowAll runs all the backfilled Workflows at once;
BufferAll runs them sequentially.
The other policies don't make much sense in this context.