Currently the ARM port does constant islands on a per function basis.
I'm aware of at least one other port that does this kind of optimization on the mc layer.
To do such long/short jump and load optimizations, you don't need anything about registers or basic blocks.
So it seems this would be better because then you can pool things on a per module basis.
In the case of Mips16, the addresses or offsets into the got for functions are a common 32 bit literal and there would be a high likelihood of calling the same function multiple times in a module.
Thoughts?
Reed