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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |14295
           Assignee|unassigned at gcc dot gnu.org      |pinskia at gcc dot 
gnu.org
             Status|NEW                         |ASSIGNED

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I have a fix:
```
.L2:
        movl    flag(%rip), %eax
        testl   %eax, %eax
        jne     .L2
        movl    g2(%rip), %eax
        movl    %eax, g1(%rip)
        ret

```

```
void func_1 ()
{
  int flag.0_1;

  <bb 2> [local count: 118111600]:

  <bb 3> [local count: 1073741824]:
  flag.0_1 ={v} flag;
  if (flag.0_1 != 0)
    goto <bb 3>; [89.00%]
  else
    goto <bb 4>; [11.00%]

  <bb 4> [local count: 118111600]:
  g1 = g2;
  return;

}

```


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14295
[Bug 14295] [tree-ssa] copy propagation for aggregates

Reply via email to