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...