llvm.org GIT mirror llvm / 47507de
document the byval parameter attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45855 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 11 years ago
1 changed file(s) with 14 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
798798
zeroext
799799
This indicates that the parameter should be zero extended just before
800800 a call to this function.
801
801802
signext
802803
This indicates that the parameter should be sign extended just before
803804 a call to this function.
805
804806
inreg
805807
This indicates that the parameter should be placed in register (if
806808 possible) during assembling function call. Support for this attribute is
807809 target-specific
810
811
byval
812
This indicates that the pointer parameter is really an aggregate that
813 was passed by value to the function. The attribute implies that a hidden
814 copy of the struct is made between the caller and the callee, so the
815 callee is unable to modify the struct in the callee. This attribute is only
816 valid on llvm pointer arguments.
817
808818
sret
809819
This indicates that the parameter specifies the address of a structure
810820 that is the return value of the function in the source program.
821
811822
noalias
812823
This indicates that the parameter not alias any other object or any
813824 other "noalias" objects during the function call.
825
814826
noreturn
815827
This function attribute indicates that the function never returns. This
816828 indicates to LLVM that every call to this function should be treated as if
817829 an unreachable instruction immediately followed the call.
830
818831
nounwind
819832
This function attribute indicates that the function type does not use
820833 the unwind instruction and does not allow stack unwinding to propagate
821834 through it.
835
822836
nest
823837
This indicates that the parameter can be excised using the
824838 trampoline intrinsics.