speed up Xtensa branch target alignment
Bob Wilson
bwilson@tensilica.com
Tue Dec 20 19:45:00 GMT 2005
More information about the Binutils mailing list
Tue Dec 20 19:45:00 GMT 2005
- Previous message (by thread): speed up Xtensa GAS port
- Next message (by thread): [binutils-or32 1/2] Add reloc with 28 bit displacement.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
The Xtensa port of GAS uses the relaxation mechanism to align branch targets for performance, but it can be slow. I'm committing this patch to fix the most obvious performance problems. It fixes a serious memory leak and calls frag_wane for frags that do not need to be reexamined on future iterations. It does not cause any testsuite regressions for the xtensa-elf target. For large input files, the assembler can still take a long time to run, so we hope to make further improvements in the future. 2005-12-20 Sterling Augustine <sterling@tensilica.com> * config/tc-xtensa.c (xtensa_mark_narrow_branches): Set is_aligning_branch flag. (find_address_of_next_align_frag): Limit by xtensa_fetch_width. (future_alignment_required): Except for frags with is_aligning_branch flag set, call frag_wane for frags that do not need to be reexamined for aligning. (relax_frag_immed): Replace orig_vinsn with cur_vinsn to fix a leak. (convert_frag_immed): Likewise. (convert_frag_narrow): Check is_aligning_branch flag. * config/tc-xtensa.h (xtensa_frag_type): Add is_aligning_branch flag. -------------- next part -------------- A non-text attachment was scrubbed... Name: gas-align-perf.diff Type: text/x-patch Size: 6532 bytes Desc: not available URL: <https://sourceware.org/pipermail/binutils/attachments/20051220/6e17a91a/attachment.bin>
- Previous message (by thread): speed up Xtensa GAS port
- Next message (by thread): [binutils-or32 1/2] Add reloc with 28 bit displacement.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list