[llvm-commits] Global Merge Pass for ARM

Evan Cheng evan.cheng at apple.com
Mon May 24 23:31:33 PDT 2010


On May 22, 2010, at 10:56 AM, Anton Korobeynikov wrote:

> Hi, Evan
> 
>> 3. MaxOffset should not be initialized when the pass is created. What if we want to support switching between ARM / Thumb mode on a function to function basis? Can it use TargetLowering::isLegalAddressingMode() or something similar instead?
> Looks like this will require 2 new hooks like "getMaxGlobalOffset()"
> and "getMinGlobalOffset()". The situation here is a little bit
> different compared to the isLegalAddressingMode() - for example we're
> still wanting to merge arrays of structs while isLegalAddressingMode()
> works on simple types only... Or I'm missing something?

Yes, adding a target hook for this seems like the right thing. Why do you need two though? Is getMinGlobalOffset necessary?

Evan
 
> 
> -- 
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State University





More information about the llvm-commits mailing list