search for: visitcall

Displaying 20 results from an estimated 44 matches for "visitcall".

Did you mean: initcall
2015 Jan 20
3
[LLVMdev] [INCOMPLETE] [GC] Support wrapping vararg functions in statepoint
Philip Reames wrote: > Any change outside of statepoint lowering is highly suspect. Notice that SelectionDAGBuilder::LowerCallTo (the one I'm modifying) has exactly one other caller: visitCall, which doesn't match vararg functions. Every other codepath directly calls TargetLowering::LowerCallTo, supplying CallLoweringInfo information explicity (it's a structure with a vararg field). I suspect I'm not overloading SelectionDAGBuilder enough. > I'm pretty sure that call...
2008 Dec 03
2
[LLVMdev] Type legalization of call and return
Hi, In LLVM, responsibility of legalizing all the illegal types lies on type legalizer. Why is type legalization of ISD::CALL (call arguments and call return) and ISD::RET nodes being done much earlier? (e.g. for call in visitCall - through function LowerCallTo) Regards Sachin -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081202/87318c45/attachment.html>
2005 Mar 17
1
[LLVMdev] FP Intrinsics
...if not fast-math is set... What do you think about this approach? > 4. Don't forget a doc patch to docs/LangRef.html :-) > >> I assume I have to add new nodetypes for the FP instructions to >> SelectionDAGNodes.h, and make nodes for these in >> SelectionDAGLowering::visitCall when I find the intrinsic... OK, I will. >> -- for me it would make most sense to lower the intrinsic to a call if >> it's not supported. However I notice that for other intrinsics (memcpy >> etc.) this is done in LegalizeDAG where the node is expanded to a call >>...
2013 Jan 09
2
[LLVMdev] mips16 hard float puzzle
..._2.ll -march=mipsel >> -relocation-model=pic -o hf16_2.s -O3 -mips16-hard-float -soft-float > Try something like the following: > > float f; > double test(void* fptr) { > f = ((float(*)(float,float))fptr)(1.0, 1.0); > } > > -Eli It seems that in SelectionDAGBuilder::visitCall, that I.getCalledFunction() has the correct protoype, even for this case you give. (This case you give is not constructable as you pointed out simply using the DAG in Mips lower call). So it seems possible to add an additional parameter to LowerCallTo and pass it down the chain until Mips lower...
2011 Mar 16
3
[LLVMdev] Calls to functions with signext/zeroext return values
...xt attributes eliminated. But that's not what I'm interested in discussing here. What I'd like to ask about is calls to functions that have a signext/zeroext attribute on their return value. As far as I can tell, there isn't any corresponding promotion of the return value to i32 in visitCall(). Should there be? I ran into problems in a DSP back end that I'm working on where the return conventions for i16 and i32 are slightly different (they are both returned in the same accumulator register, but at different offsets within the accumulator). The callee promoted the return value to...
2008 Dec 09
0
[LLVMdev] Type legalization of call and return
Hi, > In LLVM, responsibility of legalizing all the illegal types lies on type > legalizer. > > Why is type legalization of ISD::CALL (call arguments and call return) > and ISD::RET nodes being done much earlier? > > (e.g. for call in visitCall - through function LowerCallTo) I don't know. Perhaps the legal version is needed very early on? Maybe Chris can answer? Ciao, Duncan.
2012 Jan 05
1
[LLVMdev] Non-Chain Chains
...chedule posting from yesterday, I am now trying to add edges from the call to the instruction before it. This seemed easiest to do in SelectionDAGBuilder but it is troublesome. A couple of questions: - How do I get the previous instruction that was translated? prior(CS.getInstruction()) in visitCall returns something invalid. When I try to call getValue on the returned Instruction it blows up. I really need the SDValue produced as a result of translating that last instruction. Is there some other way to get it? - Can a TokenFactor node take a non-chain input? Consider: r1...
2013 Jan 09
0
[LLVMdev] mips16 hard float puzzle
...-o hf16_2.s -O3 -mips16-hard-float -soft-float >> >> Try something like the following: >> >> float f; >> double test(void* fptr) { >> f = ((float(*)(float,float))fptr)(1.0, 1.0); >> } >> >> -Eli > > It seems that in SelectionDAGBuilder::visitCall, that I.getCalledFunction() > has the correct protoype, > even for this case you give. (This case you give is not constructable as you > pointed out simply using the DAG in Mips lower call). > > So it seems possible to add an additional parameter to LowerCallTo and pass > it down...
2013 Jan 22
0
[LLVMdev] sincos optimization
...list of functions which are considered candidates for promotion is in hasOptimizedCodeGen() in here: include/llvm/Target/TargetLibraryInfo.h ...and the code that actually does it is here: lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp Look for SelectionDAGBuilder::visitUnaryFloatCall() and visitCall(). It appears that such functions are only promoted if they're declared readnone, which provides some protection against overriding a standard library function, but I haven't found anything that explicitly checks for this yet. Disclaimer: I learnt this yesterday... -- ┌─── dg@cowlark.co...
2005 Mar 16
0
[LLVMdev] FP Intrinsics
...he X86 has this limitation, so its intrinsic can be named just "llvm.sqrt". 4. Don't forget a doc patch to docs/LangRef.html :-) > I assume I have to add new nodetypes for the FP > instructions to SelectionDAGNodes.h, and make nodes for these in > SelectionDAGLowering::visitCall when I find the intrinsic... This looks good. > The part I don't quite understand is what to do for targets that don't have > these instructions (although I'm only interested in X86 myself, I would like > to see these patches in the official LLVM version as it's some wo...
2013 Jan 22
2
[LLVMdev] sincos optimization
Hi, I'm looking at http://llvm.org/bugs/show_bug.cgi?id=13204 which involves converting calls to sin and cos to sincos (when available) Initially I thought about transforming calls to sinf/cosf to sincosf. However, I don't think this is a legal transformation given that a declaration for a function called sinf is not necessarily the standard library function. Therefore it makes sense to
2006 Apr 13
0
[LLVMdev] Re: Creating Release 1.7 Branch at 1:00pm PDT
...7] > [0xb7faa420] > [0xb7faa402] > /lib/tls/libc.so.6(gsignal+0x55)[0x7e77d5] > /lib/tls/libc.so.6(abort+0xe9)[0x7e9149] > /lib/tls/libc.so.6(__assert_fail+0x101)[0x7e0db1] > gccas(llvm::Function::getIntrinsicID() const+0x6df)[0x8469d75] > gccas((anonymous namespace)::Verifier::visitCallInst > (llvm::CallInst&)+0x51b)[0x8485ebd] > gccas(llvm::InstVisitor<(anonymous namespace)::Verifier, > void>::visitCall(llvm::CallInst&)+0x18)[0x84f09b2] > gccas(llvm::InstVisitor<(anonymous namespace)::Verifier, void>::visit > (llvm::Instruction&)+0x2e0)[0x84...
2016 Mar 09
3
PGO question
...llvm_new/llvm/lib/Support/ErrorHandling.cpp:117:0 #8 0x000000008139792a llvm::SelectionDAGBuilder::visitIntrinsicCall (llvm::CallInst const&, unsigned int) /home/suganuma/tools/llvm_new/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:5247:0 #9 0x000000008139b11c llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) /home/suganuma/tools/llvm_new/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:5811:0 #10 0x00000000813737e4 llvm::SelectionDAGBuilder::visit(unsigned int, llvm::User const&) /home/suganuma/tools/llvm_new/llvm/include/llvm/IR/Instruction.def:186:0 ... Am I doing...
2006 Apr 13
2
[LLVMdev] Re: Creating Release 1.7 Branch at 1:00pm PDT
...[0xb7faa402] > > /lib/tls/libc.so.6(gsignal+0x55)[0x7e77d5] > > /lib/tls/libc.so.6(abort+0xe9)[0x7e9149] > > /lib/tls/libc.so.6(__assert_fail+0x101)[0x7e0db1] > > gccas(llvm::Function::getIntrinsicID() const+0x6df)[0x8469d75] > > gccas((anonymous namespace)::Verifier::visitCallInst > > (llvm::CallInst&)+0x51b)[0x8485ebd] > > gccas(llvm::InstVisitor<(anonymous namespace)::Verifier, > > void>::visitCall(llvm::CallInst&)+0x18)[0x84f09b2] > > gccas(llvm::InstVisitor<(anonymous namespace)::Verifier, void>::visit > > (llvm::Inst...
2011 Mar 24
0
[LLVMdev] mblaze backend: unreachable executed
...Entry> >&, llvm::SelectionDAG&, llvm::DebugLoc) const + 2058 11 llc 0x000000010050733a llvm::SelectionDAGBuilder::LowerCallTo(llvm::ImmutableCallSite, llvm::SDValue, bool, llvm::MachineBasicBlock*) + 2470 12 llc 0x0000000100519d01 llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) + 4381 13 llc 0x0000000100522bc4 llvm::SelectionDAGBuilder::visit(unsigned int, llvm::User const&) + 1220 14 llc 0x00000001005286c9 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 105 15 llc 0x000000010054067f...
2013 Dec 17
3
[LLVMdev] Trying to use patchpoint in MCJIT
...tPatchpoint() + 3780 at SelectionDAGNodes.h:610 frame #6: 0x000000010091f511 libjvm.dylib`llvm::SelectionDAGBuilder::visitIntrinsicCall(this=0x0000000106ff4d20, I=0x0000000106fea460) + 10961 at SelectionDAGBuilder.cpp:5349 frame #7: 0x0000000100904c4a libjvm.dylib`llvm::SelectionDAGBuilder::visitCall(this=0x0000000106ff4d20, I=0x0000000106fea460) + 234 at SelectionDAGBuilder.cpp:5870 frame #8: 0x00000001008fc9ea libjvm.dylib`llvm::SelectionDAGBuilder::visit(this=0x0000000106ff4d20, I=0x0000000106fea460) + 74 at SelectionDAGBuilder.cpp:971 frame #9: 0x0000000100947e98 libjvm.dylib`llvm::...
2005 Mar 11
5
[LLVMdev] FP Intrinsics
...e the FP intrinsics (abs, sin, cos, sqrt) I've added work with the X86ISelPattern, but I'm having some difficulties understanding what needs to be done. I assume I have to add new nodetypes for the FP instructions to SelectionDAGNodes.h, and make nodes for these in SelectionDAGLowering::visitCall when I find the intrinsic... The part I don't quite understand is what to do for targets that don't have these instructions (although I'm only interested in X86 myself, I would like to see these patches in the official LLVM version as it's some work to maintain them) -- for me i...
2011 Mar 24
2
[LLVMdev] mblaze backend: unreachable executed
Hi Josef, > Okay, I've done a lot more testing and I now have a .bc file that compiles for x86, sparc, mips but refuses to compile for the mblaze and powerPC backends because of the calling convention. Is there anyone that would know how to fix the microblaze calling convention or point me in the right direction on how to fix it? what does "refuses to compile" mean? I.e. what
2006 Apr 13
3
[LLVMdev] Re: Creating Release 1.7 Branch at 1:00pm PDT
...::SignalHandler(int)+0xd3)[0x85a1187] [0xb7faa420] [0xb7faa402] /lib/tls/libc.so.6(gsignal+0x55)[0x7e77d5] /lib/tls/libc.so.6(abort+0xe9)[0x7e9149] /lib/tls/libc.so.6(__assert_fail+0x101)[0x7e0db1] gccas(llvm::Function::getIntrinsicID() const+0x6df)[0x8469d75] gccas((anonymous namespace)::Verifier::visitCallInst (llvm::CallInst&)+0x51b)[0x8485ebd] gccas(llvm::InstVisitor<(anonymous namespace)::Verifier, void>::visitCall(llvm::CallInst&)+0x18)[0x84f09b2] gccas(llvm::InstVisitor<(anonymous namespace)::Verifier, void>::visit (llvm::Instruction&)+0x2e0)[0x84f15f2] gccas(void llvm::I...
2011 Mar 15
3
[LLVMdev] mblaze backend: unreachable executed
...Entry> >&, llvm::SelectionDAG&, llvm::DebugLoc) const + 4269 10 llc 0x00000001004d1c0b llvm::SelectionDAGBuilder::LowerCallTo(llvm::ImmutableCallSite, llvm::SDValue, bool, llvm::MachineBasicBlock*) + 2363 11 llc 0x00000001004e6dc9 llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) + 185 12 llc 0x00000001004c8828 llvm::SelectionDAGBuilder::visit(unsigned int, llvm::User const&) + 600 13 llc 0x00000001004fdef3 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 51 14 llc 0x000000010050a558 ll...