https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96347
Iain Buclaw <ibuclaw at gdcproject dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #48946|0 |1
is obsolete| |
--- Comment #4 from Iain Buclaw <ibuclaw at gdcproject dot org> ---
Created attachment 48953
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48953&action=edit
delegitimize mem(plus (unspec reg) tls)
Second patch, this time dealing with the following insn
---
(mem/f/c:DI (plus:DI (unspec:DI [
(const_int 0 [0])
] UNSPEC_TP)
(reg:DI 89)) [1 MEM <int *> [(struct Darray *)&testYearsBC + 8B]+0 S8
A64])
---
After ix86_delegitimize_tls_address, it becomes
---
(mem/f/c:DI (reg/f:DI 6 bp [90]) [1 MEM <int *> [(struct Darray *)&testYearsBC
+ 8B]+0 S8 A64])
---
Doesn't change assembly produced for given test, but alters debug output:
---
@@ -1105,12 +1105,9 @@ testYearsBC:
.LLST4:
.quad .LVL7
.quad .LVL8-1
- .value 0xd
- .byte 0xe
- .long testYearsBC@dtpoff, 0
- .byte 0xe0
- .byte 0x23
- .uleb128 0x8
+ .value 0x3
+ .byte 0x76
+ .sleb128 0
.byte 0x6
.quad 0
.quad 0
@@ -1148,15 +1145,12 @@ testYearsBC:
.LLST6:
.quad .LVL9
.quad .LVL9
- .value 0x11
+ .value 0x7
.byte 0x50
.byte 0x93
.uleb128 0x8
- .byte 0xe
- .long testYearsBC@dtpoff, 0
- .byte 0xe0
- .byte 0x23
- .uleb128 0x8
+ .byte 0x76
+ .sleb128 0
.byte 0x93
.uleb128 0x8
.quad 0
@@ -1167,15 +1161,12 @@ testYearsBC:
.LLST7:
.quad .LVL9
.quad .LVL9
- .value 0x11
+ .value 0x7
.byte 0x50
.byte 0x93
.uleb128 0x8
- .byte 0xe
- .long testYearsBC@dtpoff, 0
- .byte 0xe0
- .byte 0x23
- .uleb128 0x8
+ .byte 0x76
+ .sleb128 0
.byte 0x93
.uleb128 0x8
.quad 0
---