https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117096
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is one just for match_simplify_replacement/empty_bb_or_one_feeding_into_p:
```
struct s1{
unsigned b = 0;
};
int f(signed a, int c)
{
signed b = 0;
if (a < 0)
{
s1();
b = a;
}
return b;
}
int f1(signed a, int c)
{
signed b = 0;
if (a < 0)
{
s1 t;
b = a;
}
return b;
}
```
Basically the order I am going to do this is empty_bb_or_one_feeding_into_p
first and then factor_out_conditional_operation even though I found the issue
originally in factor_out_conditional_operation; only because the testcase for
match_simplify_replacement is not dependent on the patch for
factor_out_conditional_operation.