Date: Tue, 13 Feb 2001 13:29:52 -0600 (CST)
From: Chris Lattner <sabre@nondot.org>
To: Vikram S. Adve <vadve@cs.uiuc.edu>
Subject: LLVM Concerns...


I've updated the documentation to include load store and allocation
instructions (please take a look and let me know if I'm on the right
track):

file:/home/vadve/lattner/llvm/docs/LangRef.html#memoryops

I have a couple of concerns I would like to bring up:

1. Reference types
   Right now, I've spec'd out the language to have a pointer type, which
   works fine for lots of stuff... except that Java really has
   references: constrained pointers that cannot be manipulated: added and
   subtracted, moved, etc... Do we want to have a type like this?  It
   could be very nice for analysis (pointer always points to the start of
   an object, etc...) and more closely matches Java semantics.  The
   pointer type would be kept for C++ like semantics.  Through analysis,
   C++ pointers could be promoted to references in the LLVM
   representation.

2. Our "implicit" memory references in assembly language:
   After thinking about it, this model has two problems:
      A. If you do pointer analysis and realize that two stores are
         independent and can share the same memory source object, there is
         no way to represent this in either the bytecode or assembly.
      B. When parsing assembly/bytecode, we effectively have to do a full
         SSA generation/PHI node insertion pass to build the dependencies
         when we don't want the "pinned" representation.  This is not
         cool.
   I'm tempted to make memory references explicit in both the assembly and
   bytecode to get around this... what do you think?

-Chris

