search for: getsrcvalu

Displaying 17 results from an estimated 17 matches for "getsrcvalu".

Did you mean: getsrcvalue
2009 Dec 04
0
[LLVMdev] "SrcValue is not a pointer?" assertion in SelectionDAG::getSrcValue
...sses. --Sam ----- Original Message ---- > From: ether zhhb <etherzhhb at gmail.com> > To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu> > Sent: Thu, December 3, 2009 7:45:42 PM > Subject: [LLVMdev] "SrcValue is not a pointer?" assertion in SelectionDAG::getSrcValue > > hi, > > i am building selectionDAG by my own code, but got a assertion fail > said "SrcValue is not a pointer?". > > but since the comment above the SrcValueSDNode said: "SrcValueSDNode - > An SDNode that holds an arbitrary LLVM IR Value." why the...
2009 Dec 04
2
[LLVMdev] "SrcValue is not a pointer?" assertion in SelectionDAG::getSrcValue
hi, i am building selectionDAG by my own code, but got a assertion fail said "SrcValue is not a pointer?". but since the comment above the SrcValueSDNode said: "SrcValueSDNode - An SDNode that holds an arbitrary LLVM IR Value." why the llvm value of SrcValueSDNode must be with PointerType? is that assertion necessary? thanks a lots. regards --ether
2011 Aug 24
1
[LLVMdev] proposal: add macro expansion of for-loop to TableGen
...can make it much more readable. (defining memory space patterns in PTXInstrInfo.td for each memory space) ---------------------------------------- def load_global : PatFrag<(ops node:$ptr), (load node:$ptr), [{  const Value *Src;  const PointerType *PT;  if ((Src = cast<LoadSDNode>(N)->getSrcValue()) &&      (PT = dyn_cast<PointerType>(Src->getType())))    return PT->getAddressSpace() == PTX::GLOBAL;  return false; }]>; def load_constant : PatFrag<(ops node:$ptr), (load node:$ptr), [{  const Value *Src;  const PointerType *PT;  if ((Src = cast<LoadSDNode>(N)-...
2007 Nov 22
2
[LLVMdev] Getting the pointer type from a Load/Store SDNode
I'm digging into this, but I'd like to know if it's feasible to get to the pointer type from a Load/Store SDNode? This would relieve me from having to put the address space information into those SDNodes. Is Load/StoreSDNode->getSrcValue()->getType() going to do what I want? If not, I can't see another way of getting to the pointer type. -- Christopher Lamb -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20071121/aaee0354/attachme...
2008 Sep 18
2
[LLVMdev] store addrspace qualifier
Mon Ping, Thanks for the tip, but I can't for the life of me seem to get the Value from a StoreSDNode. From looking at the SelectionDAGNodes header file, the only class that has the getValue function call is SrcValueSDNode that returns a Value type. The only class that has getType is a ConstantPoolSDNode. I don't think that ConstantPoolSDNode is what I want and when I try to cast the
2006 Sep 20
1
[LLVMdev] using the constant pool during select
...etTypeForValueType(MVT::i32); Constant *C = ConstantUInt::get(OpNTy, t); int alignment = 2; SDOperand Addr = CurDAG->getTargetConstantPool(C, MVT::i32, alignment); Arg = CurDAG->getLoad(MVT::i32, CurDAG->getEntryNode(), Addr, CurDAG->getSrcValue(NULL)); ---------------------------------------------------------------------------------------- This fails with the assert "This target-independent node should have been selected". It is illegal to create a load during select? Should I write a lowering function to do this before the s...
2007 Nov 22
0
[LLVMdev] Getting the pointer type from a Load/Store SDNode
...v 2007, Christopher Lamb wrote: > I'm digging into this, but I'd like to know if it's feasible to get to the > pointer type from a Load/Store SDNode? This would relieve me from having to > put the address space information into those SDNodes. > > Is Load/StoreSDNode->getSrcValue()->getType() going to do what I want? > If not, I can't see another way of getting to the pointer type. Hrm, the codegen has a couple of interesting crazy issues. For example, it thinks there is a current PointerTy() that is always valid. I see a couple ways to handle this. One is...
2006 Dec 19
3
[LLVMdev] alias-aware scheduling
...DOperand &Ptr, int64_t &Size, + const Value *&SrcValue, int &SrcValueOffset) { + if (LoadSDNode *LD = dyn_cast<LoadSDNode>(N)) { + Ptr = LD->getBasePtr(); + Size = MVT::getSizeInBits(LD->getLoadedVT()) >> 3; + SrcValue = LD->getSrcValue(); + SrcValueOffset = LD->getSrcValueOffset(); + return true; + } else if (StoreSDNode *ST = dyn_cast<StoreSDNode>(N)) { + Ptr = ST->getBasePtr(); + Size = MVT::getSizeInBits(ST->getStoredVT()) >> 3; + SrcValue = ST->getSrcValue(); + SrcValu...
2009 Feb 19
3
[LLVMdev] Possible DAGCombiner or TargetData Bug
...ent(SVT.getTypeForMVT()); if (Align <= OrigAlign && ((!LegalOperations && !ST->isVolatile()) || TLI.isOperationLegalOrCustom(ISD::STORE, SVT))) return DAG.getStore(Chain, N->getDebugLoc(), Value.getOperand(0), Ptr, ST->getSrcValue(), ST->getSrcValueOffset(), ST->isVolatile(), OrigAlign); } Uhh...this doesn't seem legal to me. How can we just willy-nilly create a store with a greater alignment? In this case Align is 8 and OrigAlign is 16 because SVT.getTypeForMVT() is Type::VectorT...
2011 Aug 25
0
[LLVMdev] [RFC] Splitting init.trampoline into init.trampoline and adjust.trampoline
...gcc is deprecated I think that it is OK. > --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp > +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp > @@ -4947,12 +4947,16 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) { > Ops[4] = DAG.getSrcValue(I.getArgOperand(0)); > Ops[5] = DAG.getSrcValue(F); > > - Res = DAG.getNode(ISD::TRAMPOLINE, dl, > - DAG.getVTList(TLI.getPointerTy(), MVT::Other), > - Ops, 6); > + Res = DAG.getNode(ISD::INIT_TRAMPOLINE, dl, MVT::Other, Ops, 6...
2011 Aug 23
2
[LLVMdev] [RFC] Splitting init.trampoline into init.trampoline and adjust.trampoline
Hi! Attached set of patches splits llvm.init.trampoline into an "init" phase and an "adjust" phase, as discussed on the "Go on dragonegg" thread. Thanks! -- Sanjoy Das http://playingwithpointers.com -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Split-intrinsics-and-DAG-nodes.patch Type: text/x-diff Size: 8808 bytes Desc:
2007 Nov 25
1
[LLVMdev] Getting the pointer type from a Load/Store SDNode
...I'm digging into this, but I'd like to know if it's feasible to >> get to the >> pointer type from a Load/Store SDNode? This would relieve me from >> having to >> put the address space information into those SDNodes. >> >> Is Load/StoreSDNode->getSrcValue()->getType() going to do what I >> want? >> If not, I can't see another way of getting to the pointer type. > > Hrm, the codegen has a couple of interesting crazy issues. For > example, > it thinks there is a current PointerTy() that is always valid. > > I...
2009 Feb 19
0
[LLVMdev] Possible DAGCombiner or TargetData Bug
...> if (Align <= OrigAlign && > ((!LegalOperations && !ST->isVolatile()) || > TLI.isOperationLegalOrCustom(ISD::STORE, SVT))) > return DAG.getStore(Chain, N->getDebugLoc(), Value.getOperand(0), > Ptr, ST->getSrcValue(), > ST->getSrcValueOffset(), ST->isVolatile(), > OrigAlign); > } > > Uhh...this doesn't seem legal to me. How can we just willy-nilly create a > store with a greater alignment? In this case Align is 8 and OrigAlign is > 16 > because...
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
...@@ -2653,111 +2235,8 @@ } break; } - case Promote: - if (!ST->getMemoryVT().isVector()) { - // Truncate the value and store the result. - Tmp3 = PromoteOp(ST->getValue()); - Result = DAG.getTruncStore(Tmp1, dl, Tmp3, Tmp2, ST->getSrcValue(), - SVOffset, ST->getMemoryVT(), - isVolatile, Alignment); - break; - } - // Fall thru to expand for vector - case Expand: { - unsigned IncrementSize = 0; - SDValue Lo, Hi; - -...
2007 Aug 06
1
[LLVMdev] Problem compiling LLVM under Cygwin/Mingw
Hello, Alain. > I'm starting to play with LLVM today and I've trouble compiling it. > I'm > working under Windows Vista, with the gcc from Cygwin: Oh, this seems to be killer mix :) GCC (at least native mingw32 port) has known problems being running on Vista. > Is LLVM supposed to work with this version of GCC (probably using the > -mno-cygwin option to get a