bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/29058] Quadratic(?) slowdown of m68k-as on m68k_frob_symbol()


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gas/29058] Quadratic(?) slowdown of m68k-as on m68k_frob_symbol()
Date: Mon, 09 May 2022 06:54:32 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=29058

--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The binutils-2_38-branch branch has been updated by Alan Modra
<amodra@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c473aa1b9d85e08a4620a16f755eb047d3216d85

commit c473aa1b9d85e08a4620a16f755eb047d3216d85
Author: Sergei Trofimovich <siarheit@google.com>
Date:   Thu Apr 14 08:47:00 2022 +0100

    M68K: avoid quadratic slowdlow in label alignment check

    Before the change tc-m68k maintained a list of seen labels.
    Alignment check traversed label list to resolve symbol to label.
    This caused quadratic slowdown as each symbol was checked against
    each label. Worst affected files are the ones built with debugging
    enabled as DWARF generates many labels.

    The change embeds auxiliary label information right into symbol using
    TC_SYMFIELD_TYPE.

    Before the change test from PR 29058 did not finish in 10 minutes. After
    the change it finishes in 2 seconds.

    gas/ChangeLog:

            PR 29058
            * config/tc-m68k.h (TC_SYMFIELD_TYPE): define as m68k_tc_sy.
            * config/tc-m68k.c (m68k_frob_label): Use TC_SYMFIELD_TYPE to
            store label information.

    (cherry picked from commit c641fe0dcb886dc1b8a235ab2b236275ee46510a)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]