https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65028
--- Comment #43 from Martin Jambor <jamborm at gcc dot gnu.org> --- (In reply to H.J. Lu from comment #42) > Does it skip a jump func when its argument alignment is unknown? No, I don't think it does. Cur is initialized to unknown alignment and then only overwrites the whole structure if alignment is known. > Shouldn't propagate_alignment_accross_jump_function keeps the > minimum argument alignment, not the maximum argument alignment? No, it does not calculate minimums or maximums at all. If it encounters a different value than one it has seen previously, the result is unknown alignment (this is what Honza thinks is just way too pessimistic and fixes with his attached patch). I really find it very suspicious that even the jump-function printing code, which is a an iteration over edges as simple as they get, does not see the wrong call. If it is originally an indirect call, then obviously initialization of the lattice is wrong because the cgraph_local_p information is wrong.