Commit 491bf8c
committed
[AVR] Update ABI type classification logic to match the the AVR-Clang ABI
This patch brings the AVR calling convention argument classification
logic in line with AVR Clang's behaviour.
AVR-Clang currently uses the `clang::DefaultABIInfo` ABI implementation.
This calling convention promotes all aggregates to indirect, no matter their
size.
It is also unnecessary to perform any integer width extension for AVR as
the minimum argument size matches the minimum describable size of
abi::Primitive::Int - 8 bits.
At some point in the future, an AVR-GCC compatible argument
classification implementation should be adopted in both Clang and Rust.1 parent 6260bc4 commit 491bf8c
1 file changed
+31
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
2 | 32 | | |
3 | 33 | | |
4 | 34 | | |
5 | 35 | | |
6 | 36 | | |
7 | 37 | | |
8 | | - | |
9 | | - | |
10 | 38 | | |
11 | 39 | | |
12 | 40 | | |
13 | 41 | | |
14 | 42 | | |
15 | 43 | | |
16 | | - | |
17 | | - | |
18 | 44 | | |
19 | 45 | | |
20 | 46 | | |
| |||
0 commit comments