Reid Spencer
2006-Nov-13 08:01 UTC
[LLVMdev] need help understanding getelementptr assembler instruction
On Mon, 2006-11-13 at 01:10 -0800, Chris Lattner wrote:> On Mon, 13 Nov 2006, Eric van Riet Paap wrote: > > I must say I also was in need of this document but never knew it > > existed. It seems to be linked from the faq page only. I only read > > that the first day I came to LLVM. Maybe linking it from the > > GetElementPtr instruction in LangRef.html would make sense. > > That makes a tremendous amount of sense to me!It's already there. Go to the bottom of the GEP instruction definition in LangRef.html and you will find it. I'm going to add it to the index page too. Reid.> > -Chris > > > On Nov 12, 2006, at 8:47 PM, Reid Spencer wrote: > > > >> Ram, > >> > >> Please read and understand the GetElementPtr FAQ available here: > >> > >> http://llvm.org/docs/GetElementPtr.html > >> > >> That will help you understand how it works. We wrote that document > >> specifically because this question comes up all the time. > >> > >> Reid. > >> > >> On Sun, 2006-11-12 at 11:13 -0800, Ram Bhamidipaty wrote: > >>> I am trying to understand the hello word assember example. This is > >>> my version: > >>> > >>> %str1 = internal constant [13 x sbyte] c"Hello World\0a\00" > >>> > >>> declare int %printf(sbyte*, ...) > >>> > >>> implementation ; Functions: > >>> > >>> int %main() { > >>> %str2 = getelementptr [13 x sbyte]* %str1, long 0, long 0 > >>> call int(sbyte*, ...) *%printf(sbyte* %str2) > >>> ret int 0 > >>> } > >>> > >>> Why is getelementptr being given two "long 0" indices? > >>> > >>> Thanks for any help. > >>> -Ram > >>> _______________________________________________ > >>> LLVM Developers mailing list > >>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >> > >> _______________________________________________ > >> LLVM Developers mailing list > >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > -Chris >
Eric van Riet Paap
2006-Nov-13 08:51 UTC
[LLVMdev] need help understanding getelementptr assembler instruction
On Nov 13, 2006, at 9:01 AM, Reid Spencer wrote:> On Mon, 2006-11-13 at 01:10 -0800, Chris Lattner wrote: >> On Mon, 13 Nov 2006, Eric van Riet Paap wrote: >>> I must say I also was in need of this document but never knew it >>> existed. It seems to be linked from the faq page only. I only read >>> that the first day I came to LLVM. Maybe linking it from the >>> GetElementPtr instruction in LangRef.html would make sense. >> >> That makes a tremendous amount of sense to me! > > It's already there. Go to the bottom of the GEP instruction definition > in LangRef.html and you will find it. I'm going to add it to the > index > page too.You are right, sorry, I must have missed it a million times then. :-) or maybe it was added in the last year or so? Eric> > Reid. > >> >> -Chris >> >>> On Nov 12, 2006, at 8:47 PM, Reid Spencer wrote: >>> >>>> Ram, >>>> >>>> Please read and understand the GetElementPtr FAQ available here: >>>> >>>> http://llvm.org/docs/GetElementPtr.html >>>> >>>> That will help you understand how it works. We wrote that document >>>> specifically because this question comes up all the time. >>>> >>>> Reid. >>>> >>>> On Sun, 2006-11-12 at 11:13 -0800, Ram Bhamidipaty wrote: >>>>> I am trying to understand the hello word assember example. This is >>>>> my version: >>>>> >>>>> %str1 = internal constant [13 x sbyte] c"Hello World\0a\00" >>>>> >>>>> declare int %printf(sbyte*, ...) >>>>> >>>>> implementation ; Functions: >>>>> >>>>> int %main() { >>>>> %str2 = getelementptr [13 x sbyte]* %str1, long 0, long 0 >>>>> call int(sbyte*, ...) *%printf(sbyte* %str2) >>>>> ret int 0 >>>>> } >>>>> >>>>> Why is getelementptr being given two "long 0" indices? >>>>> >>>>> Thanks for any help. >>>>> -Ram >>>>> _______________________________________________ >>>>> LLVM Developers mailing list >>>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>>> >>>> _______________________________________________ >>>> LLVM Developers mailing list >>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>> >>> _______________________________________________ >>> LLVM Developers mailing list >>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>> >> >> -Chris >> > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reid Spencer
2006-Nov-13 15:52 UTC
[LLVMdev] need help understanding getelementptr assembler instruction
On Mon, 2006-11-13 at 09:51 +0100, Eric van Riet Paap wrote:> On Nov 13, 2006, at 9:01 AM, Reid Spencer wrote: > > > On Mon, 2006-11-13 at 01:10 -0800, Chris Lattner wrote: > >> On Mon, 13 Nov 2006, Eric van Riet Paap wrote: > >>> I must say I also was in need of this document but never knew it > >>> existed. It seems to be linked from the faq page only. I only read > >>> that the first day I came to LLVM. Maybe linking it from the > >>> GetElementPtr instruction in LangRef.html would make sense. > >> > >> That makes a tremendous amount of sense to me! > > > > It's already there. Go to the bottom of the GEP instruction definition > > in LangRef.html and you will find it. I'm going to add it to the > > index > > page too. > > You are right, sorry, I must have missed it a million times then. :-) > or maybe it was added in the last year or so?A few months ago, yes.> > Eric > > > > > Reid. > > > >> > >> -Chris > >> > >>> On Nov 12, 2006, at 8:47 PM, Reid Spencer wrote: > >>> > >>>> Ram, > >>>> > >>>> Please read and understand the GetElementPtr FAQ available here: > >>>> > >>>> http://llvm.org/docs/GetElementPtr.html > >>>> > >>>> That will help you understand how it works. We wrote that document > >>>> specifically because this question comes up all the time. > >>>> > >>>> Reid. > >>>> > >>>> On Sun, 2006-11-12 at 11:13 -0800, Ram Bhamidipaty wrote: > >>>>> I am trying to understand the hello word assember example. This is > >>>>> my version: > >>>>> > >>>>> %str1 = internal constant [13 x sbyte] c"Hello World\0a\00" > >>>>> > >>>>> declare int %printf(sbyte*, ...) > >>>>> > >>>>> implementation ; Functions: > >>>>> > >>>>> int %main() { > >>>>> %str2 = getelementptr [13 x sbyte]* %str1, long 0, long 0 > >>>>> call int(sbyte*, ...) *%printf(sbyte* %str2) > >>>>> ret int 0 > >>>>> } > >>>>> > >>>>> Why is getelementptr being given two "long 0" indices? > >>>>> > >>>>> Thanks for any help. > >>>>> -Ram > >>>>> _______________________________________________ > >>>>> LLVM Developers mailing list > >>>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > >>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >>>> > >>>> _______________________________________________ > >>>> LLVM Developers mailing list > >>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > >>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >>> > >>> _______________________________________________ > >>> LLVM Developers mailing list > >>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >>> > >> > >> -Chris > >> > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Apparently Analagous Threads
- [LLVMdev] need help understanding getelementptr assembler instruction
- [LLVMdev] need help understanding getelementptr assembler instruction
- [LLVMdev] need help understanding getelementptr assembler instruction
- [LLVMdev] need help understanding getelementptr assembler instruction
- [LLVMdev] need help understanding getelementptr assembler instruction