Skip to content

[SR-3946] Figure out the number of registers designated to hold the function result value #46531

Closed
@ematejska

Description

@ematejska
mannequin
Previous ID SR-3946
Radar rdar://problem/31419827
Original Reporter @ematejska
Type Bug
Status Resolved
Resolution Done
Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug, AffectsABI
Assignee None
Priority Medium

md5: 1ed01cd2ffc3ef7ce2ef8e1964b7e4f9

Issue Description:

Function signature lowering is the mapping of a function's source-language type, which includes formal parameters and results, all the way down to a physical convention, which dictates what values are stored in what registers and what values to pass on the stack.

Lowering the result value is usually done first, with a certain number of registers designated to hold the result value if it fits, otherwise the result value is passed on the stack. Ahead of ABI stability, a good heuristic is needed for the limit and is architecture specific.

Metadata

Metadata

Assignees

No one assigned

    Labels

    affects ABIFlag: Affects ABIbugA deviation from expected or documented behavior. Also: expected but undesirable behavior.compilerThe Swift compiler itself

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions