diff options
author | Bob Wilson <bob.wilson@acm.org> | 2004-10-12 23:05:32 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@acm.org> | 2004-10-12 23:05:32 +0000 |
commit | b08b50715338943656d9001415debe7f74a589c6 (patch) | |
tree | 4a35df31fa572109cea848fe8e39e1de0b3c3471 /bfd/elf32-xtensa.c | |
parent | e1923096a1457947ac9c358b081001e99f664fc2 (diff) | |
download | fsf-binutils-gdb-b08b50715338943656d9001415debe7f74a589c6.zip fsf-binutils-gdb-b08b50715338943656d9001415debe7f74a589c6.tar.gz fsf-binutils-gdb-b08b50715338943656d9001415debe7f74a589c6.tar.bz2 |
bfd ChangeLog
* elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
(narrow_instruction, widen_instruction): Remove unnecessary calls to
xtensa_format_encode.
(ebb_propose_action): Inline call to ebb_add_proposed_action.
(ebb_add_proposed_action): Delete.
gas ChangeLog
* config/tc-xtensa.c (xtensa_frequency_pseudo): Use set_subseg_freq.
(is_entry_opcode, is_movi_opcode, is_the_loop_opcode, is_jx_opcode,
is_windowed_return_opcode): Delete.
(xtensa_frob_label): Use get_subseg_target_freq.
(md_assemble): Inline call to is_entry_opcode.
(xtensa_handle_align): Inline call to get_frag_is_literal.
(relaxation_requirements): Inline call to is_jx_opcode.
(emit_single_op): Inline call to is_movi_opcode.
(xg_assemble_vliw_tokens): Inline calls to get_frag_is_insn,
get_frag_is_no_transform, is_entry_opcode, and
set_frag_is_specific_opcode. Use get_subseg_total_freq.
(xtensa_fix_a0_b_retw_frags, xtensa_fix_b_j_loop_end_frags,
xtensa_fix_close_loop_end_frags, relax_frag_immed, convert_frag_immed):
Inline calls to get_frag_is_no_transform.
(next_instrs_are_b_retw): Inline call to is_windowed_return_opcode.
(xtensa_fix_short_loop_frags): Inline calls to is_the_loop_opcode and
get_frag_is_no_transform.
(convert_frag_immed_finish_loop): Inline calls to get_expression_value
and set_frag_is_no_transform.
(get_expression_value): Delete.
(subseg_map struct): Rename cur_total_freq to total_freq. Rename
cur_target_freq to target_freq.
(get_subseg_info): Split out code to create a new map entry into ...
(add_subseg_info): ... this new function.
(get_last_insn_flags): Check if get_subseg_info succeeded.
(set_last_insn_flags): Call add_subseg_info if needed.
(get_subseg_total_freq, get_subseg_target_freq, set_subseg_freq): New.
(xtensa_reorder_segments): Compute last_sec while counting sections.
Remove call to get_last_sec.
(get_last_sec): Delete.
(cache_literal_section): Inline call to retrieve_literal_seg and its
callees, seg_present and add_seg_list.
(retrieve_literal_seg, seg_present, add_seg_list): Delete.
(get_frag_is_insn, get_frag_is_no_transform,
set_frag_is_specific_opcode, set_frag_is_no_transform): Delete.
* config/tc-xtensa.h (MAX_SLOTS): Reduce from 31 to 15.
Diffstat (limited to 'bfd/elf32-xtensa.c')
-rw-r--r-- | bfd/elf32-xtensa.c | 42 |
1 files changed, 13 insertions, 29 deletions
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index 56f317f..8d9649e 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -37,8 +37,6 @@ #define XTENSA_NO_NOP_REMOVAL 0 -extern flagword elf_xtensa_get_private_bfd_flags (bfd *); - /* Local helper functions. */ static bfd_boolean add_extra_plt_sections (bfd *, int); @@ -2767,13 +2765,6 @@ elf_xtensa_set_private_flags (bfd *abfd, flagword flags) } -extern flagword -elf_xtensa_get_private_bfd_flags (bfd *abfd) -{ - return elf_elfheader (abfd)->e_flags; -} - - static bfd_boolean elf_xtensa_print_private_bfd_data (bfd *abfd, void *farg) { @@ -3641,7 +3632,6 @@ narrow_instruction (bfd_byte *contents, || xtensa_format_length (isa, o_fmt) != 2) return FALSE; - xtensa_format_encode (isa, o_fmt, o_slotbuf); xtensa_format_encode (isa, o_fmt, o_insnbuf); operand_count = xtensa_opcode_num_operands (isa, opcode); o_operand_count = xtensa_opcode_num_operands (isa, o_opcode); @@ -3789,7 +3779,6 @@ widen_instruction (bfd_byte *contents, || xtensa_format_length (isa, o_fmt) != 3) return FALSE; - xtensa_format_encode (isa, o_fmt, o_slotbuf); xtensa_format_encode (isa, o_fmt, o_insnbuf); operand_count = xtensa_opcode_num_operands (isa, opcode); o_operand_count = xtensa_opcode_num_operands (isa, o_opcode); @@ -5595,8 +5584,6 @@ insn_block_decodable_len (bfd_byte *contents, } -static void ebb_add_proposed_action (ebb_constraint *, proposed_action *); - static void ebb_propose_action (ebb_constraint *c, bfd_vma alignment_pow, @@ -5606,24 +5593,13 @@ ebb_propose_action (ebb_constraint *c, int removed_bytes, bfd_boolean do_action) { - proposed_action paction; - paction.align_type = align_type; - paction.alignment_pow = alignment_pow; - paction.action = action; - paction.offset = offset; - paction.removed_bytes = removed_bytes; - paction.do_action = do_action; - ebb_add_proposed_action (c, &paction); -} + proposed_action *act; - -static void -ebb_add_proposed_action (ebb_constraint *c, proposed_action *action) -{ - unsigned i; if (c->action_allocated <= c->action_count) { - unsigned new_allocated = (c->action_count + 2) * 2; + unsigned new_allocated, i; + + new_allocated = (c->action_count + 2) * 2; proposed_action *new_actions = (proposed_action *) bfd_zmalloc (sizeof (proposed_action) * new_allocated); @@ -5634,7 +5610,15 @@ ebb_add_proposed_action (ebb_constraint *c, proposed_action *action) c->actions = new_actions; c->action_allocated = new_allocated; } - c->actions[c->action_count] = *action; + + act = &c->actions[c->action_count]; + act->align_type = align_type; + act->alignment_pow = alignment_pow; + act->action = action; + act->offset = offset; + act->removed_bytes = removed_bytes; + act->do_action = do_action; + c->action_count++; } |