aboutsummaryrefslogtreecommitdiff
path: root/gas/COPYING
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2015-07-29 17:42:54 +0300
committerMax Filippov <jcmvbkbc@gmail.com>2015-08-12 20:19:58 +0300
commitb46824bd49648c575372e6d9bc6a6defeabd6ed5 (patch)
tree0992495632a0c6ce3ad3a65f8e8780874da33fe6 /gas/COPYING
parent5ba325978c354b9f0e238864e3afb4f9b528c04e (diff)
downloadgdb-b46824bd49648c575372e6d9bc6a6defeabd6ed5.zip
gdb-b46824bd49648c575372e6d9bc6a6defeabd6ed5.tar.gz
gdb-b46824bd49648c575372e6d9bc6a6defeabd6ed5.tar.bz2
xtensa: add --auto-litpools option
Auto-litpools is the automated version of text-section-literals: literal pool candidate frags are planted every N frags and during relaxation they are turned into actual literal pools where literals are moved to become reachable for their first reference by L32R instruction. 2015-08-12 David Weatherford <weath@cadence.com> gas/ * config/tc-xtensa.c (struct litpool_frag, struct litpool_seg): New structures. (xtensa_maybe_create_literal_pool_frag): New function. (litpool_seg_list, auto_litpools, auto_litpool_limit) (litpool_buf, litpool_slotbuf): New static variables. (option_auto_litpools, option_no_auto_litpools) (option_auto_litpool_limit): New enum identifiers. (md_longopts): Add entries for auto-litpools, no-auto-litpools and auto-litpool-limit. (md_parse_option): Handle option_auto_litpools, option_no_auto_litpools and option_auto_litpool_limit. (md_show_usage): Add help for --[no-]auto-litpools and --auto-litpool-limit. (xtensa_mark_literal_pool_location): Record a place for literal pool with a call to xtensa_maybe_create_literal_pool_frag. (get_literal_pool_location): Find highest priority literal pool or convert candidate to literal pool when auto-litpools are used. (xg_assemble_vliw_tokens): Create literal pool after jump instruction. (xtensa_check_frag_count): Create candidate literal pool every auto_litpool_limit frags. (xtensa_relax_frag): Add jump around literals to non-empty literal pool. (xtensa_move_literals): Estimate literal pool addresses and move unreachable literals closer to their users, converting candidate to literal pool if needed. (xtensa_switch_to_non_abs_literal_fragment): Only emit error about missing .literal_position in case auto-litpools are not used. * config/tc-xtensa.h (xtensa_relax_statesE): New relaxation state: RELAX_LITERAL_POOL_CANDIDATE_BEGIN. * doc/as.texinfo (Xtensa options): Document --auto-litpools and --no-auto-litpools options. * doc/c-xtensa.texi (Xtensa options): Likewise. 2015-08-12 Max Filippov <jcmvbkbc@gmail.com> gas/testsuite/ * gas/xtensa/all.exp: Add auto-litpools to the list of xtensa tests. * gas/xtensa/auto-litpools.s: New file: auto-litpools test. * gas/xtensa/auto-litpools.s: New file: auto-litpools test result pattern.
Diffstat (limited to 'gas/COPYING')
0 files changed, 0 insertions, 0 deletions