Displaying 4 results from an estimated 4 matches for "expandvarargs".
2014 Mar 04
9
[LLVMdev] Upstreaming PNaCl's IR simplification passes
...lower using the IR simplification passes [2].
Renderscript is an example of another project that uses IR as a stable
distribution format, though I think currently Renderscript is not
subsetting IR much.
Some examples of PNaCl's IR simplification passes are:
* Calling conventions lowering: ExpandVarArgs and ExpandByVal lower
varargs and by-value argument passing respectively. They would be useful
for any backend that doesn't want to implement varargs or by-value calling
conventions.
* Instruction-level lowering:
* ExpandStructRegs splits up struct values into scalars, removing the
"...
2014 Mar 05
2
[LLVMdev] A "backend" is ... ?
...e simplify writing a backend, should there be commensurate
>> changes to any relevant documentation for getting started writing
>> backends? (we don't have much such documentation though...)
>
> Very much so, yes.
And this...
>>>> * Calling conventions lowering: ExpandVarArgs and ExpandByVal
>>>> lower varargs and by-value argument passing respectively.
>>>> They would be useful for any backend that doesn't want to
>>>> implement varargs or by-value calling conventions.
>>>
>>> Why wouldn't these be applicabl...
2017 Aug 09
4
[RFC] The future of the va_arg instruction
...ysis
of the IR more straight-forward. However, va_arg can't currently be used
with an aggregate type (such as a struct). The difficulty of adding support
for aggregates is discussed later in this email.
Which Clang targets generate va_arg?
* PNaCl always uses va_arg, even for aggregates. Their ExpandVarArgs pass
replaces it with appropriate loads and stors.
* AArch64/Darwin generates va_arg if possible. When not possible, as for
aggregates or illegal vector types, it generates the usual va_list
manipulation code. It is not used for other AARch64 platforms.
* A few other targets such as MSP430, Lanai a...
2014 Mar 05
4
[LLVMdev] Upstreaming PNaCl's IR simplification passes
...cific passes you mention. Perhaps
> these questions are better answered in the review thread for the patches,
> but they are at least things that I would think about and try to address if
> and when you send out the code review.
>
>
>>
>> * Calling conventions lowering: ExpandVarArgs and ExpandByVal lower
>> varargs and by-value argument passing respectively. They would be useful
>> for any backend that doesn't want to implement varargs or by-value calling
>> conventions.
>>
>
> Why wouldn't these be applicable to existing backends? What i...