[LLVMdev] Embedded C Language Extensions
Evan Cheng
evan.cheng at apple.com
Fri Sep 14 09:39:03 PDT 2007
We'll have to introduce local load / store instructions. These look
just like normal load / store except for the additional address space
index bit. Alternatively, just add the address space information to
load / store. I can see advantages to either approaches.
Evan
On Sep 13, 2007, at 6:56 PM, Christopher Lamb wrote:
>
> I think that this is something that can be tackled after the basic
> address space support is in place.
>
> Here are some questions/suggestions that might help guide where to
> look through the code base and think about the design:
> * Where does the address space information need to be stored in the
> IR?
> Globals, function parameters that are pointers, alloca's, malloc's,
> GEP's?
> * What changes are required so that the address space info is
> preserved in the IR by existing passes?
> * Where is the address space information consumed in the back end?
> My guess is instruction selection, which means that the DAG node
> form of LD/ST will need to carry address space information.
> * What changes are required so that the address space info is
> preserved in the DAG nodes given existing transformations?
>
> Perhaps take a look at how other pointer attributes (volatile/
> noalias) weave their way through the data flow to get an idea of
> these further attributes might be handled.
>
> Chris can most likely help answer those questions above and probably
> issues I haven't thought of as well =)
>
> --
> Christopher Lamb
>
>
>
> _______________________________________________
> 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