Greedy backend partitioning pass