[Bug debug/100960] var-tracking: parameter location in subregister not tracked
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jun 8 09:14:33 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100960
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |aoliva at gcc dot gnu.org,
| |jakub at gcc dot gnu.org
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
We have two different VALUEs here,
(value/u:SI 5:5 @0x4a99810/0x4a402e0)
locs:
from insn 1 (value/u:SI 6:261 @0x4a99828/0x4a40310)
from insn 1 (entry_value:SI (reg:SI 2 %r2 [ x ]))
from insn 1 (reg:SI 2 %r2 [ x ])
no addrs
and
(value/u:DI 15:15 @0x4a99900/0x4a404c0)
locs:
from insn 17 (reg:DI 12 %r12 [63])
from insn 17 (reg:DI 2 %r2 [ x+-4 ])
no addrs
and cselib doesn't record that when insn 17 copies the 15:15 value to a new
location it effectively copies also the 5:5 value which is present in its low
bits.
Maybe it would be better to record among the locs of 5:5 that it is equivalent
to
lowpart subreg of (value:DI 15:15), perhaps at the point where the value 15:15
is created or so?
More information about the Gcc-bugs
mailing list