The normal flow is to perform timing optimization, place fillers and then route. If there are timing violations post-route, you remove the fillers, perform timing-opt again, place fillers again, and then do an eco-route. If you use the command setFillerMode to define the fill cells and some other filler behavior, the removal and replacement of fillers is done automatically when running optDesign -postRoute.