https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106883
--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Richard Biener from comment #2) > As said, it would be nice to not needing to always do this. Which > means possibly having insert_initializers create an unsigned initializer > and replace_rhs_if_not_dup (and elsewhere) deal with type mismatches by > promoting the replaced computation as well. I did this in the end. There was actually not many changes needed in the end. Most of the support is there even. Plus using gimple_convert made this easy. Only create_add_on_incoming_edge needed some extra handling but the support for adding a cast was already there so it was not hard. Also I have a patch to add rewrite_to_defined_unconditional to create_add_on_incoming_edge which I will be doing before the big patch. It is a few lines long.
