Hello!

This patch:

1)
Adds ABIArgInfo::Abstract as a style of argument passing. Using this
style indicates that aggregate types should be passed and returned as
a single argument, without conversion, using their LLVM type.

void bar(struct foo x); ---> declare void @bar(%struct.foo %x)
struct foo bar(); ---> declare %struct.foo @bar()

2)
Adds PNaClABIInfo for target le32-*, which uses the Abstract passing
style for aggregate arguments in PNaCl. It may eventually be used for
return values (but LLVM CodeGen does not handle these well at the
moment).

3)
Adds a test to prevent regressions in the argument passing style for
le32-unknown-nacl.


This is the first time I've played with Clang, so I would appreciate a
thorough review! Thanks!
- David Meyer ([email protected])

Attachment: pnacl_abi.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to