search for: fnptrval

Displaying 7 results from an estimated 7 matches for "fnptrval".

2011 Jan 19
3
[LLVMdev] know if individual LLVM's Instruction has a result, and how to obtain it?
...truction * Inst; ... Value * Res = Inst; Is the above the right way to do the work? For an other example: <result> = [tail] call [cconv <http://llvm.org/docs/LangRef.html#callingconv>] [ret attrs <http://llvm.org/docs/LangRef.html#paramattrs>]<ty> [<fnty>*]<fnptrval>(<function args>) [fn attrs <http://llvm.org/docs/LangRef.html#fnattrs>] According to the LLVM Language reference, CallInst should always have a result. But for void bar(int) types, there will be no return. So the generated IR will be similar to: call void @bar(i32 %2) nounw...
2011 Jan 19
0
[LLVMdev] know if individual LLVM's Instruction has a result, and how to obtain it?
...* Res = Inst; > > Is the above the right way to do the work? > > For an other example: > > <result> = [tail] call [cconv <http://llvm.org/docs/LangRef.html#callingconv>] [ret attrs <http://llvm.org/docs/LangRef.html#paramattrs>]<ty> [<fnty>*]<fnptrval>(<function args>) [fn attrs <http://llvm.org/docs/LangRef.html#fnattrs>] > > > According to the LLVM Language reference, CallInst should always have a result. > But for void bar(int) types, there will be no return. So the generated IR will > be similar to: > >...
2010 Apr 12
0
[LLVMdev] Why function pointer is different from other data type?
Hao Shen wrote: > Dear all, > > I compiled c program with llvm and found something strange with > function pointer as following small example . > > ------------- In C Code -------------- > float a (int value) { > return value + 1; > }; > > typedef float (*funcptr_t) (int); > > funcptr_t get_ptr(funcptr_t p) { > return p; > } > > float
2011 Jan 06
2
[LLVMdev] What are all the LLVM IRs that will write into memory?
...d ///... // use(s) of %0 LLVM's Language Reference has the instruction format for CallInst: <result> = [tail] call [cconv <http://llvm.org/docs/LangRef.html#callingconv>] [ret attrs <http://llvm.org/docs/LangRef.html#paramattrs>]<ty> [<fnty>*]<fnptrval>(<function args>) [fn attrs <http://llvm.org/docs/LangRef.html#fnattrs>] Does that mean any LLVM IR that has a valid result field will be able to store the result into memory? How about those temps allocated into registers via register allocation? Is there a way to tell such tem...
2010 Apr 12
5
[LLVMdev] Why function pointer is different from other data type?
Dear all, I compiled c program with llvm and found something strange with function pointer as following small example . ------------- In C Code -------------- float a (int value) { return value + 1; }; typedef float (*funcptr_t) (int); funcptr_t get_ptr(funcptr_t p) { return p; } float result = get_ptr(a)(4); ------------- In LLVM Code -------------- %4 = call float (i32)* (float
2015 Aug 10
5
RFC: Add "operand bundles" to calls and invokes
...tended use of these values is to support "frame introspection"-like functionality for managed languages. # Abstract Syntax The syntax of a call instruction will be changed to look like this: <result> = [tail | musttail] call [cconv] [ret attrs] <ty> [<fnty>*] <fnptrval>(<function args>) [operand_bundle*] [fn attrs] where operand_bundle = tag '('[ value ] (',' value )* ')' value = normal SSA values tag = "< some name >" In other words, after the function arguments we now have an optional list of opera...
2015 Aug 19
2
RFC: Add "operand bundles" to calls and invokes
...nality > > > for managed languages. > > > # Abstract Syntax > > > The syntax of a call instruction will be changed to look like this: > > > <result> = [tail | musttail] call [cconv] [ret attrs] <ty> > > [<fnty>*] > > > <fnptrval>(<function args>) [operand_bundle*] [fn attrs] > > > where operand_bundle = tag '('[ value ] (',' value )* ')' > > > value = normal SSA values > > > tag = "< some name >" > > > In other words, after the funct...