(original) (raw)

Actually, store doesn't need a type, as that's supplied by the value being stored. But load needs to know the type of the loaded value, and gep needs to know the memory layout to perform target specific offset calculations.

On Sat, Feb 7, 2015 at 10:51 AM, Jeremy Lakeman <Jeremy.Lakeman@gmail.com> wrote:
The difference is that %x would be just a generic pointer type, but the type would still need to be supplied as an argument to the GEP / load / store.

%inner.ptr = getelementptr i8\*\*, %x, i32 1

You could think of it as having an implicit bitcast on every pointer operation.

On Sat, Feb 7, 2015 at 10:42 AM, Sanjoy Das <sanjoy@playingwithpointers.com> wrote:
How would GEP's look like in this scheme? Concretely, what would be
the equivalent of

%inner.ptr = getelementptr i8\*\* %x, i32 1

assuming we're doing target independent optimizations and do not know
the size of a pointer?

\-- Sanjoy
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
LLVM Developers mailing list
LLVMdev@cs.uiuc.edu http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev