#include <stdlib.h>#include <string.h>#include <stdarg.h>#include <stdio.h>#include <fcntl.h>#include <errno.h>#include <elf_abi.h>#include <elf_mips.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/mman.h>#include "ir_prof.h"#include "ir_graph_util.h"

Go to the source code of this file.
Data Types | |
| type | proc_info |
| type | unique_name |
| type | map2unique |
Defines | |
| #define | MALLOC(nbytes) malloc((size_t)(nbytes)) |
| #define | REALLOC(ptr, size) realloc((void *)(ptr), (size_t)(size)) |
| #define | TRUE 1 |
| #define | FALSE 0 |
| #define | EEOF -1 |
| #define | NOT_FOUND -1 |
| #define | FILE_OTHER 0 |
| #define | FILE_EXECUTABLE 1 |
| #define | FILE_RELOCATABLE 2 |
| #define | FILE_ARCHIVE 3 |
| #define | ST_NONE 0 |
| #define | ST_NAME 1 |
| #define | ST_BIND 2 |
| #define | ST_OTHER 3 |
| #define | ST_TYPE 4 |
| #define | ST_SHNDX 5 |
| #define | ELF_TARG_32() (p_elf_header->e_ident[EI_CLASS] == ELFCLASS32) |
| #define | ASSERT(EX, p) if (!(EX)) sysfatal(p) |
| #define | NOT_VISITED 1 |
Functions/Subroutines | |
| void | usage () |
| void | warn (char *const s,...) |
| void | sysfatal (char *const s,...) |
| void | command_line (int argc, char **argv) |
| char * | open_file (char *const objname) |
| void | close_file (char *raw_bits) |
| Elf64_Ehdr * | make_elfheader (char *raw_bits) |
| Elf64_Shdr * | make_sectheader (char *raw_bits) |
| int | is_elf_file (char *raw_bits, char *fname) |
| unsigned | find_section (char *raw_bits, char *name, unsigned type, unsigned type_only) |
| int | verify_counts_file (char *bits, char *fname) |
| void | close_counts_file (char *fname) |
| counts_entry * | open_counts_file (char *fname, long *num_entry, char **count_str) |
| char * | find_and_get_str (ADDR addr, Elf64_Sym *symtab, int symcount, int start, char *strtab) |
| char * | make_name (ADDR addr) |
| char * | get_name (ADDR mem, int idx, Elf64_Sym *symtab, int symcount, int symstart, char *strtab, char *count_strtab) |
| void | put_rec (counts_entry *pc, int idx) |
| int | c_cmp (counts_entry *p1, counts_entry *p2) |
| int | add_unique_name (char *name, ADDR a, unique_name *pun, int size) |
| int | pr_dyn_count (EINDEX idx, long num_entry) |
| ADDR | get_proc_size () |
| void | pr_vertex_name (int idx) |
| void | pr_count (long *p) |
| void | build_call_graph (counts_entry *pc, long num_entry, Elf64_Sym *symtab, int symcount, int symstart, char *strtab, char *count_strtab) |
| void | process_counts (char *fname, Elf64_Sym *symtab, int symcount, int symstart, char *strtab) |
| Elf64_Sym * | make_symtab64 (char *orig, int count) |
| void | get_dynamic_rec (int index, char *dynamic, Elf64_Dyn *dyn) |
| ADDR | get_proc_size (char *name) |
| void | put_proc_name (char *sect_name, ADDR size) |
| main (int argc, char **argv) | |
Variables | |
| char * | raw_bits |
| struct stat | statb |
| int | fd_counts |
| int | fd |
| static char * | infile = NULL |
| static char * | tool_name = NULL |
| static char * | sect_name = NULL |
| static int | dump_flag = 0 |
| static int | callgraph_flag = 0 |
| static int | sort_flag = 0 |
| static int | verbose_flag = 0 |
| static void * | dummy |
| static int | num_argc = 0 |
| static unsigned | warn_flag = FALSE |
| static unsigned | sect_index = 0 |
| static unsigned | targ32_flag = 0 |
| static counts_entry * | carray |
| static proc_info * | parray |
| static int | num_proc |
| Elf64_Ehdr * | p_elf_header |
| Elf64_Shdr * | p_sect_header |
| __uint64_t | g_text_start |
| __uint64_t | g_text_end |
| __uint64_t | g_text_size |
| __uint64_t | g_textlo_index |
| static unique_name * | pun |
| static map2unique * | c |
| static char | ptmp [] = " (???)" |
Definition at line 117 of file ir_prof_digest.c.
| #define EEOF -1 |
| #define ELF_TARG_32 | ( | ) | (p_elf_header->e_ident[EI_CLASS] == ELFCLASS32) |
Definition at line 115 of file ir_prof_digest.c.
Referenced by get_dynamic_rec(), and make_symtab64().
| #define FALSE 0 |
Definition at line 67 of file ir_prof_digest.c.
| #define FILE_ARCHIVE 3 |
Definition at line 74 of file ir_prof_digest.c.
| #define FILE_EXECUTABLE 1 |
| #define FILE_OTHER 0 |
| #define FILE_RELOCATABLE 2 |
Definition at line 73 of file ir_prof_digest.c.
| #define MALLOC | ( | nbytes | ) | malloc((size_t)(nbytes)) |
Definition at line 56 of file ir_prof_digest.c.
| #define NOT_FOUND -1 |
Definition at line 69 of file ir_prof_digest.c.
| #define NOT_VISITED 1 |
Referenced by process_counts().
Definition at line 59 of file ir_prof_digest.c.
| #define ST_BIND 2 |
Definition at line 78 of file ir_prof_digest.c.
| #define ST_NAME 1 |
Definition at line 77 of file ir_prof_digest.c.
| #define ST_NONE 0 |
Definition at line 76 of file ir_prof_digest.c.
| #define ST_OTHER 3 |
Definition at line 79 of file ir_prof_digest.c.
| #define ST_SHNDX 5 |
Definition at line 81 of file ir_prof_digest.c.
| #define ST_TYPE 4 |
Definition at line 80 of file ir_prof_digest.c.
| #define TRUE 1 |
Definition at line 66 of file ir_prof_digest.c.
| int add_unique_name | ( | char * | name, | |
| ADDR | a, | |||
| unique_name * | pun, | |||
| int | size | |||
| ) |
Definition at line 590 of file ir_prof_digest.c.
References unique_name::a, ASSERT, i, MALLOC, unique_name::name, NOT_FOUND, p, strcmp(), strcpy, and strlen().
Referenced by build_call_graph().
| void build_call_graph | ( | counts_entry * | pc, | |
| long | num_entry, | |||
| Elf64_Sym * | symtab, | |||
| int | symcount, | |||
| int | symstart, | |||
| char * | strtab, | |||
| char * | count_strtab | |||
| ) |
Definition at line 665 of file ir_prof_digest.c.
References add_edge(), add_unique_name(), add_vertex(), ASSERT, build_graph_u(), callee, map2unique::callee, map2unique::caller, caller, count, d, DEF_EDGE_SIZE, DEF_VERTEX_SIZE, Depth_First_Ordering(), map2unique::edge_idx, get_name(), GRAPH_root, i, idx, unique_name::idx, INVALID_VINDEX, MALLOC, NOT_FOUND, pr_count(), pr_dyn_count(), pr_vertex_name(), Print_DFN(), printf(), set_edge_u(), and strcmp().
Referenced by process_counts().
| int c_cmp | ( | counts_entry * | p1, | |
| counts_entry * | p2 | |||
| ) |
Definition at line 562 of file ir_prof_digest.c.
References counts_entry::count.
Referenced by process_counts().
| void close_counts_file | ( | char * | fname | ) |
Definition at line 448 of file ir_prof_digest.c.
References close, and fd_counts.
Referenced by main().
| void close_file | ( | char * | raw_bits | ) |
Definition at line 252 of file ir_prof_digest.c.
References close, fd, free(), long, munmap(), p_sect_header, stat::st_size, and statb.
| void command_line | ( | int | argc, | |
| char ** | argv | |||
| ) |
Definition at line 177 of file ir_prof_digest.c.
References callgraph_flag, dump_flag, exit(), index(), NULL, num_argc, sort_flag, strcmp(), usage(), and verbose_flag.
| char* find_and_get_str | ( | ADDR | addr, | |
| Elf64_Sym * | symtab, | |||
| int | symcount, | |||
| int | start, | |||
| char * | strtab | |||
| ) |
| unsigned find_section | ( | char * | raw_bits, | |
| char * | name, | |||
| unsigned | type, | |||
| unsigned | type_only | |||
| ) |
Definition at line 394 of file ir_prof_digest.c.
References Elf64_Ehdr::e_shnum, Elf64_Ehdr::e_shstrndx, i, offset, p_sect_header, and strcmp().
Referenced by main().
| void get_dynamic_rec | ( | int | index, | |
| char * | dynamic, | |||
| Elf64_Dyn * | dyn | |||
| ) |
Definition at line 843 of file ir_prof_digest.c.
References Elf32_Dyn::d_tag, Elf32_Dyn::d_un, Elf32_Dyn::d_val, ELF_TARG_32, and p.
Referenced by main().
| char* get_name | ( | ADDR | mem, | |
| int | idx, | |||
| Elf64_Sym * | symtab, | |||
| int | symcount, | |||
| int | symstart, | |||
| char * | strtab, | |||
| char * | count_strtab | |||
| ) |
| ADDR get_proc_size | ( | char * | name | ) |
| ADDR get_proc_size | ( | ) |
Referenced by pr_vertex_name().
| int is_elf_file | ( | char * | raw_bits, | |
| char * | fname | |||
| ) |
Definition at line 371 of file ir_prof_digest.c.
References Elf32_Ehdr::e_ident, Elf32_Ehdr::e_type, EI_CLASS, EI_MAG0, EI_MAG1, EI_MAG2, EI_MAG3, ELFCLASS32, ELFMAG0, ELFMAG1, ELFMAG2, ELFMAG3, ET_REL, FALSE, FILE_EXECUTABLE, ret, sysfatal(), and targ32_flag.
Referenced by main().
| main | ( | int argc | , | |
| char ** | argv | |||
| ) |
Definition at line 896 of file ir_prof_digest.c.
References ASSERT, close_counts_file(), command_line, DT_MIPS_GOTSYM, DT_NULL, dynamic, Elf64_Ehdr::e_shnum, Elf64_Ehdr::e_shstrndx, exit(), FALSE, FILE_OTHER, find_section(), get_dynamic_rec(), i, index(), is_elf_file(), make_elfheader(), make_sectheader(), make_symtab64(), MALLOC, num_argc, open_file(), p_sect_header, process_counts(), put_proc_name(), raw_bits, SHT_DYNAMIC, SHT_DYNSYM, SHT_PROGBITS, SHT_STRTAB, start, sysfatal(), tool_name, usage(), and verbose_flag.
| Elf64_Ehdr* make_elfheader | ( | char * | raw_bits | ) |
Definition at line 273 of file ir_prof_digest.c.
References Elf32_Ehdr::e_ehsize, Elf64_Ehdr::e_ehsize, Elf64_Ehdr::e_entry, Elf32_Ehdr::e_entry, Elf64_Ehdr::e_flags, Elf32_Ehdr::e_flags, Elf32_Ehdr::e_ident, Elf64_Ehdr::e_ident, Elf32_Ehdr::e_machine, Elf64_Ehdr::e_machine, Elf64_Ehdr::e_phentsize, Elf32_Ehdr::e_phentsize, Elf32_Ehdr::e_phnum, Elf64_Ehdr::e_phnum, Elf64_Ehdr::e_phoff, Elf32_Ehdr::e_phoff, Elf64_Ehdr::e_shentsize, Elf32_Ehdr::e_shentsize, Elf64_Ehdr::e_shnum, Elf32_Ehdr::e_shnum, Elf32_Ehdr::e_shoff, Elf64_Ehdr::e_shoff, Elf64_Ehdr::e_shstrndx, Elf32_Ehdr::e_shstrndx, Elf64_Ehdr::e_type, Elf32_Ehdr::e_type, Elf64_Ehdr::e_version, Elf32_Ehdr::e_version, EI_CLASS, EI_NIDENT, ELFCLASS32, i, malloc, memcpy, sysfatal(), and targ32_flag.
Referenced by main().
| char* make_name | ( | ADDR | addr | ) |
Definition at line 521 of file ir_prof_digest.c.
References ASSERT, MALLOC, sprintf(), and tmp.
Referenced by get_name().
| Elf64_Shdr* make_sectheader | ( | char * | raw_bits | ) |
Definition at line 320 of file ir_prof_digest.c.
References Elf64_Ehdr::e_shnum, Elf32_Ehdr::e_shnum, Elf32_Ehdr::e_shoff, Elf64_Ehdr::e_shoff, i, malloc, memcpy, Elf32_Shdr::sh_addr, Elf32_Shdr::sh_addralign, Elf32_Shdr::sh_entsize, Elf32_Shdr::sh_flags, Elf32_Shdr::sh_info, Elf32_Shdr::sh_link, Elf32_Shdr::sh_offset, Elf32_Shdr::sh_size, Elf32_Shdr::sh_type, sysfatal(), and targ32_flag.
Referenced by main().
| Elf64_Sym* make_symtab64 | ( | char * | orig, | |
| int | count | |||
| ) |
Definition at line 816 of file ir_prof_digest.c.
References ASSERT, ELF_TARG_32, i, MALLOC, Elf32_Sym::st_info, Elf32_Sym::st_other, Elf32_Sym::st_shndx, Elf32_Sym::st_size, and Elf32_Sym::st_value.
Referenced by main().
| counts_entry* open_counts_file | ( | char * | fname, | |
| long * | num_entry, | |||
| char ** | count_str | |||
| ) |
Definition at line 455 of file ir_prof_digest.c.
References ASSERT, fd_counts, fstat, MALLOC, mmap(), open, read, stat::st_size, statb, sysfatal(), and verify_counts_file().
Referenced by process_counts().
| char* open_file | ( | char *const | objname | ) |
Definition at line 221 of file ir_prof_digest.c.
References fd, fstat, malloc, mmap(), O_RDWR, open, raw_bits, read, stat::st_size, and statb.
Referenced by _cpp_read_file(), _cpp_save_file_entries(), find_file_in_dir(), find_include_file(), main(), read_file(), search_path_exhausted(), and validate_pch().
Definition at line 658 of file ir_prof_digest.c.
References printf().
Referenced by build_call_graph(), IPA_LNO_Read_Sections(), Projected_Region_To_Memory(), and PU_has_messy_regions().
Definition at line 613 of file ir_prof_digest.c.
References unique_name::a, ADDR, ASSERT, callee, map2unique::callee, map2unique::caller, caller, and i.
Referenced by build_call_graph().
| void pr_vertex_name | ( | int | idx | ) |
Definition at line 639 of file ir_prof_digest.c.
References ADDR, get_proc_size(), printf(), ptmp, s, and verbose_flag.
Referenced by build_call_graph().
| void process_counts | ( | char * | fname, | |
| Elf64_Sym * | symtab, | |||
| int | symcount, | |||
| int | symstart, | |||
| char * | strtab | |||
| ) |
Definition at line 735 of file ir_prof_digest.c.
References ASSERT, build_call_graph(), c_cmp(), callee, caller, callgraph_flag, calloc(), count, counts_entry::count, dump_flag, get_name(), i, MALLOC, memset, NOT_VISITED, open_counts_file(), pc, printf(), put_rec(), qsort(), sort_flag, strlen(), and verbose_flag.
Referenced by main().
Definition at line 877 of file ir_prof_digest.c.
References proc_info::name, num_proc, proc_info::size, strlen(), and strncmp().
Referenced by main().
| void put_rec | ( | counts_entry * | pc, | |
| int | idx | |||
| ) |
Definition at line 550 of file ir_prof_digest.c.
References ASSERT, counts_entry::callee, counts_entry::callee_name_idx, counts_entry::caller, counts_entry::caller_name_idx, and counts_entry::count.
Referenced by process_counts().
| void sysfatal | ( | char *const | s, | |
| ... | ||||
| ) |
Definition at line 146 of file ir_prof_digest.c.
References _doprnt(), EEOF, err_str, errno, exit(), fprintf(), fputs(), stream, strerror(), tool_name, and va_start.
Referenced by is_elf_file(), main(), make_elfheader(), make_sectheader(), open_counts_file(), and verify_counts_file().
| int verify_counts_file | ( | char * | bits, | |
| char * | fname | |||
| ) |
Definition at line 424 of file ir_prof_digest.c.
References Counts_hdr::c_entry, Counts_hdr::c_ident, C_VERSION, Counts_hdr::c_version, COUNTSMAG0, COUNTSMAG1, COUNTSMAG2, COUNTSMAG3, COUNTSMAG4, COUNTSMAG5, COUNTSMAG6, COUNTSMAG7, p, and sysfatal().
Referenced by open_counts_file().
| void warn | ( | char *const | s, | |
| ... | ||||
| ) |
map2unique* c [static] |
Definition at line 584 of file ir_prof_digest.c.
Referenced by __cdiv(), __j0(), __j1(), __mulsi3(), __read_gcov_type(), __read_long(), __write_gcov_string(), __write_gcov_type(), __write_long(), __y0(), __y1(), __zdiv(), _bfd_count_link_order_relocs(), _bfd_ecoff_bfd_copy_private_bfd_data(), _bfd_ecoff_sizeof_headers(), _bfd_ecoff_write_object_contents(), _bfd_elf_print_private_bfd_data(), _bfd_generic_link_add_one_symbol(), _bfd_mips_elf_final_link(), _bfd_mips_elf_modify_segment_map(), _bfd_mips_elf_set_section_contents(), _bfd_xcoff_canonicalize_dynamic_symtab(), _bfd_xcoff_slurp_armap(), _Cif_binread(), _cnvrt_toupper(), _cpp_clean_line(), _cpp_scan_out_logical_line(), _cpp_skip_block_comment(), _cpp_valid_ucn(), MAT< T >::_expand(), _FRN(), _g_complx(), _get_holl(), _get_quoholl(), _getname(), _getnlval(), _getopt_internal(), _gocthex(), _indx_nl(), _nexdata(), _nlrdent(), _nlread(), _rnl90to77(), _Skip_Whitespace(), LINEX::Add_access(), Add_Access(), LOOPINFO::Add_bound(), Add_Bound(), add_constant(), add_constraint(), Add_Edges_For_Node(), add_keepsyms_file(), add_path(), add_substitution(), SYSTEM_OF_EQUATIONS::Add_Work_Le_Non_Simple_Redundant(), adjust_field_rtx_def(), afgets(), alloc_conversion(), alpha_expand_block_clear(), alpha_expand_block_move(), alter_predicate_for_insn(), alternative_allows_memconst(), ancestor_is_function(), ancestor_is_loop(), ancestor_is_switch(), ar_divide_complex(), ar_multiply_complex(), argument_info_ptr(), argument_name_ptr(), arm_arm_address_cost(), arm_thumb_address_cost(), ascii_c_entry(), ascii_c_entry_end(), ascii_c_lint_directive(), ascii_c_macro_def(), ascii_c_message(), ascii_c_object(), ascii_c_opts(), ascii_c_tag(), ascii_cc_entry(), ascii_cc_enum(), ascii_cc_obj(), ascii_cc_type(), ascii_cdir_doshared(), ascii_comblk(), ascii_const(), ascii_continuation(), ascii_endunit(), ascii_entry(), ascii_f90_callsite(), ascii_f90_comblk(), ascii_f90_const(), ascii_f90_derived_type(), ascii_f90_entry(), ascii_f90_int_block(), ascii_f90_label(), ascii_f90_misc_opts(), ascii_f90_namelist(), ascii_f90_object(), ascii_f90_rename(), ascii_file(), ascii_geometry(), ascii_label(), ascii_message(), ascii_misc_opts(), ascii_namelist(), ascii_object(), ascii_orig_cmd(), ascii_unit(), ascii_usage(), asm_declare_function_name(), asm_fprintf(), asm_operand_ok(), asmname(), Atoi_KMG(), avoid_constant_pool_reference(), bfd_decode_symclass(), bfd_ecoff_debug_externals(), bfd_hash_lookup(), bfd_xcoff_import_symbol(), bitmap_equal_p(), break_precolored_alias(), build_ambiguous_conv(), build_constraint_graph(), build_constructor(), build_identity_conv(), build_insn_chain(), build_mask64_2_operands(), build_post_landing_pads(), builtin_memset_read_str(), c_a_to_q(), c_finish_omp_clauses(), c_lex_with_flags(), c_parser_omp_clause_default(), c_parser_omp_clause_if(), c_parser_omp_clause_nowait(), c_parser_omp_clause_num_threads(), c_parser_omp_clause_ordered(), c_parser_omp_clause_reduction(), c_parser_omp_clause_schedule(), c_parser_postfix_expression(), c_q_div(), c_q_sqrt(), c_readstr(), cal_rch(), cal_rwd(), cal_wch(), calc_wider_mode(), can_completely_scalarize_p(), CANON_EXPR::Canon_expr(), canonicalize_reloc(), catmsgfmt(), LU_MAT< T >::Cfactor_And_Insert(), check_asm_operands(), check_colors(), check_earlyclobber(), check_eol_return_comments(), check_function_format(), check_no_duplicate_clause(), check_protection(), choose_abi_by_name(), choose_arch_by_name(), choose_arch_by_number(), choose_spill_colors(), Cif_Putrecord(), clear_edges_for_node(), coff_write_alien_symbol(), collect_expansion(), collect_one_action_chain(), colorize_one_web(), SYSTEM_OF_EQUATIONS::Complement_Le(), Compute_BR_Prob_From_Hint(), compute_dominance_frontiers_1(), Compute_Footprint(), KEY_SCH::Compute_Kmin(), COND_Do_Info(), COND_If_Info(), cond_move_process_if_block(), condense_varmap_nodes(), constrain_operands(), constraint_set_union(), control_dependent_block_to_edge_map_create(), convert_escape(), convert_hex(), convert_oct(), DEPV_COMPUTE::Copy_Call_Ref_To_Work(), DEPV_COMPUTE::Copy_Call_To_Work(), copy_comment(), cover_insn(), cp_parser_omp_clause_default(), cp_parser_omp_clause_if(), cp_parser_omp_clause_nowait(), cp_parser_omp_clause_num_threads(), cp_parser_omp_clause_ordered(), cp_parser_omp_clause_reduction(), cp_parser_omp_clause_schedule(), cpp_classify_number(), cpp_interpret_integer(), cpp_quote_string(), ctoc(), ctoi(), ctor(), currently_open_class(), cwh_auxst_add_item(), cwh_auxst_find_dummy_len(), cwh_stab_adjust_name(), cwh_stk_count_STRs(), MAT< T >::D_Identity(), d_print_comp(), d_print_java_identifier(), d_special_name(), d_substitution(), MAT< T >::D_Zero(), dbg_tokens(), decide_block_copy(), decide_instantiation_1(), decNumberFromString(), decode_d_option(), decToString(), delete_caller_save_insns(), delete_if_ordinary(), dequote_string(), determine_parallel_type(), discard_comments(), DMAT_to_IMAT(), do_deref(), do_spec_1(), dump_cand_trees(), dump_constants(), dump_constraints(), dump_decl_name(), dump_file(), dump_value_range(), dumpimp(), dw2_asm_output_nstring(), elf_link_add_archive_symbols(), Eliminate_Dead_Do(), Eliminate_Dead_If(), emit_class_narrowest_mode(), Emit_Definitions(), emit_insn_modes_h(), emit_mode_base_align(), emit_mode_class(), emit_mode_inner(), emit_mode_mask(), emit_mode_name(), emit_mode_nunits(), emit_mode_precision(), emit_mode_size(), emit_mode_wider(), emit_numeric_escape(), ARRAY_REF::Enter_Scalar_Expand(), SNL_BOUNDS_INFO::Exclude_Outer_Loops(), expand_builtin_expect(), expand_builtin_memset(), expand_builtin_pow(), expand_builtin_strchr(), expand_builtin_strrchr(), Expand_Constant_Multiply(), expand_parallel_call(), expand_start_catch(), Extract_Complex_Imag(), Extract_Complex_Real(), Extract_Quad_Hi(), Extract_Quad_Lo(), extract_string(), f_clos_com(), f_open_com(), fatal_with_file_and_line(), ffebad_finish(), ffebld_constant_new_character1_val(), ffebld_constant_new_complex1_val(), ffebld_constant_new_complex2_val(), ffebld_constant_new_hollerith_val(), ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_logical1_val(), ffebld_constant_new_logical2_val(), ffebld_constant_new_logical3_val(), ffebld_constant_new_logical4_val(), ffebld_constant_new_real1_val(), ffebld_constant_new_real2_val(), ffebld_constant_new_typeless_val(), ffecom_2(), ffeexpr_nil_apos_char_(), ffeexpr_token_apos_char_(), ffeexpr_token_name_apos_name_(), ffeimplic_establish_symbol(), ffeimplic_init_2(), ffeimplic_peek_symbol_type(), ffeintrin_check_(), ffeintrin_init_0(), ffelex_cfebackslash_(), ffelex_file_fixed(), ffelex_file_free(), ffelex_get_directive_line_(), ffelex_getc_(), ffelex_hash_(), ffelex_hash_kludge(), ffesrc_strcmp_1ns2i(), ffesrc_strcmp_2c(), ffesrc_strncmp_2c(), ffestc_establish_impletter_(), ffestc_R810(), ffestc_shriek_select_(), ffestc_subr_binsrch_(), ffestc_subr_speccmp_(), ffeste_R810(), ffesymbol_check(), ffesymbol_resolve_intrin(), ffetarget_integer1(), ffetarget_integerbinary(), ffetarget_integerhex(), ffetarget_integeroctal(), ffetarget_num_digits_(), ffetarget_typeless_binary(), ffetarget_typeless_hex(), ffetarget_typeless_octal(), filltype(), find_escape_constraints(), find_func_aliases(), find_global_initializers(), find_matches(), find_reloads(), find_string_ent(), finish_omp_clauses(), fixup_fallthru_exit_predecessor(), FMAT_to_IMAT(), fnmatch(), fold(), fold_binary(), fold_builtin_exponent(), fold_builtin_memset(), fold_builtin_pow(), fold_builtin_powi(), fold_builtin_signbit(), fold_builtin_strchr(), fold_builtin_strrchr(), fold_const_aggregate_ref(), fold_mathfn_compare(), force_reg(), format_write(), fr30_cgen_build_insn_regex(), frv_asm_output_opcode(), frv_cgen_build_insn_regex(), frv_expand_fdpic_call(), g_complx(), g_octhex(), gas(), gen_cdabs(), gen_cdexp(), gen_cdlog(), gen_cdsqrt(), gen_cdtocd(), gen_cdtoi(), gen_eh_region_catch(), gen_selrk(), Generate_Asm_String(), generate_copy_inout(), generate_element_zero(), get_biased_reg(), get_charset_aliases(), get_constraint_for(), get_free_reg(), get_gcc_version(), get_holl(), get_line(), Get_Numeric_Flag(), get_opc_prefix(), get_prefix_len(), get_quoholl(), SWP_REG_ASSIGNMENT::Get_Register_TN(), get_section_entry(), get_token(), KEY_SCH::GetLine(), getline(), gimplify_adjust_omp_clauses(), gimplify_scan_omp_clauses(), gt_num(), GTY(), handle_asm_insn(), handle_directive(), handle_innerclass_attribute(), handle_OPT_d(), handle_ptr_arith(), hard_regs_intersect_p(), hardregset_to_string(), hash_c_test(), hash_string(), HB_Trace_Candidates(), Host_To_Targ(), Host_To_Targ_Complex(), Host_To_Targ_Complex_10(), Host_To_Targ_Complex_4(), Host_To_Targ_Complex_Quad(), Host_To_Targ_Float(), Host_To_Targ_Float_10(), Host_To_Targ_Float_4(), Host_To_Targ_Quad(), Host_To_Targ_String(), Host_To_Targ_UV(), htab_hash_string(), i370_elf_size_dynamic_sections(), ia64_dependencies_evaluation_hook(), ia64_dfa_new_cycle(), ia64_ld_address_bypass_p(), ia64_print_operand(), ihex_get_byte(), ihex_read_section(), ihex_scan(), IMAT_to_DMAT(), IMAT_to_FMAT(), VECTOR_SPACE< T >::In(), includes_rldic_lshift_p(), includes_rldicr_lshift_p(), init_md_reader(), init_md_reader_args(), init_md_reader_args_cb(), init_reg_sets_1(), init_syntax_once(), RG::Insert(), insert_gclist(), Insert_Parent(), insert_string(), integer_valued_real_p(), internal(), LU_MAT< T >::Inv(), ip2k_cgen_build_insn_regex(), ip2k_gen_unsigned_comp_branch(), IPA_WN_Move_Maps_PU(), iq2000_cgen_build_insn_regex(), iq2000_output_conditional_branch(), is_integral_type(), iterative_hash(), java_get_line_col(), java_get_unicode(), java_lex(), java_parse_escape_sequence(), java_push_constant_from_pool(), java_read_char(), java_read_unicode(), java_read_unicode_collapsing_terminators(), kill_bogus_lines(), LU_MAT< T >::L_Mul(), l_R(), l_R16(), lambda_matrix_inverse(), lang_record_phdrs(), ldctor_build_sets(), SYSTEM_OF_EQUATIONS::Leftmost_Non_Zero_Le(), linux_gt_pch_get_address(), llist(), load_class(), load_specs(), lower_bit_field_id(), lower_copyprivate_clauses(), lower_lastprivate_clauses(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_rsqrt(), lower_send_clauses(), LU_MAT< T >::LU_MAT(), m32r_cgen_build_insn_regex(), macarg(), macroexpand(), main(), Make_Complex(), make_complex_modes(), make_temp_file(), mark_no_warning(), mask64_1or2_operand(), mask64_operand(), mask_operand(), mask_operand_wrap(), INDX_RANGE::Maxsize(), maybe_both_true_2(), maybe_fix_stack_asms(), MDhash(), DF_PRINT::Meet(), IPAA_DF_SOLVER::Meet_direct_iter_1(), LINEX::Merge(), merge_graph_nodes(), mips_output_ascii(), mips_output_conditional_branch(), mmo_canonicalize_symtab(), mmo_get_symbols(), Mono(), n_getn(), n_indx(), name_needs_quotes(), narrow_str_to_charconst(), new_insn_chain(), new_omp_context(), nex_data(), noce_try_abs(), noce_try_sign_mask(), num_ones(), number_of_iterations_ne(), obstack_fgets(), one_utf8_to_cppchar(), openrisc_cgen_build_insn_regex(), MAT< T >::operator*(), MAT< T >::operator*=(), MAT< T >::operator+(), MAT< T >::operator+=(), MAT< T >::operator-(), MAT< T >::operator-=(), output_ascii(), output_ascii_pseudo_op(), output_asm_insn(), output_gcov_string(), output_quoted_string(), outputdots(), ozcvt(), PARAMS(), parse_args(), parse_fn_proto(), parse_resource_users(), parse_slow(), parse_string(), partition_print(), pop_gimplify_context(), preprocess_constraints(), LU_MAT< T >::Print(), Print_AUX_ST_flags(), print_base_classname(), print_cxx_classname(), print_decl_name(), print_insn_arm(), print_insn_thumb(), print_namelet(), print_operand(), print_value(), process_args(), process_command(), Process_Command_Line(), process_include(), process_node(), push_gimplify_context(), quote_shell_arg(), quoted_length(), rcabs(), rd_I(), rd_OZ(), reachable_next_level(), read_braced_string(), read_conditions(), read_constants(), read_escape(), read_mapping(), read_name(), read_quoted_string(), read_repo_file(), read_rtx(), read_rtx_1(), read_rtx_variadic(), read_skip_spaces(), read_string(), Read_VS(), record_reg_classes(), Redundant_Condition(), reg_classes_intersect_p(), reload_cse_simplify_operands(), remove_last_token(), remove_phi_alternative(), Remove_Trailing_Blanks(), remove_unreachable_regions(), rename_block(), replace_label(), requires_inout(), rescan(), resolve_asm_operand_names(), resolve_operand_name_1(), resolve_operand_names(), Rewrite_Bounds(), RNL(), rs6000_emit_minmax(), rtl_tidy_fallthru_edge(), s390_add_constant(), s390_add_execute(), s390_add_pool(), s390_dump_execute(), s390_dump_pool(), s390_find_constant(), s390_find_execute(), s390_free_pool(), s390_mem_constraint(), safe_concat(), scan_dump(), scan_out_logical_line(), scan_sharing_clauses(), scan_string(), score_reg_class(), sec_merge_hash_lookup(), set_type_package_list(), sh_insn_length_adjustment(), shift_output_template(), SIMP_Flt_ConstVal(), DEPV_COMPUTE::Simple_Gcd_Indep(), simplify_relational_operation_1(), skip_block_comment(), skip_line_comment(), skip_old_ii_controls(), skip_old_rii_controls(), skip_quoted_string(), skip_white_and_stars(), skip_whitespace(), SNL_Change_Reduction_Loop_Stmts(), solve_graph(), SYSTEM_OF_EQUATIONS::Sort_Le(), spill_is_free(), splay_tree_splay(), splice_viable(), srec_canonicalize_symtab(), srec_get_byte(), srec_read_section(), srec_scan(), stricpy(), string_hash(), strlist(), strtol(), strtoul(), strtoul_for_line(), substr(), LINEX::Subtract(), sum_instantiated_sizes(), SWP_Bundle(), symbolic_operand(), Targ_Atoc(), Targ_Hexfptoc(), Targ_WhirlOp(), TB_getline(), tekhex_canonicalize_symtab(), tidy_fallthru_edges(), to_upper(), topo_visit(), WGEN_TRACE::trace_gs(), MAT< T >::Trans(), translate_options(), tree_if_convert_cond_expr(), tree_verify_flow_info(), try_constant_tricks(), try_optimize_cfg(), try_recolor_web(), LU_MAT< T >::TUnfactor(), TY2C_Prepend_Alignment_Type(), LU_MAT< T >::U_Solve(), update_bb_profile_for_threading(), update_instantiation_info_file(), update_spill_colors(), update_ssa(), uw_install_context_1(), validate_insn_alternatives(), validate_pattern(), validate_switches_from_spec(), vax_rtx_cost(), VEC(), verify_ctree(), VPARAMS(), WFE_handle_non_pods(), WGEN_handle_non_pods(), wide_str_to_charconst(), WNL(), write_constraint_satisfied_p(), write_enum_constraint_num(), write_insn_const_int_ok_for_constraint(), write_insn_constraint_len(), write_insn_extra_address_constraint(), write_insn_extra_memory_constraint(), write_integer_cst(), write_lookup_constraint(), write_regclass_for_constraint(), write_switch(), write_tm_constrs_h(), xcoff64_slurp_armap(), xcoff_link_add_dynamic_symbols(), xstormy16_cgen_build_insn_regex(), xstormy16_expand_builtin(), and SYSTEM_OF_EQUATIONS::Zero_Row_Le().
int callgraph_flag = 0 [static] |
counts_entry* carray [static] |
Definition at line 97 of file ir_prof_digest.c.
Definition at line 91 of file ir_prof_digest.c.
int dump_flag = 0 [static] |
Definition at line 87 of file ir_prof_digest.c.
Referenced by command_line(), cp_dump_tree(), dequeue_and_dump(), and process_counts().
| int fd |
Definition at line 64 of file ir_prof_digest.c.
| int fd_counts |
Definition at line 64 of file ir_prof_digest.c.
Definition at line 111 of file ir_prof_digest.c.
Definition at line 112 of file ir_prof_digest.c.
Definition at line 110 of file ir_prof_digest.c.
Definition at line 113 of file ir_prof_digest.c.
char* infile = NULL [static] |
Definition at line 84 of file ir_prof_digest.c.
int num_argc = 0 [static] |
int num_proc [static] |
Definition at line 105 of file ir_prof_digest.c.
Referenced by get_proc_size(), IPA_add_new_procedure(), and put_proc_name().
Definition at line 107 of file ir_prof_digest.c.
| Elf64_Shdr* p_sect_header |
Definition at line 108 of file ir_prof_digest.c.
Referenced by close_file(), find_section(), and main().
Definition at line 104 of file ir_prof_digest.c.
Referenced by update_projected_region(), and vho_lower_icall().
char ptmp[] = " (???)" [static] |
Definition at line 636 of file ir_prof_digest.c.
Referenced by Dump_points_to_list(), Dump_preg_list(), pr_vertex_name(), REGION_BOUND::Propagate_boundary_up(), REGION_add_preg_in(), REGION_add_preg_out(), REGION_remove_preg(), REGION_search_preg_set(), and REGION_search_set().
unique_name* pun [static] |
| char* raw_bits |
Definition at line 62 of file ir_prof_digest.c.
Referenced by check_for_whirl(), main(), and open_file().
unsigned sect_index = 0 [static] |
Definition at line 95 of file ir_prof_digest.c.
char* sect_name = NULL [static] |
Definition at line 86 of file ir_prof_digest.c.
int sort_flag = 0 [static] |
Definition at line 63 of file ir_prof_digest.c.
Referenced by close_file(), open_counts_file(), and open_file().
unsigned targ32_flag = 0 [static] |
Definition at line 96 of file ir_prof_digest.c.
Referenced by is_elf_file(), make_elfheader(), and make_sectheader().
char* tool_name = NULL [static] |
Definition at line 85 of file ir_prof_digest.c.
Referenced by main(), sysfatal(), usage(), and warn().
int verbose_flag = 0 [static] |
Definition at line 90 of file ir_prof_digest.c.
Referenced by command_line(), delete_if_ordinary(), display_help(), execute(), init_spec(), load_specs(), main(), pr_vertex_name(), process_command(), process_counts(), read_specs(), and set_spec().
unsigned warn_flag = FALSE [static] |
1.5.6