How to code backend with irregular memory address increment


Generayll, the memory address increases 1 every 8 bits, however on the platform I worked on, the meory address increases 1 every 16 bits. (And the minimal storage unit is 16 bits) As a result, the stack size and frame index is doubled, I just made the origin stack size divided by 2, and insert a code snippet in eliminateFrameIndex to deal with frame index. It works well in some cases. However, errors rise when stack pointer register is moved to another register, as a result, it couldn’t find all the frame index.

Is there a way to inform LLVM that the memory address increases in a irregular way?