[LLVMdev] where to put the constant island pass?

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


On 10/11/2013 02:22 PM, Jim Grosbach wrote:
> ARM absolutely needs to know about control flow in that pass.

Why does it need to know about control flow?

I'm asking because I don't really know much about ARM and possibly 
Mips16 will have the same issues.

Reed

> -Jim
>
> On Oct 11, 2013, at 2:16 PM, reed kotler <rkotler at mips.com> wrote:
>
>> 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
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev





More information about the llvm-dev mailing list