search for: vastart

Displaying 20 results from an estimated 21 matches for "vastart".

Did you mean: va_start
2010 Jun 07
2
[LLVMdev] IntrinsicLowering and several related problems
...to remove all intrinsics in LLVM byte-code. Unfortunately, I meet several problems: 1. Why I can not get the type of CallInst *CI? !CI->getType()->isVoidTy() is not working and how to solve it? This type information has some impacts with intrinsics such as flt_rounds. 2. Why Intrinsic::vastart and Intrinsic::powi are excluded from IntrinsicLowering function? There are no way to lower them at the byte-code level? Best regards, -- Hao Shen
2010 Jun 07
0
[LLVMdev] IntrinsicLowering and several related problems
Hi Hao Shen, > 1. Why I can not get the type of CallInst *CI? > !CI->getType()->isVoidTy() is not working and how to solve it? what does "not working" mean? It should work. > 2. Why Intrinsic::vastart and Intrinsic::powi are excluded from > IntrinsicLowering function? > There are no way to lower them at the byte-code level? For vastart, it probably isn't possible at the byte-code level. For powi, my guess is that it is a mistake and should be lowered. Ciao, Duncan.
2016 Apr 20
2
Link using a linker script
...t; Yeah I found it, that's nice. Thanks a milion. > Could you please tell me how can I specify my bootstrap (startup code) in > the linking process? > > > On Wed, Apr 20, 2016 at 8:38 PM, Rafael EspĂ­ndola < > rafael.espindola at gmail.com> wrote: > >> search for VAStart. >> >> Cheers, >> Rafael >> >> >> On 20 April 2016 at 14:18, Sky Flyer <skylake007 at gmail.com> wrote: >> > Hi Rafael, >> > >> > Thanks a lot. >> > For example the start entry for me is 0x11000 by default which I don'...
2016 Apr 20
2
Link using a linker script
search for VAStart. Cheers, Rafael On 20 April 2016 at 14:18, Sky Flyer <skylake007 at gmail.com> wrote: > Hi Rafael, > > Thanks a lot. > For example the start entry for me is 0x11000 by default which I don't know > where it come from! I thought there should be a default thing that sets th...
2009 Mar 24
0
[LLVMdev] va_start
Hi, When I try to use va_start(ptr), I got the following problem : Type *Tys = PointerType::get(IntegerType::get(8), 0); return Intrinsic::getDeclaration(llvm_module,Intrinsic::vastart,&Tys,1); ............... The Name generated is "llvm.va_start.p0i8", so, it's not found, abending the process. and Len = 18 In intrinsics.gen : if (Len == 13 && !memcmp(Name, "llvm.va_start", 13)) return Intrinsic::vastart; Thanks, Manoel Teixeira
2009 Mar 24
0
[LLVMdev] va_start
Hi, When I try to use va_start(ptr), I got the following problem : Type *Tys = Type::VoidTy; Or Type *Tys = PointerType::get(IntegerType::get(8), 0); return Intrinsic::getDeclaration(llvm_module,Intrinsic::vastart,&Tys,1); ............... The Name generated is "llvm.va_start.p0i8", so, it's not found, abending the process. and Len = 18 In intrinsics.gen : if (Len == 13 && !memcmp(Name, "llvm.va_start", 13)) return Intrinsic::vastart; Thanks, Manoel Teixeira
2006 Oct 03
0
[LLVMdev] Extracting all BasicBlocks of a Function into new Function
...gt;> use(P); >> } > > Can the other va_...-intrinsics be used in bar as were the "P = > va_start" in bar? The va_start probably is unnecessary now in bar, > but where dus the va_end need to be: at the end of foo or of bar or > doesn't it matter? All the non-vastart calls can be anywhere. va_end in particular codegens to a noop on all targets llvm currently supports, fwiw. -Chris -- http://nondot.org/sabre/ http://llvm.org/
2006 Oct 03
2
[LLVMdev] Extracting all BasicBlocks of a Function into new Function
Hi, Op 3-okt-06, om 20:48 heeft Chris Lattner het volgende geschreven: > You'd have to change it to something like: > > void foo(int X, ...) { > P = va_start(); > bar(X, P); > } > > void bar(int X, valist P) { > use(P); > } Can the other va_...-intrinsics be used in bar as were the "P = va_start" in bar? The va_start probably is unnecessary
2005 Apr 20
2
[LLVMdev] "Refactoring" Basic Blocks into a new function
...'m glad I don't have to! Like I said, I've been able to implement a surprising amount of functionality very easily using LLVM. It's just an issue of figuring out what APIs to use. Browsing through the implementation, I see that it will not work for any code that calls alloca or vastart. It seems to me this is not a fundamental limitation, but is a limitation of the current implementation. Am I right about that? I doubt it will be an issue for me anyway. Evan Jones
2006 Oct 05
3
[LLVMdev] Extracting all BasicBlocks of a Function into new Function
Hi, Chris Lattner wrote: > All the non-vastart calls can be anywhere. va_end in particular codegens > to a noop on all targets llvm currently supports, fwiw. > Things go well, except for the following (pathological?) C program: int va_double_sum(int count,...){ int i,sum=0; va_list ap; va_start(ap,count); for(i=0;i<count...
2011 Aug 25
0
[LLVMdev] [RFC] Splitting init.trampoline into init.trampoline and adjust.trampoline
...getLowering(PPCTargetMachine &TM) > setOperationAction(ISD::TRAP, MVT::Other, Legal); > > // TRAMPOLINE is custom lowered. > + setOperationAction(ISD::INIT_TRAMPOLINE, MVT::Other, Custom); > + setOperationAction(ISD::ADJUST_TRAMPOLINE, MVT::Other, Custom); > > // VASTART needs to be custom lowered to use the VarArgsFrameIndex > setOperationAction(ISD::VASTART , MVT::Other, Custom); > @@ -1369,8 +1371,13 @@ SDValue PPCTargetLowering::LowerVAARG(SDValue Op, SelectionDAG &DAG, > return DAG.getLoad(VT, dl, InChain, Result, MachinePointerInf...
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:
2011 Jul 14
1
[LLVMdev] code generation for variadic function
Hi All, I am trying to understand how a back-end generates code for a function that has variable number of arguments. I would also to like to know what changes do i have to do to the corresponding ISAs InstrInfo.td when a call to such a function is made? Any pointers or documentation in this regard is greatly appreciated. -- Ankit -------------- next part -------------- An HTML attachment
2005 Feb 23
1
[LLVMdev] Sparc MachineBasicBlock info
Is there a way to access the current MachineBasicBlock info from within CodeGenIntrinsic in SparcV9BurgISel.cpp? The arguments are: Intrinsic::ID iid, CallInst &callInstr, TargetMachine &target, and std::vector<MachineInstr*>& mvec, none of which seem to offer access to the current MachineBasicBlock. Brent
2006 Oct 03
0
[LLVMdev] Extracting all BasicBlocks of a Function into new Function
...rote: > So, I wonder what problems may show up in this algorithm (steps 4, 5 > and 6 seem to be crucial). The vararg-case could be a problem in step > 5, although the va_start intrinsic isn't tied to the surrounding > Function at first sight. There is an implicit dependency between vastart and the function it lives in. Specifically, if you have: void foo(int X, ...) { P = va_start(); use(P); } You can't change this to: void foo(int X, ...) { bar(X); } void bar(int X, ...) { P = va_start(); use(P); } You'd have to change it to something like: void foo(in...
2008 May 06
0
[LLVMdev] Problem about "llc -march=msil"
Hello > What does these mean? The bytecode contains call to intrinsic, which is not supported by by MSIL backend. The only intrinsics currently supported 'natively' are vastart, vaend, vacopy. You might want to extend MSILWriter to use default intrinsic lowering mechanism, however, don't expect, that you'll have something workable - in general, you cannot just grab .c file, translate it with llvm-gcc to .bc and use MSIL writer - you will still need implementatio...
2016 Apr 20
2
Link using a linker script
There is no default linker script. Cheers, Rafael On 20 April 2016 at 11:23, Sky Flyer via llvm-dev <llvm-dev at lists.llvm.org> wrote: > for instance, where is the internal default linker script located? How can I > change the default values, for example the star address... > > On Wed, Apr 20, 2016 at 5:17 PM, Sky Flyer <skylake007 at gmail.com> wrote: >> >>
2005 Apr 20
0
[LLVMdev] "Refactoring" Basic Blocks into a new function
On Apr 19, 2005, at 8:39 PM, Evan Jones wrote: > I have two very specific questions about LLVM, but first let me give > you the general overview of what I am trying to achieve. I have some > section of a function that I want to replace with a function call to a > brand new function. For example, I want to take the following > function: > > function foo: > code A >
2006 Oct 02
3
[LLVMdev] Extracting all BasicBlocks of a Function into new Function
Hi, Op 2-okt-06, om 21:35 heeft Chris Lattner het volgende geschreven: > I think the easiest way to do this is to do the 'complement' as you > describe, but specially handle the varargs case. Basically you > need to > call va_start in the original function, and pass the valist pointer > down. > This shouldn't be too hard. OK. I've been rethinking my use
2005 Apr 20
3
[LLVMdev] "Refactoring" Basic Blocks into a new function
On Apr 19, 2005, at 22:10, Evan Jones wrote: > I just found the Interval class, and it looks like it could help me > out here. I want to locate the Interval that begins with the call to > the "magic" begin(), and ends with the call to the "magic" end(), if > it exists. If there is no such valid interval, then I want to detect > that and return an error. Can I