This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR29512, O(c^N) complexity algorithm in the i386 backend
- From: Jan Hubicka <jh at suse dot cz>
- To: Richard Guenther <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org, Jan Hubicka <jh at suse dot cz>
- Date: Fri, 20 Oct 2006 13:08:12 +0200
- Subject: Re: [PATCH] Fix PR29512, O(c^N) complexity algorithm in the i386 backend
- References: <Pine.LNX.firstname.lastname@example.org>
> But the BINFO walking is redundant
> completely anyway, as we are only interested in seeing all structure
> data members which are also available by walking the TYPE_FIELDs like
> the rest of the middle-end does.
This is very important, so I would feel safer if some C++ person can
confirm this. The patch is potentially ABI breaking...
> Ok for mainline? (note this doesn't seem to be a regression other than
> a regression from i686 to x86_64)
> :ADDPATCH i386:
> 2006-10-20 Richard Guenther <email@example.com>
> PR target/29512
> * config/i386/i386.c (classify_argument): Remove redundant
> walking of the BINFOs.
> (contains_128bit_aligned_vector_p): Likewise.
Given that the patch passed testing on various C++ codebases and rest of
backend really seem to assume that TYPE_FIELDs contain everything what
is linked by BINFOs, the patch is OK.
I've added some info to the PR audit trail how we got to this situation.