Skip to content

Commit eab9601

Browse files
dlei6gsys_zuul
authored andcommitted
Legalize function call signatures.
SPIR-V calling convention does not allow passing struct types by value. The SPIR-V adaptor handles this by converting struct arguments and return value to be pass-by-pointer. New pass added: LegalizeFunctionSignatures - Follows SPIR-V calling convention for struct types, but extends this to other APIs that does not use SPIR-V path. - Arrays are also converted to pass-by-pointer. - Illegal integer vector sizes are upscaled to legal integer types. - In order to reduce BE complexity for stack calls, return on stack functionality will be removed. This pass will convert all return types > 64 bits to a pass-by-pointer argument. Change-Id: Ib52507a616146d0cba65ef349f5e89f0448f09f9
1 parent 8bd47c6 commit eab9601

File tree

6 files changed

+556
-0
lines changed

6 files changed

+556
-0
lines changed

0 commit comments

Comments
 (0)