https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028
--- Comment #35 from Jan Hubicka <hubicka at ucw dot cz> --- > propagate_alignment_accross_jump_function seems wrong: > > if (cur.known) > { > if (!dest_lat->alignment.known) > { > dest_lat->alignment = cur; > return true; > } > > We can't change argument alignment from unknown to know. > We can only reduce argument alignment. Callee can only > assume the smallest argument alignment passed down from > all callers. Using top/bottom would be probably less confusing here, but looking into print_all_lattices I think !known represent TOP and BOTTOM is known & align == 0. So the code above seems OK. I think it is missing code to actually merge the values. Let me see if I can repreoduce testcase. Honza