search for: pairty

Displaying 8 results from an estimated 8 matches for "pairty".

2004 Jul 21
2
[LLVMdev] GC questions.
..., 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 %pairty* %pairPtr, int 0, uint 2 FieldVal = llvm.gc_read(pairptr, fieldptr) Because of the getelementptr instruction is used, we don't have the explicit offset encoded into the bytecode file. The other advantage of this...
2004 Jul 21
0
[LLVMdev] GC questions.
On Wed, 21 Jul 2004, Chris Lattner wrote: > On Wed, 21 Jul 2004, Tobias Nurmiranta wrote: > > This will work, but it would be better to take two pointers in instead of > a pointer and offset. This allows the front-end to emit target-generic > code instead of target-specific code (where it would have to know the > offset to the field). To be more specific, llvm_gc_read should
2004 Jul 21
2
[LLVMdev] GC questions.
On Wed, 21 Jul 2004, Tobias Nurmiranta wrote: > [1] I'm kind of newbie of cvs, but I did: > "cvs -z3 -d :pserver:anon at llvm-cvs.cs.uiuc.edu:/var/cvs/llvm diff llvm > gcpatch" That patch is well formed. You did exactly the right thing. :) > Ok, a patch[1] is attached. I didn't care to coerce the offset, since I > assume that it is an uint, but maybe I should?
2004 Jul 21
0
[LLVMdev] GC questions.
...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 %pairty* %pairPtr, int 0, uint 2 > FieldVal = llvm.gc_read(pairptr, fieldptr) > > Because of the getelementptr instruction is used, we don't have the > explicit offset encoded into the bytecode fi...
2004 Jul 22
2
[LLVMdev] GC questions.
...> > > > 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 %pairty* %pairPtr, int 0, uint 2 > > FieldVal = llvm.gc_read(pairptr, fieldptr) > > > > Because of the getelementptr instruction is used, we don't have the > > explicit...
2009 May 21
0
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
On Wed, May 20, 2009 at 4:55 PM, Dan Gohman <gohman at apple.com> wrote: > Can you explain why you chose the approach of using a new pass? > I pictured removing LegalizeDAG's type legalization code would > mostly consist of finding all the places that use TLI.getTypeAction > and just deleting code for handling its Expand and Promote. Are you > anticipating something more
2009 May 20
2
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
On May 20, 2009, at 1:34 PM, Eli Friedman wrote: > On Wed, May 20, 2009 at 1:19 PM, Eli Friedman > <eli.friedman at gmail.com> wrote: > >> Per subject, this patch adding an additional pass to handle vector >> >> operations; the idea is that this allows removing the code from >> >> LegalizeDAG that handles illegal types, which should be a significant
2009 May 21
2
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
...case Promote: - Tmp2 = PromoteOp(Node->getOperand(1)); // Promote the RHS. - break; - } + Tmp2 = LegalizeOp(Node->getOperand(1)); // Legalize the RHS. Result = DAG.UpdateNodeOperands(Result, Tmp1, Tmp2); @@ -3503,7 +2918,6 @@ case ISD::BUILD_PAIR: { MVT PairTy = Node->getValueType(0); - // TODO: handle the case where the Lo and Hi operands are not of legal type Tmp1 = LegalizeOp(Node->getOperand(0)); // Lo Tmp2 = LegalizeOp(Node->getOperand(1)); // Hi switch (TLI.getOperationAction(ISD::BUILD_PAIR, PairTy)) { @@ -3601,10 +3...