Lines Matching refs:relax_info

5854   xtensa_relax_info relax_info;  member
5886 return &section_data->relax_info; in get_xtensa_relax_info()
5893 xtensa_relax_info *relax_info = get_xtensa_relax_info (sec); in init_xtensa_relax_info() local
5895 relax_info->is_relaxable_literal_section = FALSE; in init_xtensa_relax_info()
5896 relax_info->is_relaxable_asm_section = FALSE; in init_xtensa_relax_info()
5897 relax_info->visited = 0; in init_xtensa_relax_info()
5899 relax_info->src_relocs = NULL; in init_xtensa_relax_info()
5900 relax_info->src_count = 0; in init_xtensa_relax_info()
5901 relax_info->src_next = 0; in init_xtensa_relax_info()
5903 relax_info->removed_list.head = NULL; in init_xtensa_relax_info()
5904 relax_info->removed_list.tail = NULL; in init_xtensa_relax_info()
5906 relax_info->action_list.head = NULL; in init_xtensa_relax_info()
5908 relax_info->fix_list = NULL; in init_xtensa_relax_info()
5909 relax_info->fix_array = NULL; in init_xtensa_relax_info()
5910 relax_info->fix_array_count = 0; in init_xtensa_relax_info()
5912 relax_info->allocated_relocs = NULL; in init_xtensa_relax_info()
5913 relax_info->relocs_count = 0; in init_xtensa_relax_info()
5914 relax_info->allocated_relocs_count = 0; in init_xtensa_relax_info()
5966 xtensa_relax_info *relax_info; in add_fix() local
5968 relax_info = get_xtensa_relax_info (src_sec); in add_fix()
5969 fix->next = relax_info->fix_list; in add_fix()
5970 relax_info->fix_list = fix; in add_fix()
5991 xtensa_relax_info *relax_info = get_xtensa_relax_info (sec); in cache_fix_array() local
5993 if (relax_info == NULL) in cache_fix_array()
5995 if (relax_info->fix_list == NULL) in cache_fix_array()
5998 for (r = relax_info->fix_list; r != NULL; r = r->next) in cache_fix_array()
6001 relax_info->fix_array = in cache_fix_array()
6003 relax_info->fix_array_count = count; in cache_fix_array()
6005 r = relax_info->fix_list; in cache_fix_array()
6008 relax_info->fix_array[count - 1 - i] = *r; in cache_fix_array()
6009 relax_info->fix_array[count - 1 - i].next = NULL; in cache_fix_array()
6012 qsort (relax_info->fix_array, relax_info->fix_array_count, in cache_fix_array()
6020 xtensa_relax_info *relax_info = get_xtensa_relax_info (sec); in get_bfd_fix() local
6024 if (relax_info == NULL) in get_bfd_fix()
6026 if (relax_info->fix_list == NULL) in get_bfd_fix()
6029 if (relax_info->fix_array == NULL) in get_bfd_fix()
6034 rv = bsearch (&key, relax_info->fix_array, relax_info->fix_array_count, in get_bfd_fix()
6674 xtensa_relax_info *relax_info; in elf_xtensa_relax_section() local
6693 relax_info = get_xtensa_relax_info (sec); in elf_xtensa_relax_section()
6694 BFD_ASSERT (relax_info != NULL); in elf_xtensa_relax_section()
6696 switch (relax_info->visited) in elf_xtensa_relax_section()
6722 relax_info->visited++; in elf_xtensa_relax_section()
6771 xtensa_relax_info *relax_info; in analyze_relocations() local
6773 relax_info = get_xtensa_relax_info (sec); in analyze_relocations()
6774 if (relax_info->is_relaxable_literal_section in analyze_relocations()
6775 || relax_info->is_relaxable_asm_section) in analyze_relocations()
6777 relax_info->src_relocs = (source_reloc *) in analyze_relocations()
6778 bfd_malloc (relax_info->src_count * sizeof (source_reloc)); in analyze_relocations()
6781 relax_info->src_count = 0; in analyze_relocations()
7236 xtensa_relax_info *relax_info; in compute_text_actions() local
7245 relax_info = get_xtensa_relax_info (sec); in compute_text_actions()
7246 BFD_ASSERT (relax_info); in compute_text_actions()
7247 BFD_ASSERT (relax_info->src_next == relax_info->src_count); in compute_text_actions()
7250 if (!relax_info->is_relaxable_asm_section) in compute_text_actions()
7305 text_action_add (&relax_info->action_list, in compute_text_actions()
7356 text_action_add (&relax_info->action_list, in compute_text_actions()
7363 text_action_add_proposed (&relax_info->action_list, &ebb_table, sec); in compute_text_actions()
7372 if (relax_info->action_list.head) in compute_text_actions()
7373 print_action_list (stderr, &relax_info->action_list); in compute_text_actions()
7878 build_xlate_map (asection *sec, xtensa_relax_info *relax_info) in build_xlate_map() argument
7881 text_action_list *action_list = &relax_info->action_list; in build_xlate_map()
7980 xtensa_relax_info *relax_info; in check_section_ebb_pcrels_fit() local
7982 relax_info = get_xtensa_relax_info (sec); in check_section_ebb_pcrels_fit()
7984 if (relax_info && sec->reloc_count > 100) in check_section_ebb_pcrels_fit()
7986 xmap = build_xlate_map (sec, relax_info); in check_section_ebb_pcrels_fit()
8025 if (relax_info) in check_section_ebb_pcrels_fit()
8028 xlate_offset_with_removed_text (xmap, &relax_info->action_list, in check_section_ebb_pcrels_fit()
8031 xlate_offset_with_removed_text (xmap, &relax_info->action_list, in check_section_ebb_pcrels_fit()
8192 xtensa_relax_info *relax_info; in compute_removed_literals() local
8208 relax_info = get_xtensa_relax_info (sec); in compute_removed_literals()
8209 BFD_ASSERT (relax_info); in compute_removed_literals()
8210 if (!relax_info->is_relaxable_literal_section) in compute_removed_literals()
8225 src_relocs = relax_info->src_relocs; in compute_removed_literals()
8226 qsort (src_relocs, relax_info->src_count, in compute_removed_literals()
8240 for (i = 0; i < relax_info->src_count; i++) in compute_removed_literals()
8272 if (is_removable_literal (rel, i, src_relocs, relax_info->src_count, in compute_removed_literals()
8288 relax_info->src_count - i, rel, in compute_removed_literals()
8299 print_removed_literals (stderr, &relax_info->removed_list); in compute_removed_literals()
8300 print_action_list (stderr, &relax_info->action_list); in compute_removed_literals()
8401 xtensa_relax_info *relax_info; in remove_dead_literal() local
8403 relax_info = get_xtensa_relax_info (sec); in remove_dead_literal()
8404 if (!relax_info) in remove_dead_literal()
8411 add_removed_literal (&relax_info->removed_list, &rel->r_rel, NULL); in remove_dead_literal()
8413 text_action_add (&relax_info->action_list, in remove_dead_literal()
8436 fa = find_fill_action (&relax_info->action_list, sec, entry_sec_offset); in remove_dead_literal()
8442 text_action_add (&relax_info->action_list, in remove_dead_literal()
8478 xtensa_relax_info *relax_info; in identify_literal_placement() local
8485 relax_info = get_xtensa_relax_info (sec); in identify_literal_placement()
8486 if (!relax_info) in identify_literal_placement()
8655 xtensa_relax_info *relax_info; in coalesce_shared_literal() local
8657 relax_info = get_xtensa_relax_info (sec); in coalesce_shared_literal()
8658 if (!relax_info) in coalesce_shared_literal()
8667 add_removed_literal (&relax_info->removed_list, &rel->r_rel, &val_map->loc); in coalesce_shared_literal()
8669 text_action_add (&relax_info->action_list, in coalesce_shared_literal()
8691 fa = find_fill_action (&relax_info->action_list, sec, entry_sec_offset); in coalesce_shared_literal()
8697 text_action_add (&relax_info->action_list, in coalesce_shared_literal()
8722 xtensa_relax_info *relax_info, *target_relax_info; in move_shared_literal() local
8733 relax_info = get_xtensa_relax_info (sec); in move_shared_literal()
8734 if (!relax_info) in move_shared_literal()
8818 add_removed_literal (&relax_info->removed_list, &rel->r_rel, target_loc); in move_shared_literal()
8821 text_action_add (&relax_info->action_list, in move_shared_literal()
8843 fa = find_fill_action (&relax_info->action_list, sec, entry_sec_offset); in move_shared_literal()
8849 text_action_add (&relax_info->action_list, in move_shared_literal()
8867 xtensa_relax_info *relax_info; in relax_section() local
8876 relax_info = get_xtensa_relax_info (sec); in relax_section()
8877 BFD_ASSERT (relax_info); in relax_section()
8885 BFD_ASSERT (!relax_info->is_relaxable_literal_section); in relax_section()
8891 if (!internal_relocs && !relax_info->action_list.head) in relax_section()
8929 if (relax_info->is_relaxable_literal_section in relax_section()
8930 || relax_info->is_relaxable_asm_section) in relax_section()
8935 && find_removed_literal (&relax_info->removed_list, in relax_section()
8943 (&relax_info->action_list, irel->r_offset); in relax_section()
8950 find_insn_action (&relax_info->action_list, in relax_section()
8980 (&relax_info->action_list, irel->r_offset); in relax_section()
9139 if ((relax_info->is_relaxable_literal_section in relax_section()
9140 || relax_info->is_relaxable_asm_section) in relax_section()
9141 && relax_info->action_list.head) in relax_section()
9158 text_action *action = relax_info->action_list.head; in relax_section()
9161 for (action = relax_info->action_list.head; action; in relax_section()
9172 print_action_list (stderr, &relax_info->action_list); in relax_section()
9175 for (action = relax_info->action_list.head; action; in relax_section()
9289 relax_info, &internal_relocs, &action->value)) in relax_section()
9360 xtensa_relax_info *relax_info; in translate_section_fixes() local
9363 relax_info = get_xtensa_relax_info (sec); in translate_section_fixes()
9364 if (!relax_info) in translate_section_fixes()
9367 for (r = relax_info->fix_list; r != NULL; r = r->next) in translate_section_fixes()
9383 xtensa_relax_info *relax_info; in translate_reloc_bfd_fix() local
9393 relax_info = get_xtensa_relax_info (sec); in translate_reloc_bfd_fix()
9394 if (!relax_info) in translate_reloc_bfd_fix()
9403 if (!relax_info->is_relaxable_literal_section in translate_reloc_bfd_fix()
9404 && !relax_info->is_relaxable_asm_section) in translate_reloc_bfd_fix()
9420 removed = find_removed_literal (&relax_info->removed_list, in translate_reloc_bfd_fix()
9437 relax_info = get_xtensa_relax_info (sec); in translate_reloc_bfd_fix()
9438 if (!relax_info || in translate_reloc_bfd_fix()
9439 (!relax_info->is_relaxable_literal_section in translate_reloc_bfd_fix()
9440 && !relax_info->is_relaxable_asm_section)) in translate_reloc_bfd_fix()
9455 new_offset = offset_with_removed_text (&relax_info->action_list, in translate_reloc_bfd_fix()
9471 xtensa_relax_info *relax_info; in translate_reloc() local
9481 relax_info = get_xtensa_relax_info (sec); in translate_reloc()
9482 BFD_ASSERT (relax_info && (relax_info->is_relaxable_literal_section in translate_reloc()
9483 || relax_info->is_relaxable_asm_section)); in translate_reloc()
9492 removed = find_removed_literal (&relax_info->removed_list, in translate_reloc()
9510 relax_info = get_xtensa_relax_info (sec); in translate_reloc()
9511 if (!relax_info in translate_reloc()
9512 || (!relax_info->is_relaxable_literal_section in translate_reloc()
9513 && !relax_info->is_relaxable_asm_section)) in translate_reloc()
9527 act = relax_info->action_list.head; in translate_reloc()
9665 xtensa_relax_info *relax_info, in move_literal() argument
9721 if (*internal_relocs_p != relax_info->allocated_relocs in move_literal()
9722 || sec->reloc_count + 1 > relax_info->allocated_relocs_count) in move_literal()
9724 BFD_ASSERT (relax_info->allocated_relocs == NULL in move_literal()
9725 || sec->reloc_count == relax_info->relocs_count); in move_literal()
9727 if (relax_info->allocated_relocs_count == 0) in move_literal()
9730 new_relocs_count = (relax_info->allocated_relocs_count + 2) * 2; in move_literal()
9750 if (*internal_relocs_p != relax_info->allocated_relocs) in move_literal()
9760 relax_info->allocated_relocs = new_relocs; in move_literal()
9761 relax_info->allocated_relocs_count = new_relocs_count; in move_literal()
9764 relax_info->relocs_count = sec->reloc_count; in move_literal()
9777 if (relax_info->allocated_relocs) in move_literal()
9778 relax_info->relocs_count = sec->reloc_count; in move_literal()
10137 xtensa_relax_info *relax_info; in relax_section_symbols() local
10143 relax_info = get_xtensa_relax_info (sec); in relax_section_symbols()
10144 BFD_ASSERT (relax_info); in relax_section_symbols()
10146 if (!relax_info->is_relaxable_literal_section in relax_section_symbols()
10147 && !relax_info->is_relaxable_asm_section) in relax_section_symbols()
10165 text_action *act = relax_info->action_list.head; in relax_section_symbols()
10190 text_action *act = relax_info->action_list.head; in relax_section_symbols()