How to improve code generated for 'getelementptr' ?

Hi all,

I am working on an llvm backend for a processor with a relative simple instruction set.
For small loops, the code that is produced depends heavily on how the loop is specified:
The less information we provide to clang, the better the loop code becomes...

Any idea how I can learn llvm that we don't have load/store instructions with register index,
so that it is more efficient to convert Init1 to incrementing a pointer instead of
recomputing the address of 'data[i]' every time ?

The sample C-code looks like :