[LLVMdev] Word Addressing

Tom Stellard tom at stellard.net
Fri Jun 20 07:41:11 PDT 2014


On Fri, Jun 20, 2014 at 05:07:47PM +0300, Ramin Guner wrote:
> Hi all,
> 
> All of the data types are 32 bits and the pointer is 32 bit. Therefore, I
> need word adressing instead of byte adressing to use 8 GB memory.
> 
> I was told that R600 uses word adressing and I looked at its codes but I
> could not find where the backends handles word adressing.
> 
> Do you have any ideas about it?
> 

See the function R600TargetLowering::LowerSTORE() in R600ISelLowering.cpp.

The lowering on R600 looks like this:

(store $val, $ptr) -> (store $val (DWORDADDR (srl $ptr, 2)))

DWORDADDR is just a placeholder node to indicate that the pointer has
already been converted to dword addressing.  It is discarded during
instruction selection.

-Tom

> Thanks in advance.

> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list