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.

Reply via email to