mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
a byval argument without an align can have an arbitrary alignment
requirement on the input pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119914 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5cc88a205d
commit
a6fd81dd7f
@ -1021,8 +1021,9 @@ declare signext i8 @returns_signed_char()
|
||||
registers). Use of this attribute is target-specific.</dd>
|
||||
|
||||
<dt><tt><b><a name="byval">byval</a></b></tt></dt>
|
||||
<dd>This indicates that the pointer parameter should really be passed by value
|
||||
to the function. The attribute implies that a hidden copy of the pointee
|
||||
<dd><p>This indicates that the pointer parameter should really be passed by
|
||||
value to the function. The attribute implies that a hidden copy of the
|
||||
pointee
|
||||
is made between the caller and the callee, so the callee is unable to
|
||||
modify the value in the callee. This attribute is only valid on LLVM
|
||||
pointer arguments. It is generally used to pass structs and arrays by
|
||||
@ -1030,10 +1031,13 @@ declare signext i8 @returns_signed_char()
|
||||
to belong to the caller not the callee (for example,
|
||||
<tt><a href="#readonly">readonly</a></tt> functions should not write to
|
||||
<tt>byval</tt> parameters). This is not a valid attribute for return
|
||||
values. The byval attribute also supports specifying an alignment with
|
||||
the align attribute. This has a target-specific effect on the code
|
||||
generator that usually indicates a desired alignment for the synthesized
|
||||
stack slot.</dd>
|
||||
values.</p>
|
||||
|
||||
<p>The byval attribute also supports specifying an alignment with
|
||||
the align attribute. It indicates the alignment of the stack slot to
|
||||
form and the known alignment of the pointer specified to the call site. If
|
||||
the alignment is not specified, then the code generator makes a
|
||||
target-specific assumption.</p></dd>
|
||||
|
||||
<dt><tt><b><a name="sret">sret</a></b></tt></dt>
|
||||
<dd>This indicates that the pointer parameter specifies the address of a
|
||||
|
Loading…
Reference in New Issue
Block a user