You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Simplify ABI lowering requirements for frontends #40
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).
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.
Activity
asb commentedon 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.