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