[LLVMdev] disabling combining load/stores in optimizer.

Alireza.Moshtaghi at microchip.com Alireza.Moshtaghi at microchip.com
Mon Aug 3 13:20:46 PDT 2009


> > The optimizer can currently combine stores (i32, i32) to a single
> > i64 store operation. Is there a way to disable that?
> 
> Not currently. There are some ideas floating around about
> including in TargetData a list of integer types that the
> target natively supports, which would allow instcombine
> and other passes to make more informed decisions, but
> at this point it's just ideas.

There are other cases that we can benefit from such ideas. Could you
please give pointer to these discussions?

> 
> > I feel that such optimizations may not result in any gain for PIC16
> > as PIC16 does everything on i8.
> 
> The legalize pass should turn an i64 store into 8 i8 stores
> then, which is essentially the same as what an {i32,i32} store
> would turn into. Is there a problem with this?
> 

We are currently doing this, however I think disabling such
optimizations is a much better solution.




More information about the llvm-dev mailing list