https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92550

--- Comment #3 from Martin Jambor <jamborm at gcc dot gnu.org> ---
Almost certainly started with new IPA-SRA (r275982 or as we now call
it gcc-10-3311-gff6686d2e5f).  I looked at dumps from a cross-compiler
and the funny bit is, however, that new IPA-SRA simply does nothing.

That is not as it should be.  Because foo is not versionable, the pass
does not even look at it and then cannot do anything because it has
not seen a call to get_a.  But of course it should still analyze
outgoing calls to allow IPA-SRA of callees.

But that is merely a missed optimization, not this miscompilation.  I
looks almost as if it was simply the expand of misaligned structure
copy that is broken on (this?) strict-aliasing target.  I also believe
the test case does not successfuly run when compiled with earlier
revisions and option -fno-ipa-sra.

Reply via email to