Commit 6c453dd
Define 'swiftcorocc' calling convention.
The 'swiftcorocc' calling convention is a variant of 'swiftcc',
but additionally allows the 'swiftcorocc' function to have
partial-pop/restore-less returns.
These restore-less returns don't fully restore the stack in their
epilog, thereby allowing the caller to access some stack allocations
made in the 'swiftcorocc' callee.
As part of that, these returns don't restore SP (but do restore FP).
So the most important characteristic of a 'swiftcorocc' call is that it
forces the caller function to access its stack through FP, like it does
with e.g., variable-size allocas.
This patch only implements the 'swiftcorocc' keyword and CallingConv,
but doesn't implement its support on any target yet.1 parent b0e1dc9 commit 6c453dd
File tree
5 files changed
+9
-0
lines changed- llvm
- include/llvm
- AsmParser
- IR
- lib
- AsmParser
- IR
5 files changed
+9
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
| 164 | + | |
164 | 165 | | |
165 | 166 | | |
166 | 167 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
270 | 270 | | |
271 | 271 | | |
272 | 272 | | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
273 | 277 | | |
274 | 278 | | |
275 | 279 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
619 | 619 | | |
620 | 620 | | |
621 | 621 | | |
| 622 | + | |
622 | 623 | | |
623 | 624 | | |
624 | 625 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2187 | 2187 | | |
2188 | 2188 | | |
2189 | 2189 | | |
| 2190 | + | |
2190 | 2191 | | |
2191 | 2192 | | |
2192 | 2193 | | |
| |||
2252 | 2253 | | |
2253 | 2254 | | |
2254 | 2255 | | |
| 2256 | + | |
2255 | 2257 | | |
2256 | 2258 | | |
2257 | 2259 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
343 | 343 | | |
344 | 344 | | |
345 | 345 | | |
| 346 | + | |
346 | 347 | | |
347 | 348 | | |
348 | 349 | | |
| |||
0 commit comments