Commit c5c4383
Rebase swiftasynccall's musttail support onto the [[clang::musttail]] logic (llvm#86011)
The old logic expects the call to be the last thing we emitted, and
since it kicks in before we emit cleanups, and since `swiftasynccall`
functions always return void, that's likely to be true. "Likely" isn't
very reassuring when we're talking about slapping attributes on random
calls, though. And indeed, while I can't find any way to break the logic
directly in current main, our previous (ongoing?) experiments with
shortening argument temporary lifetimes definitely broke it wide open.
So while this commit is prophylactic for now, it's clearly the right
thing to do, and it can cherry-picked to other branches to fix problems.1 parent a0e8ac3 commit c5c4383
File tree
2 files changed
+34
-15
lines changed- clang
- lib/CodeGen
- test/CodeGen
2 files changed
+34
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1341 | 1341 | | |
1342 | 1342 | | |
1343 | 1343 | | |
1344 | | - | |
1345 | | - | |
1346 | | - | |
1347 | | - | |
| 1344 | + | |
| 1345 | + | |
1348 | 1346 | | |
1349 | 1347 | | |
1350 | 1348 | | |
| |||
1359 | 1357 | | |
1360 | 1358 | | |
1361 | 1359 | | |
1362 | | - | |
| 1360 | + | |
1363 | 1361 | | |
1364 | 1362 | | |
1365 | | - | |
1366 | | - | |
1367 | | - | |
1368 | | - | |
1369 | | - | |
1370 | | - | |
1371 | | - | |
1372 | | - | |
| 1363 | + | |
1373 | 1364 | | |
| 1365 | + | |
1374 | 1366 | | |
1375 | 1367 | | |
1376 | 1368 | | |
| |||
1410 | 1402 | | |
1411 | 1403 | | |
1412 | 1404 | | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
1413 | 1418 | | |
1414 | 1419 | | |
1415 | 1420 | | |
| |||
1432 | 1437 | | |
1433 | 1438 | | |
1434 | 1439 | | |
1435 | | - | |
1436 | | - | |
1437 | 1440 | | |
1438 | 1441 | | |
1439 | 1442 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
0 commit comments