[PR99123] inline-asm: Don't use decompose_mem_address to find used hard regs
authorVladimir N. Makarov <vmakarov@redhat.com>
Wed, 24 Feb 2021 18:54:10 +0000 (13:54 -0500)
committerVladimir N. Makarov <vmakarov@redhat.com>
Wed, 24 Feb 2021 18:57:45 +0000 (13:57 -0500)
commitb6680c2084521d2612c3a08aa01b274078c4f3e3
treeca3a63a64b37926ddc8fb28f657994a153154615
parent8265ab07f3bbeb672488fdfc6418e0bce89dff9c
[PR99123] inline-asm: Don't use decompose_mem_address to find used hard regs

Inline asm in question has empty constraint which means anything
including memory with invalid address.  To check used hard regs we
used decompose_mem_address which assumes memory with valid address.
The patch implements the same semantics without assuming valid
addresses.

gcc/ChangeLog:

PR inline-asm/99123
* lra-constraints.c (uses_hard_regs_p): Don't use decompose_mem_address.

gcc/testsuite/ChangeLog:

PR inline-asm/99123
* gcc.target/i386/pr99123.c: New.
gcc/lra-constraints.c
gcc/testsuite/gcc.target/i386/pr99123.c [new file with mode: 0644]