This is a temporary fix, which can generate more hardware than necessary, but this is OK for now, since this code will soon be replaced with tilelink2 code.
now you can add them in any order. there's an explicit check at the end to figure out whether there are overlapping regions.