similar to: [LLVMdev] Not allowed to reuse variables?

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] Not allowed to reuse variables?"

2004 May 05
0
[LLVMdev] Not allowed to reuse variables?
On Wed, May 05, 2004 at 03:35:46PM +0200, Anders Alexandersson wrote: > %tmpFunction = load int ()** %puts_kernelPTR > ... > %tmpFunction = load int ()** %puts_kernelPTR > > generates > > Redefinition of value named 'tmpFunction' in the 'int () *' type plane! > > Is it not allowed to reuse variables? Is there some way to do it? LLVM uses the Static
2004 Apr 02
2
[LLVMdev] Function pointers
OK, I solved it all ( so far :) ), mixing in some load-instructions and called on the result of that, which worked. Here is the skeleton-code: %kernel = type { int ()* } int puts_kernel(){...} ; main() %theKernel = malloc %kernel %puts_kernelPTR = getelementptr %kernel* %theKernel, long 1, ubyte 0 store int ()* %puts_kernel, int ()** %puts_kernelPTR %tmp.11 = load int ()** %puts_kernelPTR
2004 Apr 02
0
[LLVMdev] Function pointers
On Fri, 2 Apr 2004, Anders Alexandersson wrote: > OK, I solved it all ( so far :) ), mixing in some load-instructions and > called on the result of that, which worked. > > Here is the skeleton-code: > > %kernel = type { int ()* } > > int puts_kernel(){...} > > ; main() > > %theKernel = malloc %kernel > %puts_kernelPTR = getelementptr %kernel* %theKernel,
2004 May 03
2
[LLVMdev] Problems with getelementptr
Hello! I'm having trouble with pointer traversing. I have a design as follows: class -> map -> classFunctions Starting with a pointer to the class, I want to get a pointer to a classFunction via a pointer to the map. I can't get that function pointer! How shall I think to get the traversing right (see code below)? Is it something with the fact that I am using only pointers in my
2004 May 11
2
[LLVMdev] Problems accessing structs
Hello! I get some odd behaviour using my structs: "myKernelMap" = type {int (sbyte*)*, int ()*} "Kernel" = type {"myKernelMap"*} The second member ( int()* ) is a pointer to the %getchar() function. I want to call getchar using this function: int "callmyKernelgetchar_kernel"("Kernel"* "myKernel") { "PTRMAP" =
2004 May 11
0
[LLVMdev] Problems accessing structs
Anders Alexandersson wrote: > Hello! > > I get some odd behaviour using my structs: > > "myKernelMap" = type {int (sbyte*)*, int ()*} > "Kernel" = type {"myKernelMap"*} > > The second member ( int()* ) is a pointer to the %getchar() function. > > I want to call getchar using this function: > > int
2004 Apr 02
0
[LLVMdev] Function pointers
I solved that one by substituting alloca into malloc, and forwarded the problem to actually calling the %puts_kernel function via my newly created function pointer. This works: %tmp.1 = call int %puts_kernel() This: %tmp.2 = call int %puts_kernelPTR() issues error: "Reference to an invalid definition: 'puts_kernelPTR' of type 'int () *'" How do I call the function
2004 Apr 02
0
[LLVMdev] Function pointers
So, here comes the next question:) Now the program compiles, but crashes when run, "Segmentation fault". %kernel = type { int ()* } int %puts_kernel() { ret int 0 } int %main() { %theKernel = alloca %kernel %puts_kernelPTR = getelementptr %kernel* %theKernel, long 1, ubyte 0 store int ()* %puts_kernel, int ()** %puts_kernelPTR ret int 0 } I want to learn how to
2004 May 03
0
[LLVMdev] Problems with getelementptr
On Mon, 3 May 2004, Anders Alexandersson wrote: > Hello! > > I'm having trouble with pointer traversing. I have a design as follows: > class -> map -> classFunctions > > Starting with a pointer to the class, I want to get a pointer to a > classFunction via a pointer to the map. Okay... > I can't get that function pointer! > > How shall I think to get
2004 Apr 01
1
[LLVMdev] Function pointers
Yes! :-) What would I do without you folks?! I am the one trying to build a Ruby compiler prototype, so be prepared for more questions...:) Thanks again! Anders ----- Original Message ----- From: "Chris Lattner" <sabre at nondot.org> To: <llvmdev at cs.uiuc.edu> Sent: Wednesday, March 31, 2004 5:49 PM Subject: Re: [LLVMdev] Function pointers On Wed, 31 Mar 2004, Anders
2004 Mar 31
2
[LLVMdev] Function pointers
Hello out there! I am trying to build a table of 2 function poiters by using an array: %kernel = alloca [ 2 x int ()* ] I try to access the first pointer to be able to store location of my first function like this: %function_pointer_1 = getelementptr [2 x int ()* ]* %kernel, long 0, long 0 store int ()* %function_1, int ()* %function_pointer_1 But, I get the error message from llvm-asm:
2004 Mar 31
0
[LLVMdev] Function pointers
On Wed, 31 Mar 2004, Anders Alexandersson wrote: > Hello out there! > > I am trying to build a table of 2 function poiters by using an array: > > %kernel = alloca [ 2 x int ()* ] > > I try to access the first pointer to be able to store location of my first function like this: > > %function_pointer_1 = getelementptr [2 x int ()* ]* %kernel, long 0, long 0 > >
2004 Feb 24
2
[LLVMdev] Beginners question
Hello! I am doing some pre-studies for my masters thesis, which (hopefully) will result in a compiler prototype for Ruby to LLVM, and I have a question: 1. When reading the reference manual, I do not understand how e.g. simple I/O operations as printf() can be implemented in LLVM. Are there any external functions available, or how do I proceed? Kind regards Anders
2004 Mar 26
1
[LLVMdev] Initial problems having installed LLVM
Hello! I have compiled LLVM without errors and try to do a simple hello world test using the llvmgcc frontend, llvmgcc -o hello hello.c and I get this error message: gcc: installation problem, cannot exec `gccas': No such file or directory What have I one wrong/what needs to be done? Regards Anders ---------------------------------------------------------------- Anders Alexandersson
2004 Apr 19
1
[LLVMdev] Dynamic updates of current executed code
Hello! I saw that you just got the recent llvm paper published in IEEE! Congratulations! :-) More issues regarding the Ruby compiler: Ruby supports the possibility of the user to enter new Ruby code during execution, after which it is executed. Also, all classes are open, meaning that a user is able to redefine a class overriding or replacing methods therein at run-time (this is deep...). My
2004 May 11
1
[LLVMdev] Follow-up on: Dynamic updates of current executed code
Hello! I am coming back to the below discussion again, regarding the LLVM support of Ruby dynamics. The initial problem description is as follow, to refresh your memory :) After that my questions come: -----------BEGIN Initial problem description--------------- Problem is though, that the Ruby compiler is integrated in the compilation of the program being executed, to be able to parse &
2004 Apr 20
2
[LLVMdev] Dynamic updates of current executed code
Thanks! Problem is though, that the Ruby compiler is integrated in the compilation of the program being executed, to be able to parse & compile dynamic code at run-time. Therefore the calls to ExecutionEngine::getPointerToGlobal(F) need to be made in LLVM code. Here is a detailed simplistic example in pseudocode of what we want to do: First Ruby code is entered at run-time, received as a
2004 Mar 28
0
[LLVMdev] Initial problems having installed LLVM
Great, thanks, it solved it! Anders -----Original Message----- From: Chris Lattner <sabre at nondot.org> To: llvmdev at cs.uiuc.edu Date: Fri, 26 Mar 2004 10:08:02 -0600 (CST) Subject: Re: [LLVMdev] Initial problems having installed LLVM On Fri, 26 Mar 2004, Anders Alexandersson wrote: > I have compiled LLVM without errors and try to do a simple hello world > test using the llvmgcc
2005 Feb 22
5
[LLVMdev] Area for improvement
I noticed that fourinarow is one of the programs in which LLVM is much slower than GCC, so I decided to take a look and see why that is so. The program has many loops that look like this: #define ROWS 6 #define COLS 7 void init_board(char b[COLS][ROWS+1]) { int i,j; for (i=0;i<COLS;i++) for (j=0;j<ROWS;j++) b[i][j]='.';
2005 Feb 22
0
[LLVMdev] Area for improvement
On Mon, 21 Feb 2005, Jeff Cohen wrote: > I noticed that fourinarow is one of the programs in which LLVM is much slower > than GCC, so I decided to take a look and see why that is so. The program > has many loops that look like this: > > #define ROWS 6 > #define COLS 7 > > void init_board(char b[COLS][ROWS+1]) > { > int i,j; > > for