RFC: PATCH: PR gas/12049: Unnecessary relaxation
H.J. Lu
hjl.tools@gmail.com
Tue Oct 19 13:19:00 GMT 2010
More information about the Binutils mailing list
Tue Oct 19 13:19:00 GMT 2010
- Previous message (by thread): RFC: PATCH: PR gas/12049: Unnecessary relaxation
- Next message (by thread): RFC: PATCH: PR gas/12049: Unnecessary relaxation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Oct 19, 2010 at 4:59 AM, Alan Modra <amodra@gmail.com> wrote: > On Mon, Oct 18, 2010 at 10:51:32AM -0700, H.J. Lu wrote: >> I tried it on gcc trunk at revision 165633 with i686-linux: > > Timing gcc bootstrap and regression testing isn't particularly > convincing, since the assembler time is likely only a small part of > the total. > > If you take a look at the history of this code, you'll find > http://sourceware.org/ml/binutils/2001-02/msg00320.html. In that > patch, Ian considerably reduced the time in gas by minimizing (a > little too enthusiastically) the cases we did a scan over frags for > each rs_machine_dependent frag. You might understand why I'd rather > not go back to doing that again. In fact, the more I look at your > patch, the less I like it. You're using code that initializes frag > addresses to update addresses?? That would reset branches, leb128 > etc. to their initial sizes! Also, you only need to traverse frags > until you find the symbol frag, not update all of them. > > I think the following is a much better solution. > > PR gas/12049 > * frags.h (struct frag): Add "region" field. > * write.c (relax_frag): Don't add "stretch" to forward reference > target if there is an intervening org or align. > (relax_segment): Set region. > This works. Thanks. -- H.J.
- Previous message (by thread): RFC: PATCH: PR gas/12049: Unnecessary relaxation
- Next message (by thread): RFC: PATCH: PR gas/12049: Unnecessary relaxation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list