bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/24165] fivefold time and memory usage since commit 3ae729d5 on


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gas/24165] fivefold time and memory usage since commit 3ae729d5 on large files generated by lto
Date: Sun, 10 Feb 2019 13:16:05 +0000

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

--- Comment #8 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The binutils-2_32-branch branch has been updated by H.J. Lu
<address@hidden>:

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

commit d8699a0b89a3588ba049befa2249cd65f00fa195
Author: H.J. Lu <address@hidden>
Date:   Sun Feb 10 04:34:10 2019 -0800

    gas: Pass max_bytes to TC_FRAG_INIT

    ommit 3ae729d5a4f63740ed9a778960b17c2912b0bbdd
    Author: H.J. Lu <address@hidden>
    Date:   Wed Mar 7 04:18:45 2018 -0800

        x86: Rewrite NOP generation for fill and alignment

    increased MAX_MEM_FOR_RS_ALIGN_CODE to 4095 which resulted in increase
    of assembler time and memory usage by 5 times for inputs with many
    .p2align directives, which is typical for LTO output.  This patch passes
    max_bytes to TC_FRAG_INIT so that MAX_MEM_FOR_RS_ALIGN_CODE can be set
    as needed and tracked by backend it so that HANDLE_ALIGN can check the
    maximum alignment for each rs_align_code frag.  Wall time to assemble
    the same cc1plus.s:

    before:

    423.78user 0.89system 7:05.71elapsed 99%CPU

    after:

    102.35user 0.27system 1:42.89elapsed 99%CPU

        PR gas/24165
        * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Set to
        (alignment ? ((1 << alignment) - 1) : 1)
        (i386_tc_frag_data): Add max_bytes.
        (TC_FRAG_INIT): Track max_chars in max_bytes.
        (HANDLE_ALIGN): Replace MAX_MEM_FOR_RS_ALIGN_CODE with
        fragP->tc_frag_data.max_bytes.

    (cherry picked from commit db22231044df03bbcb987496f3f29f0462b2e9ee)

-- 
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]