Commit 9b4f747
authored
[ms] [llvm-ml] Implement support for PROC NEAR/FAR (llvm#131707)
Matches ML.EXE by translating "ret" instructions inside a `PROC FAR` to "retf", and automatically prepending a `push cs` to all near calls to a `PROC FAR`.1 parent f313b0a commit 9b4f747
File tree
6 files changed
+214
-26
lines changed- llvm
- include/llvm/MC
- MCParser
- lib
- MC/MCParser
- Target/X86/AsmParser
- test/tools/llvm-ml
6 files changed
+214
-26
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| |||
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
69 | 73 | | |
70 | 74 | | |
71 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
| 17 | + | |
16 | 18 | | |
17 | 19 | | |
18 | 20 | | |
| |||
41 | 43 | | |
42 | 44 | | |
43 | 45 | | |
| 46 | + | |
44 | 47 | | |
45 | 48 | | |
46 | 49 | | |
| |||
167 | 170 | | |
168 | 171 | | |
169 | 172 | | |
170 | | - | |
| 173 | + | |
171 | 174 | | |
172 | 175 | | |
173 | 176 | | |
| |||
201 | 204 | | |
202 | 205 | | |
203 | 206 | | |
204 | | - | |
205 | | - | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
206 | 214 | | |
207 | 215 | | |
208 | 216 | | |
| |||
435 | 443 | | |
436 | 444 | | |
437 | 445 | | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
438 | 463 | | |
439 | 464 | | |
440 | | - | |
| 465 | + | |
441 | 466 | | |
442 | 467 | | |
443 | 468 | | |
444 | 469 | | |
445 | 470 | | |
446 | 471 | | |
447 | | - | |
448 | | - | |
| 472 | + | |
| 473 | + | |
449 | 474 | | |
450 | | - | |
| 475 | + | |
451 | 476 | | |
452 | 477 | | |
453 | 478 | | |
454 | | - | |
455 | 479 | | |
456 | | - | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
457 | 483 | | |
458 | 484 | | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
459 | 491 | | |
460 | 492 | | |
| 493 | + | |
| 494 | + | |
461 | 495 | | |
462 | 496 | | |
463 | | - | |
| 497 | + | |
| 498 | + | |
464 | 499 | | |
465 | 500 | | |
466 | 501 | | |
467 | 502 | | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
468 | 508 | | |
469 | | - | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | | - | |
| 509 | + | |
474 | 510 | | |
475 | 511 | | |
476 | 512 | | |
477 | 513 | | |
478 | | - | |
479 | | - | |
| 514 | + | |
480 | 515 | | |
481 | 516 | | |
482 | 517 | | |
| |||
487 | 522 | | |
488 | 523 | | |
489 | 524 | | |
490 | | - | |
| 525 | + | |
491 | 526 | | |
492 | | - | |
| 527 | + | |
493 | 528 | | |
494 | | - | |
| 529 | + | |
495 | 530 | | |
496 | 531 | | |
497 | 532 | | |
498 | | - | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
499 | 537 | | |
500 | 538 | | |
501 | 539 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
| |||
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| 69 | + | |
68 | 70 | | |
69 | 71 | | |
70 | 72 | | |
| |||
373 | 375 | | |
374 | 376 | | |
375 | 377 | | |
376 | | - | |
| 378 | + | |
377 | 379 | | |
378 | 380 | | |
379 | 381 | | |
| |||
448 | 450 | | |
449 | 451 | | |
450 | 452 | | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
451 | 456 | | |
452 | 457 | | |
453 | 458 | | |
| |||
473 | 478 | | |
474 | 479 | | |
475 | 480 | | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
476 | 489 | | |
477 | 490 | | |
478 | 491 | | |
| |||
504 | 517 | | |
505 | 518 | | |
506 | 519 | | |
507 | | - | |
508 | | - | |
509 | 520 | | |
510 | 521 | | |
511 | 522 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| 36 | + | |
35 | 37 | | |
36 | 38 | | |
37 | 39 | | |
| |||
1200 | 1202 | | |
1201 | 1203 | | |
1202 | 1204 | | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
1203 | 1209 | | |
1204 | 1210 | | |
1205 | 1211 | | |
| |||
2738 | 2744 | | |
2739 | 2745 | | |
2740 | 2746 | | |
2741 | | - | |
| 2747 | + | |
2742 | 2748 | | |
2743 | 2749 | | |
2744 | 2750 | | |
2745 | | - | |
| 2751 | + | |
2746 | 2752 | | |
2747 | 2753 | | |
2748 | 2754 | | |
| |||
3440 | 3446 | | |
3441 | 3447 | | |
3442 | 3448 | | |
| 3449 | + | |
| 3450 | + | |
| 3451 | + | |
| 3452 | + | |
| 3453 | + | |
| 3454 | + | |
| 3455 | + | |
| 3456 | + | |
3443 | 3457 | | |
3444 | 3458 | | |
3445 | 3459 | | |
| |||
4128 | 4142 | | |
4129 | 4143 | | |
4130 | 4144 | | |
| 4145 | + | |
| 4146 | + | |
| 4147 | + | |
| 4148 | + | |
| 4149 | + | |
4131 | 4150 | | |
4132 | 4151 | | |
4133 | 4152 | | |
| |||
4189 | 4208 | | |
4190 | 4209 | | |
4191 | 4210 | | |
| 4211 | + | |
| 4212 | + | |
| 4213 | + | |
| 4214 | + | |
| 4215 | + | |
| 4216 | + | |
| 4217 | + | |
| 4218 | + | |
| 4219 | + | |
| 4220 | + | |
| 4221 | + | |
| 4222 | + | |
| 4223 | + | |
| 4224 | + | |
| 4225 | + | |
| 4226 | + | |
| 4227 | + | |
| 4228 | + | |
| 4229 | + | |
| 4230 | + | |
| 4231 | + | |
| 4232 | + | |
| 4233 | + | |
| 4234 | + | |
| 4235 | + | |
| 4236 | + | |
| 4237 | + | |
| 4238 | + | |
| 4239 | + | |
| 4240 | + | |
| 4241 | + | |
4192 | 4242 | | |
4193 | 4243 | | |
4194 | 4244 | | |
| |||
0 commit comments