Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify ABI lowering requirements for frontends #40

Open
asb opened this issue Aug 20, 2017 · 1 comment
Open

Simplify ABI lowering requirements for frontends #40

asb opened this issue Aug 20, 2017 · 1 comment

Comments

@asb
Copy link
Member

asb commented Aug 20, 2017

This is definitely a long term effort. Ideally, the frontend would not need to be concerned with calling convention details. Achieving this is harder than it first appears, and probably requires an IR-level pass (some of the PNaCl passes are relevant here).

@asb
Copy link
Member Author

asb commented Sep 27, 2017

I'll also note that having 'issigned' and 'isunsigned' parameter attributes rather than 'zeroext' / 'signext' would also help. Correctly marking the extension of parameters is important for performance (avoiding needless masking across function calls), but these attributes must not be applied to values passed by memory. The LLVM backend could ignore the attributes for values passed in memory, but that feels like surprising behaviour.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant