https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87984

--- Comment #27 from rguenther at suse dot de <rguenther at suse dot de> ---
On February 8, 2019 6:35:29 PM GMT+01:00, "jakub at gcc dot gnu.org"
<gcc-bugzi...@gcc.gnu.org> wrote:
>https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87984
>
>--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
>FRE doesn't, as that breaks the #c9 testcase.
>  a = 1;
>  __asm__("add %1, %0" : "=r" o_12 : "r" a, "0" 0);
>  __asm__ __volatile__("xor %%eax, %%eax" :  :  : "eax");
>  i_13 = 1;
>  a = 1;
>  __asm__("add %1, %0" : "=r" o_18 : "r" a, "0" o_12);
>  __asm__ __volatile__("xor %%eax, %%eax" :  :  : "eax");
>  i_19 = 2;
>  a = 1;
>  __asm__("add %1, %0" : "=r" o_24 : "r" a, "0" o_18);
>  __asm__ __volatile__("xor %%eax, %%eax" :  :  : "eax");
>  i_25 = 3;
>to:
>  a = 1;
>  __asm__("add %1, %0" : "=r" o_12 : "r" a, "0" 0);
>  __asm__ __volatile__("xor %%eax, %%eax" :  :  : "eax");
>  __asm__("add %1, %0" : "=r" o_18 : "r" a, "0" o_12);
>  __asm__ __volatile__("xor %%eax, %%eax" :  :  : "eax");
>  __asm__("add %1, %0" : "=r" o_24 : "r" a, "0" o_18);
>  __asm__ __volatile__("xor %%eax, %%eax" :  :  : "eax");
>If SCCVN would never record values for DECL_HARD_REGISTER vars or
>something
>similar, it wouldn't do this.

OK. I guess I misremember and it hurt never elides sets of reg vars. 

Richard.

Reply via email to