[LLVMdev] where to put the constant island pass?

reed kotler rkotler at mips.com
Fri Oct 11 14:16:16 PDT 2013


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





More information about the llvm-dev mailing list