search for: alloc_loop

Displaying 12 results from an estimated 12 matches for "alloc_loop".

2004 Oct 26
2
[LLVMdev] Getting started with GC
I'm in a group tasked with improving the GC of LLVM for a 421 project. We are having trouble getting started with the given SemiSpace collector. We found the string llvm_gc_initialize called from a single source file ./test/Regression/CodeGen/Generic/GC/alloc_loop.ll which we tried with the following... (showing LLVM checked out from cvs a few days ago, similar output with release 1.3) $ llvm-as alloc_loop.ll $ lli alloc_loop.bc lli: Globals.cpp:81: llvm::GlobalVariable::GlobalVariable(const llvm::Type*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constan...
2004 Oct 27
0
[LLVMdev] Getting started with GC
...own wrote: > I'm in a group tasked with improving the GC of LLVM for a 421 project. > We are having trouble getting started with the given SemiSpace > collector. > > We found the string llvm_gc_initialize called from a single source file > ./test/Regression/CodeGen/Generic/GC/alloc_loop.ll > which we tried with the following... (showing LLVM checked out from cvs a few days ago, similar > output with release 1.3) > > $ llvm-as alloc_loop.ll > $ lli alloc_loop.bc > lli: Globals.cpp:81: llvm::GlobalVariable::GlobalVariable(const llvm::Type*, bool, llvm::GlobalValue...
2004 Oct 27
2
[LLVMdev] Getting started with GC
On Tue, Oct 26, 2004 at 11:17:00PM -0500, Chris Lattner wrote: > On Tue, 26 Oct 2004, Tom Brown wrote: > > $ llvm-as alloc_loop.ll > > $ lli alloc_loop.bc > > lli: Globals.cpp:81: llvm::GlobalVariable::GlobalVariable(const llvm::Type*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constant*, const std::string&, llvm::Module*): Assertion `Initializer->getType() == Ty && "Initializer should be t...
2004 Oct 27
0
[LLVMdev] Getting started with GC
On Wed, 27 Oct 2004, Tom Brown wrote: > On Tue, Oct 26, 2004 at 11:17:00PM -0500, Chris Lattner wrote: > > On Tue, 26 Oct 2004, Tom Brown wrote: > > > $ llvm-as alloc_loop.ll > > > $ lli alloc_loop.bc > > > lli: Globals.cpp:81: llvm::GlobalVariable::GlobalVariable(const llvm::Type*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constant*, const std::string&, llvm::Module*): Assertion `Initializer->getType() == Ty && "Initializer s...
2004 Oct 29
0
[LLVMdev] Getting started with GC
...ectory. When this is linked together, the link-time optimizer will link all of the little helper functions above into the GC, inlining and optimizing the result, resulting in a no overhead solution. As far as your class project, the following steps make sense to me: The first step is to get the alloc_loop testcase fully working, as it doesn't require any of the fancy extra interfaces. This can be done directly by adding the object header (I believe), and finishing semispace as it stands today. This should be simple and get you started with the GC interfaces. The next step in this is to flush...
2004 Oct 28
2
[LLVMdev] Getting started with GC
We have a few questions about the current state of GC. We decided to start (and finish?) our work by finishing SemiSpace. process_pointer is meant to move objects from CurSpace to OtherSpace. How can it find pointers to a moved object? How does it know the size of each object? Assuming we are writing a GC that will only work from llvm assembly our best option seems to be forcing the assembly code
2004 Jul 21
0
[LLVMdev] GC questions.
...id *llvm_gc_read(void **P) { return *P; } < void llvm_gc_write(void *V, void **P) { *P = V; } --- > void *llvm_gc_read(void **P, unsigned Offset) { return P[Offset]; } > void llvm_gc_write(void *V, void **P, unsigned Offset) { P[Offset] = V; } Index: llvm/test/Regression/CodeGen/Generic/GC/alloc_loop.ll =================================================================== RCS file: /var/cvs/llvm/llvm/test/Regression/CodeGen/Generic/GC/alloc_loop.ll,v retrieving revision 1.2 diff -r1.2 alloc_loop.ll 7c7 < declare void %llvm.gcwrite(sbyte*, sbyte**) --- > declare void %llvm.gcwrite(sbyte*, sb...
2004 Jul 21
2
[LLVMdev] GC questions.
On Wed, 21 Jul 2004, Tobias Nurmiranta wrote: > > Hi, I'm thinking out loud, please give me some feedback. > > Regarding llvm.gcread and llvm.gcwrite, wouldn't it be nicer if they are > implemented as: > > llvm.gcread(sbyte** object, uint offset) > llvm.gcwrite(sbyte* data, sbyte** object, uint offset) > > Where you also have the offset into the object. In
2004 Jul 21
0
[LLVMdev] GC questions.
Ok, that makes sense :). , Tobias On Wed, 21 Jul 2004, Chris Lattner wrote: > On Wed, 21 Jul 2004, Tobias Nurmiranta wrote: > > > void *llvm_gc_read(void *ObjPtr, void **FieldPtr) { > > > return *FieldPtr; > > > } > > > > Hm, but doesn't FieldPtr need to be calculated target-specific in those > > cases? > > For the field pointer, one
2004 Jul 21
2
[LLVMdev] GC questions.
On Wed, 21 Jul 2004, Tobias Nurmiranta wrote: > > void *llvm_gc_read(void *ObjPtr, void **FieldPtr) { > > return *FieldPtr; > > } > > Hm, but doesn't FieldPtr need to be calculated target-specific in those > cases? For the field pointer, one could use the getelementptr instruction: %pairty = { sbyte, sbyte, int* } %pairPtr = ... %fieldptr = getelementptr
2004 Jul 22
2
[LLVMdev] GC questions.
..._gc_read(void **P) { return *P; } < void llvm_gc_write(void *V, void **P) { *P = V; } --- > void *llvm_gc_read(void *ObjPtr, void **FieldPtr) { return *FieldPtr; } > void llvm_gc_write(void *V, void *ObjPtr, void **FieldPtr) { *FieldPtr = V; } Index: llvm/test/Regression/CodeGen/Generic/GC/alloc_loop.ll =================================================================== RCS file: /var/cvs/llvm/llvm/test/Regression/CodeGen/Generic/GC/alloc_loop.ll,v retrieving revision 1.2 diff -r1.2 alloc_loop.ll 7c7 < declare void %llvm.gcwrite(sbyte*, sbyte**) --- > declare void %llvm.gcwrite(sbyte*, sb...
2007 Dec 09
1
[LLVMdev] Next GC patch for review
...ata format to generate. In order to avoid adding a word to each Function for programs which do not use garbage collection (e.g. llvm-gcc, clang), this value is stored in an on-the- side table. — Gordon gc-5a-funattr.patch (+222 -22): docs/LangRef.html (+22 -3) test/CodeGen/Generic/GC/alloc_loop.ll (+1 -1) test/Assembler/2007-09-29-GC.ll (+12) include/llvm/Function.h (+7) lib/VMCore/Function.cpp (+33) include/llvm/Support/ManagedStatic.h (+4) lib/Support/ManagedStatic.cpp (+20) include/llvm/Bitcode/LLVMBitCodes.h (+3 -1) lib/Bitcode/Reader/BitcodeReader.cpp (+14 -1)...