So when we using the newly mapped location, we should check if
it is not unknown location and if so just use the original location.
Note this is a latent bug in remove_forwarder_block_with_phi code too.
This fixes gcc.dg/uninit-pr40635.c when doing more mergephi.
gcc/ChangeLog:
* tree-cfg.cc (copy_phi_arg_into_existing_phi): Use the original location
if the mapped location is unknown.
Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
if (val == old_arg)
{
val = new_arg;
- locus = redirect_edge_var_map_location (vm);
+ location_t locus1 = redirect_edge_var_map_location (vm);
+ /* Don't remove the location if we remap one does not have one. */
+ if (locus1 != UNKNOWN_LOCATION)
+ locus = locus1;
break;
}
}