Commit bc08104
[PowerPC] Indicate that PPC32PICGOT clobbers LR (llvm#154654)
This pseudo-instruction emits a local `bl` writing LR, so that must be
saved and restored for the function to return to the right place. If
not, we'll return to the inline `.long` that the `bl` stepped over.
This fixes the `SIGILL` seen in rayon-rs/rayon#1268.
(cherry picked from commit e6ae4e6)1 parent 3e406bb commit bc08104
File tree
2 files changed
+33
-1
lines changed- llvm
- lib/Target/PowerPC
- test/CodeGen/PowerPC
2 files changed
+33
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3252 | 3252 | | |
3253 | 3253 | | |
3254 | 3254 | | |
3255 | | - | |
| 3255 | + | |
| 3256 | + | |
3256 | 3257 | | |
3257 | 3258 | | |
3258 | 3259 | | |
| |||
| 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 | + | |
| 30 | + | |
| 31 | + | |
0 commit comments