Commit 41d4f89
[X86ISelLowering] permit BlockAddressSDNode "i" constraints for PIC
When building 32b x86 code as PIC, the existing handling of "i"
constraints is conservative since generally we have to go through the
GOT to find references to functions.
But generally, BlockAddresses from C code refer to the Function in the
current TU. Permit BlockAddresses to be used with the "i" constraint
for those cases.
I regressed this in
commit 4edb998 ("[SelectionDAG] treat X constrained labels as i for asm")
Fixes: #53868
Reviewed By: efriedma, MaskRay
Differential Revision: https://reviews.llvm.org/D119905
(cherry picked from commit 027c16b)1 parent d245bcf commit 41d4f89
File tree
2 files changed
+41
-2
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
2 files changed
+41
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54599 | 54599 | | |
54600 | 54600 | | |
54601 | 54601 | | |
54602 | | - | |
54603 | | - | |
| 54602 | + | |
| 54603 | + | |
| 54604 | + | |
54604 | 54605 | | |
54605 | 54606 | | |
54606 | 54607 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
0 commit comments