[LLVMdev] disabling combining load/stores in optimizer.
Dan Gohman
gohman at apple.com
Mon Aug 3 12:12:25 PDT 2009
On Aug 2, 2009, at 11:08 PM, Sanjiv.Gupta at microchip.com wrote:
> Consider writes to a struct {i32 a; i32 b};
>
> 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.
> 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?
Dan
More information about the llvm-dev
mailing list