binutils-gdb/gas/doc
H.J. Lu db22231044 gas: Pass max_bytes to TC_FRAG_INIT
ommit 3ae729d5a4
Author: H.J. Lu <hjl.tools@gmail.com>
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
	* frags.c (frag_var_init): Pass max_chars to TC_FRAG_INIT as
	max_bytes.
	* config/tc-aarch64.h (TC_FRAG_INIT): Add and pass max_bytes to
	aarch64_init_frag.
	* /config/tc-arm.h (TC_FRAG_INIT): And and pass max_bytes to
	arm_init_frag.
	* config/tc-avr.h (TC_FRAG_INIT): And and ignore max_bytes.
	* config/tc-ia64.h (TC_FRAG_INIT): Likewise.
	* config/tc-mmix.h (TC_FRAG_INIT): Likewise.
	* config/tc-nds32.h (TC_FRAG_INIT): Likewise.
	* config/tc-ns32k.h (TC_FRAG_INIT): Likewise.
	* config/tc-rl78.h (TC_FRAG_INIT): Likewise.
	* config/tc-rx.h (TC_FRAG_INIT): Likewise.
	* config/tc-score.h (TC_FRAG_INIT): Likewise.
	* config/tc-tic54x.h (TC_FRAG_INIT): Likewise.
	* config/tc-tic6x.h (TC_FRAG_INIT): Likewise.
	* config/tc-xtensa.h (TC_FRAG_INIT): Likewise.
	* 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): Add and track max_bytes.
	(HANDLE_ALIGN): Replace MAX_MEM_FOR_RS_ALIGN_CODE with
	fragP->tc_frag_data.max_bytes.
	* doc/internals.texi: Update TC_FRAG_TYPE with max_bytes.
2019-02-10 04:34:22 -08:00
..
Makefile.am Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
Makefile.in Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
all.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
as.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-aarch64.texi [AArch64][gas] Add -mcpu support for Arm Ares 2019-01-08 15:18:32 +00:00
c-alpha.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-arc.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-arm.texi [arm][gas] Add -mcpu support for Arm Ares 2019-01-07 09:22:55 +00:00
c-avr.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-bfin.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-cr16.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-cris.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-csky.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-d10v.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-d30v.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-epiphany.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-h8300.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-hppa.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-i386.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-ia64.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-ip2k.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-lm32.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-m32c.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-m32r.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-m68hc11.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-m68k.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-metag.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-microblaze.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-mips.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-mmix.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-msp430.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-mt.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-nds32.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-nios2.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-ns32k.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-or1k.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-pdp11.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-pj.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-ppc.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-pru.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-riscv.texi RISC-V: Support ELF attribute for gas and readelf. 2019-01-16 13:14:59 -08:00
c-rl78.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-rx.texi RX: gas - Add RXv3 instruction support. 2019-01-05 22:51:41 +09:00
c-s12z.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-s390.texi S/390: Implement instruction set extensions 2019-01-31 17:32:18 +01:00
c-score.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-sh.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-sparc.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-tic6x.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-tic54x.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-tilegx.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-tilepro.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-v850.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-vax.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-visium.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-wasm32.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-xc16x.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-xgate.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-xstormy16.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-xtensa.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-z8k.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
c-z80.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
fdl.texi Change documentation license to FDL v1.3 2008-11-19 16:22:48 +00:00
h8.texi Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
internals.texi gas: Pass max_bytes to TC_FRAG_INIT 2019-02-10 04:34:22 -08:00