Commit eab9601
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: Ib52507a616146d0cba65ef349f5e89f0448f09f91 parent 8bd47c6 commit eab9601
File tree
6 files changed
+556
-0
lines changed- IGC
- AdaptorCommon
- AdaptorOCL
- Compiler
- DriverInterface
6 files changed
+556
-0
lines changed
0 commit comments