This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:crosscompiler:backend_arm:register_allocation [2018/12/20 17:15] – [Register Usage] ursgraf | dev:crosscompiler:backend_arm:register_allocation [2018/12/21 10:00] – [Parameter Passing] ursgraf | ||
---|---|---|---|
Line 31: | Line 31: | ||
For the translation of certain SSA instructions (e.g. of type long) further auxiliary registers are needed. They are assigned and reserved by the register allocator as well. | For the translation of certain SSA instructions (e.g. of type long) further auxiliary registers are needed. They are assigned and reserved by the register allocator as well. | ||
- | ==== Parameter Passing ==== | + | ===== Parameter Passing |
Parameters are passed in R0..R5 and D1..D6.\\ | Parameters are passed in R0..R5 and D1..D6.\\ | ||
- | In the interface // | + | In the interface // |
- | ==== Locals on the Stack ==== | + | |
+ | ===== Locals on the Stack ===== | ||
Most SSA instruction have 2 operands and a result. Each of them can reside on the stack. Operands must be fetched into a free register, the result must be stored onto the stack. A single SSA instruction '' | Most SSA instruction have 2 operands and a result. Each of them can reside on the stack. Operands must be fetched into a free register, the result must be stored onto the stack. A single SSA instruction '' | ||