Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <alloca.h>
#include <signal.h>
#include <string.h>
#include <errno.h>
#include <elf.h>
#include <sys/elf_whirl.h>
#include <cmplrs/rcodes.h>
#include "x_stdlib.h"
#include "defs.h"
#include "alignof.h"
#include "erglob.h"
#include "errors.h"
#include "opcode.h"
#include "mempool.h"
#include "strtab.h"
#include "symtab.h"
#include "const.h"
#include "targ_const.h"
#include "irbdata.h"
#include "config_targ.h"
#include "config_elf_targ.h"
#include "wn_core.h"
#include "wn.h"
#include "wn_map.h"
#include "dwarf_DST_mem.h"
#include "pu_info.h"
#include "ir_elf.h"
#include "ir_bwrite.h"
#include "ir_bcom.h"
#include "ir_bread.h"
#include "tracing.h"
#include "glob.h"
#include "pf_cg.h"
#include "instr_reader.h"
#include "fb_whirl.h"
Go to the source code of this file.
Defines | |
#define | USE_STANDARD_TYPES /* override unwanted defines in "defs.h" */ |
#define | MMAP(addr, len, prot, flags, fd, off) |
#define | MUNMAP(addr, len) munmap((char *)(addr), (size_t)(len)) |
#define | OPEN(path, flag, mode) open((const char *)(path), (int)(flag), (mode_t)(mode)) |
#define | MAPPED_SIZE 0x400000 |
#define | DEFAULT_NUM_OF_SECTIONS 8 |
#define | DEFAULT_TMPDIR "/usr/tmp" |
#define | DEFAULT_TEMPLATE "/elf_wnXXXXXX" |
#define | PF_PTR_ADDR(offset) ((PF_POINTER *)(fl->map_addr + (offset))) |
Typedefs | |
typedef void(* | SIG_HANDLER )(int) |
Functions | |
void * | C_Dep_Graph (void) |
void | Depgraph_Write (void *depgraph, Output_File *fl, WN_MAP off_map) |
static void | cleanup (Output_File *fl) |
void | ir_bwrite_signal_handler (int sig, int err_num) |
static Section * | get_section (Elf64_Word sh_info, char *name, Output_File *fl) |
template<class Shdr > | |
UINT64 | layout_sections (Shdr &strtab_sec, Output_File *fl) |
template<class ELF > | |
static void | write_output (UINT64 e_shoff, const typename ELF::Elf_Shdr &strtab_sec, Output_File *fl, const ELF &tag) |
static int | create_temp_file (Output_File *fl) |
Output_File * | WN_open_output (const char *file_name) |
void | WN_write_PU_Infos (PU_Info *pu_list, Output_File *fl) |
void | WN_write_tree (PU_Info *pu, WN_MAP off_map, Output_File *fl) |
void | WN_write_flags (INT argc, char **argv, Output_File *fl) |
void | WN_write_globals (Output_File *fl) |
void | WN_write_symtab (PU_Info *pu, Output_File *fl) |
void | WN_write_strtab (const void *strtab, UINT64 size, Output_File *fl) |
void | WN_write_dst (DST_TYPE dst, Output_File *fl) |
void | IPA_write_summary (void(*IPA_irb_write_summary)(Output_File *), Output_File *fl) |
void | WN_write_prefetch (PU_Info *pu, WN_MAP off_map, Output_File *fl) |
template<class MAP_ENTRY_TYPE > | |
static MAP_ENTRY_TYPE | WN_MAP_retrieve (WN_MAP, WN *, MAP_ENTRY_TYPE) |
static INT32 | WN_MAP_retrieve (WN_MAP wn_map, WN *wn, INT32) |
static INT64 | WN_MAP_retrieve (WN_MAP wn_map, WN *wn, INT64) |
static void * | WN_MAP_retrieve (WN_MAP wn_map, WN *wn, void *) |
template<class MAP_ENTRY_TYPE > | |
static void | WN_write_generic_map (PU_Info *pu, WN_MAP off_map, Output_File *fl, INT32 subsection_type, WN_MAP value_map, const char *subsection_name, MAP_ENTRY_TYPE) |
void | WN_write_INT32_map (PU_Info *pu, WN_MAP off_map, Output_File *fl, INT32 subsection_type, WN_MAP value_map, const char *subsection_name) |
void | WN_write_voidptr_map (PU_Info *pu, WN_MAP off_map, Output_File *fl, INT32 subsection_type, WN_MAP value_map, const char *subsection_name) |
void | IPA_copy_PU (PU_Info *pu, char *section_base, Output_File *outfile) |
void | WN_write_revision (Output_File *fl) |
void | WN_close_output (Output_File *fl) |
void | WN_close_file (void *this_fl) |
void | Write_PU_Info (PU_Info *pu) |
Output_File * | Open_Output_Info (const char *output_file) |
void | Write_Global_Info (PU_Info *pu_tree) |
void | Close_Output_Info (void) |
Variables | |
BOOL | Write_BE_Maps = FALSE |
BOOL | Write_AC_INTERNAL_Map = FALSE |
BOOL | Write_ALIAS_CLASS_Map = FALSE |
WN ** | prefetch_ldsts |
INT | num_prefetch_ldsts |
INT | max_num_prefetch_ldsts |
WN ** | alias_classes |
INT | num_alias_class_nodes |
INT | max_alias_class_nodes |
WN ** | ac_internals |
INT | num_ac_internal_nodes |
INT | max_ac_internal_nodes |
static SIG_HANDLER | old_sigsegv |
static SIG_HANDLER | old_sigbus |
Output_File * | Current_Output = 0 |
static Output_File * | ir_output |
#define DEFAULT_NUM_OF_SECTIONS 8 |
Definition at line 201 of file ir_bwrite.cxx.
Referenced by get_section().
#define DEFAULT_TEMPLATE "/elf_wnXXXXXX" |
Definition at line 521 of file ir_bwrite.cxx.
Referenced by create_temp_file().
#define DEFAULT_TMPDIR "/usr/tmp" |
Definition at line 520 of file ir_bwrite.cxx.
Referenced by create_temp_file().
#define MAPPED_SIZE 0x400000 |
Definition at line 138 of file ir_bwrite.cxx.
Referenced by WN_open_output().
Definition at line 118 of file ir_bwrite.cxx.
Definition at line 122 of file ir_bwrite.cxx.
Referenced by WN_close_file(), and WN_close_output().
Definition at line 125 of file ir_bwrite.cxx.
Referenced by WN_open_output().
#define PF_PTR_ADDR | ( | offset | ) | ((PF_POINTER *)(fl->map_addr + (offset))) |
Referenced by WN_write_prefetch().
#define USE_STANDARD_TYPES /* override unwanted defines in "defs.h" */ |
Definition at line 53 of file ir_bwrite.cxx.
typedef void(* SIG_HANDLER)(int) |
Definition at line 130 of file ir_bwrite.cxx.
void* C_Dep_Graph | ( | void | ) |
static void cleanup | ( | Output_File * | fl | ) | [static] |
Definition at line 142 of file ir_bwrite.cxx.
References output_file::file_size, free(), output_file::map_addr, NULL, output_file::num_of_section, output_file::output_fd, and output_file::section_list.
Referenced by MDclose(), WN_close_file(), and WN_close_output().
void Close_Output_Info | ( | void | ) |
Definition at line 1415 of file ir_bwrite.cxx.
References WN_close_output(), and WN_write_revision().
Referenced by ir_sel(), main(), and PDGCS_terminate().
static int create_temp_file | ( | Output_File * | fl | ) | [static] |
Definition at line 524 of file ir_bwrite.cxx.
References DEFAULT_TEMPLATE, DEFAULT_TMPDIR, fd, output_file::file_name, getenv(), path, strcpy, unlink, and ux_mkstemp().
Referenced by WN_open_output().
void Depgraph_Write | ( | void * | depgraph, |
Output_File * | fl, | ||
WN_MAP | off_map | ||
) |
static Section* get_section | ( | Elf64_Word | sh_info, |
char * | name, | ||
Output_File * | fl | ||
) | [static] |
Definition at line 204 of file ir_bwrite.cxx.
References output_file::cur_section, DEFAULT_NUM_OF_SECTIONS, FmtAssert, output_file::max_num_of_section, section::name, name, output_file::num_of_section, output_file::section_list, Elf64_Shdr::sh_info, Elf64_Shdr::sh_type, section::shdr, and SHT_MIPS_WHIRL.
void IPA_copy_PU | ( | PU_Info * | pu, |
char * | section_base, | ||
Output_File * | outfile | ||
) |
Definition at line 1181 of file ir_bwrite.cxx.
References ALIGNOF, output_file::cur_section, dummy, EC_IR_Scn_Write, ErrMsg(), output_file::file_name, output_file::file_size, ir_b_align(), ir_b_save_buf(), MIPS_WHIRL_PU_SECTION, section::name, OPC_FUNC_ENTRY, PU_Info_state, PU_Info_subsect_offset, PU_Info_subsect_size, Set_PU_Info_state, Elf64_Shdr::sh_offset, section::shdr, Subsect_Exists, Subsect_Missing, Subsect_Written, WN_set_opcode(), WN_StartAddress(), WT_DEPGRAPH, WT_PREFETCH, WT_SYMTAB, and WT_TREE.
void IPA_write_summary | ( | void(*)(Output_File *) | IPA_irb_write_summary, |
Output_File * | fl | ||
) |
Definition at line 967 of file ir_bwrite.cxx.
References output_file::file_size, get_section(), ir_b_align(), MIPS_WHIRL_SUMMARY, Elf64_Shdr::sh_addralign, Elf64_Shdr::sh_offset, Elf64_Shdr::sh_size, section::shdr, and WT_IPA_SUMMARY.
void ir_bwrite_signal_handler | ( | int | sig, |
int | err_num | ||
) |
Definition at line 167 of file ir_bwrite.cxx.
References Doing_mmapped_io, Fatal_Error(), output_file::file_name, getpid, old_sigbus, and old_sigsegv.
Referenced by WN_open_output().
UINT64 layout_sections | ( | Shdr & | strtab_sec, |
Output_File * | fl | ||
) |
Definition at line 243 of file ir_bwrite.cxx.
References ALIGNOF, ELF_SHSTRTAB, output_file::file_size, ir_b_align(), ir_b_grow_map(), output_file::mapped_size, section::name, output_file::num_of_section, output_file::section_list, Elf64_Shdr::sh_name, section::shdr, and SHT_STRTAB.
Referenced by WN_close_output().
Output_File* Open_Output_Info | ( | const char * | output_file | ) |
Definition at line 1388 of file ir_bwrite.cxx.
References EC_IR_Create, ErrMsg(), errno, ir_output, Set_Error_Phase(), and WN_open_output().
Referenced by ir_sel(), main(), PDGCS_initialize(), and Phase_Init().
void WN_close_file | ( | void * | this_fl | ) |
Definition at line 1322 of file ir_bwrite.cxx.
References cleanup(), close, EC_IR_Close, ErrMsg(), errno, output_file::file_name, output_file::file_size, output_file::map_addr, output_file::mapped_size, MUNMAP, and output_file::output_fd.
void WN_close_output | ( | Output_File * | fl | ) |
Definition at line 1287 of file ir_bwrite.cxx.
References cleanup(), close, EC_IR_Close, ErrMsg(), errno, output_file::file_name, output_file::file_size, layout_sections(), output_file::map_addr, output_file::mapped_size, MUNMAP, output_file::output_fd, Use_32_Bit_Pointers, and write_output().
Referenced by Close_Output_Info().
static MAP_ENTRY_TYPE WN_MAP_retrieve | ( | WN_MAP | , |
WN * | , | ||
MAP_ENTRY_TYPE | |||
) | [inline, static] |
Referenced by WN_write_generic_map().
static INT32 WN_MAP_retrieve | ( | WN_MAP | wn_map, |
WN * | wn, | ||
INT32 | |||
) | [inline, static] |
Definition at line 1073 of file ir_bwrite.cxx.
References WN_MAP32_Get.
static INT64 WN_MAP_retrieve | ( | WN_MAP | wn_map, |
WN * | wn, | ||
INT64 | |||
) | [inline, static] |
Definition at line 1079 of file ir_bwrite.cxx.
References WN_MAP64_Get.
static void* WN_MAP_retrieve | ( | WN_MAP | wn_map, |
WN * | wn, | ||
void * | |||
) | [inline, static] |
Definition at line 1085 of file ir_bwrite.cxx.
References WN_MAP_Get.
Output_File* WN_open_output | ( | const char * | file_name | ) |
Definition at line 556 of file ir_bwrite.cxx.
References create_temp_file(), output_file::cur_section, output_file::file_name, output_file::file_size, get_section(), ir_b_align(), ir_b_create_map(), ir_bwrite_signal_handler(), MAPPED_SIZE, MIPS_WHIRL_PU_SECTION, NULL, output_file::num_of_section, old_sigbus, old_sigsegv, OPEN, output_file::output_fd, output_file::section_list, Elf64_Shdr::sh_offset, section::shdr, Use_32_Bit_Pointers, and WT_PU_SECTION.
Referenced by Open_Output_Info().
void WN_write_dst | ( | DST_TYPE | dst, |
Output_File * | fl | ||
) |
Definition at line 897 of file ir_bwrite.cxx.
References output_file::file_size, get_section(), ir_b_align(), ir_b_write_dst(), MIPS_WHIRL_DST, Elf64_Shdr::sh_addralign, Elf64_Shdr::sh_offset, Elf64_Shdr::sh_size, section::shdr, and WT_DST.
Referenced by Write_Global_Info().
void WN_write_flags | ( | INT | argc, |
char ** | argv, | ||
Output_File * | fl | ||
) |
Definition at line 779 of file ir_bwrite.cxx.
References output_file::file_size, FmtAssert, get_section(), ir_b_align(), ir_b_grow_map(), ir_b_save_buf(), len, output_file::map_addr, output_file::mapped_size, MIPS_WHIRL_COMP_FLAGS, Elf64_Shdr::sh_addralign, Elf64_Shdr::sh_offset, Elf64_Shdr::sh_size, section::shdr, and WT_COMP_FLAGS.
static void WN_write_generic_map | ( | PU_Info * | pu, |
WN_MAP | off_map, | ||
Output_File * | fl, | ||
INT32 | subsection_type, | ||
WN_MAP | value_map, | ||
const char * | subsection_name, | ||
MAP_ENTRY_TYPE | |||
) | [inline, static] |
Definition at line 1094 of file ir_bwrite.cxx.
References output_file::cur_section, EC_IR_Scn_Write, ErrMsg(), output_file::file_name, output_file::file_size, free(), ir_b_align(), ir_b_save_buf(), MIPS_WHIRL_PU_SECTION, section::name, NULL, PU_Info_state, PU_Info_subsect_offset, PU_Info_subsect_ptr, PU_Info_subsect_size, Set_PU_Info_state, Elf64_Shdr::sh_offset, section::shdr, Subsect_InMem, Subsect_Missing, Subsect_Written, WN_MAP32_Get, and WN_MAP_retrieve().
Referenced by WN_write_INT32_map(), and WN_write_voidptr_map().
void WN_write_globals | ( | Output_File * | fl | ) |
Definition at line 836 of file ir_bwrite.cxx.
References output_file::file_size, get_section(), ir_b_align(), ir_b_write_global_symtab(), MIPS_WHIRL_GLOBALS, Elf64_Shdr::sh_addralign, Elf64_Shdr::sh_offset, Elf64_Shdr::sh_size, section::shdr, and WT_GLOBALS.
Referenced by Write_Global_Info().
void WN_write_INT32_map | ( | PU_Info * | pu, |
WN_MAP | off_map, | ||
Output_File * | fl, | ||
INT32 | subsection_type, | ||
WN_MAP | value_map, | ||
const char * | subsection_name | ||
) |
Definition at line 1157 of file ir_bwrite.cxx.
References WN_write_generic_map().
Referenced by Write_PU_Info().
void WN_write_prefetch | ( | PU_Info * | pu, |
WN_MAP | off_map, | ||
Output_File * | fl | ||
) |
Definition at line 997 of file ir_bwrite.cxx.
References ALIGNOF, output_file::cur_section, EC_IR_Scn_Write, ErrMsg(), output_file::file_name, output_file::file_size, free(), ir_b_align(), ir_b_save_buf(), MIPS_WHIRL_PU_SECTION, section::name, NULL, PF_PTR_ADDR, PU_Info_state, PU_Info_subsect_offset, PU_Info_subsect_ptr, PU_Info_subsect_size, Set_PU_Info_state, Elf64_Shdr::sh_offset, section::shdr, Subsect_InMem, Subsect_Missing, Subsect_Written, WN_MAP32_Get, WN_MAP_Get, WN_MAP_PREFETCH, and WT_PREFETCH.
void WN_write_PU_Infos | ( | PU_Info * | pu_list, |
Output_File * | fl | ||
) |
Definition at line 639 of file ir_bwrite.cxx.
References output_file::cur_section, EC_IR_Scn_Write, ErrMsg(), output_file::file_name, output_file::file_size, ir_b_align(), ir_b_grow_map(), output_file::map_addr, output_file::mapped_size, MIPS_WHIRL_PU_SECTION, section::name, Elf64_Shdr::sh_addralign, Elf64_Shdr::sh_offset, Elf64_Shdr::sh_size, section::shdr, Sizeof_PU_Infos(), and Write_PU_Infos().
Referenced by Write_Global_Info().
void WN_write_revision | ( | Output_File * | fl | ) |
Definition at line 1267 of file ir_bwrite.cxx.
References ELF_COMMENT, output_file::file_size, get_section(), ir_b_save_buf(), Elf64_Shdr::sh_addralign, Elf64_Shdr::sh_offset, Elf64_Shdr::sh_size, Elf64_Shdr::sh_type, section::shdr, SHT_PROGBITS, and Whirl_Revision.
Referenced by Close_Output_Info().
void WN_write_strtab | ( | const void * | strtab, |
UINT64 | size, | ||
Output_File * | fl | ||
) |
Definition at line 876 of file ir_bwrite.cxx.
References output_file::file_size, get_section(), ir_b_align(), ir_b_save_buf(), MIPS_WHIRL_STRTAB, Elf64_Shdr::sh_addralign, Elf64_Shdr::sh_offset, Elf64_Shdr::sh_size, section::shdr, and WT_STRTAB.
Referenced by Write_Global_Info().
void WN_write_symtab | ( | PU_Info * | pu, |
Output_File * | fl | ||
) |
Definition at line 852 of file ir_bwrite.cxx.
References output_file::cur_section, EC_IR_Scn_Write, ErrMsg(), output_file::file_name, output_file::file_size, ir_b_align(), ir_b_write_local_symtab(), MIPS_WHIRL_PU_SECTION, section::name, PU_Info_proc_sym, PU_Info_state, PU_Info_subsect_offset, PU_Info_subsect_size, PU_lexical_level(), Scope_tab, Set_PU_Info_state, Elf64_Shdr::sh_offset, section::shdr, St_Table, Subsect_InMem, Subsect_Written, and WT_SYMTAB.
Referenced by Write_PU_Info().
void WN_write_tree | ( | PU_Info * | pu, |
WN_MAP | off_map, | ||
Output_File * | fl | ||
) |
Definition at line 683 of file ir_bwrite.cxx.
References ALIGNOF, output_file::cur_section, EC_IR_Scn_Write, ErrMsg(), output_file::file_name, output_file::file_size, ir_b_align(), ir_b_write_tree(), output_file::map_addr, max_ac_internal_nodes, max_alias_class_nodes, max_num_prefetch_ldsts, MIPS_WHIRL_PU_SECTION, section::name, NULL, num_ac_internal_nodes, num_alias_class_nodes, num_prefetch_ldsts, PU_Info_state, PU_Info_subsect_offset, PU_Info_subsect_ptr, PU_Info_subsect_size, PU_Info_tree_ptr, Set_Max_Region_Id(), Set_PU_Info_ac_internal_ptr, Set_PU_Info_alias_class_ptr, Set_PU_Info_state, Elf64_Shdr::sh_offset, section::shdr, Subsect_InMem, Subsect_Written, WN_StartAddress(), Write_AC_INTERNAL_Map, Write_ALIAS_CLASS_Map, Write_BE_Maps, WT_AC_INTERNAL, WT_ALIAS_CLASS, WT_PREFETCH, and WT_TREE.
Referenced by Write_PU_Info().
void WN_write_voidptr_map | ( | PU_Info * | pu, |
WN_MAP | off_map, | ||
Output_File * | fl, | ||
INT32 | subsection_type, | ||
WN_MAP | value_map, | ||
const char * | subsection_name | ||
) |
Definition at line 1169 of file ir_bwrite.cxx.
References WN_write_generic_map().
void Write_Global_Info | ( | PU_Info * | pu_tree | ) |
Definition at line 1400 of file ir_bwrite.cxx.
References Current_DST, Index_To_Str(), Set_Error_Phase(), STR_Table_Size(), WN_write_dst(), WN_write_globals(), WN_write_PU_Infos(), and WN_write_strtab().
Referenced by ir_sel(), main(), and PDGCS_terminate().
static void write_output | ( | UINT64 | e_shoff, |
const typename ELF::Elf_Shdr & | strtab_sec, | ||
Output_File * | fl, | ||
const ELF & | tag | ||
) | [static] |
Definition at line 443 of file ir_bwrite.cxx.
References Config_ELF_From_Target(), EC_IR_Scn_Write, EI_CLASS, EI_DATA, EI_VERSION, ELF_SHSTRTAB, ELFCLASS64, ELFDATA2LSB, ELFDATA2MSB, ELFMAG, ErrMsg(), ET_IR, EV_CURRENT, FALSE, output_file::file_name, Get_Elf_Target_Machine(), output_file::map_addr, section::name, output_file::num_of_section, output_file::section_list, Elf64_Shdr::sh_addr, Elf64_Shdr::sh_addralign, Elf64_Shdr::sh_entsize, Elf64_Shdr::sh_flags, Elf64_Shdr::sh_info, Elf64_Shdr::sh_link, Elf64_Shdr::sh_name, Elf64_Shdr::sh_offset, Elf64_Shdr::sh_size, Elf64_Shdr::sh_type, section::shdr, strcpy, Target_ISA, and Use_32_Bit_Pointers.
Referenced by WN_close_output().
void Write_PU_Info | ( | PU_Info * | pu | ) |
Definition at line 1351 of file ir_bwrite.cxx.
References Current_Map_Tab, MEM_local_nz_pool_ptr, MEM_POOL_Pop, MEM_POOL_Push, PU_Info_maptab, WN_MAP32_Create, WN_MAP_ALIAS_CLASS, WN_MAP_Delete, WN_MAP_UNDEFINED, WN_write_INT32_map(), WN_write_symtab(), WN_write_tree(), Write_ALIAS_CLASS_Map, Write_BE_Maps, and WT_ALIAS_CLASS.
Referenced by Do_WOPT_and_CG_with_Regions(), Ipl_Processing(), ir_sel(), PDGCS_do_proc(), Post_LNO_Processing(), process_pu(), and write_pu().
Definition at line 87 of file ir_bcom.cxx.
Definition at line 82 of file ir_bcom.cxx.
Definition at line 135 of file ir_bwrite.cxx.
Referenced by ir_b_copy_file(), and ir_b_save_buf().
Output_File* ir_output [static] |
Definition at line 1348 of file ir_bwrite.cxx.
Referenced by Open_Output_Info().
Definition at line 89 of file ir_bcom.cxx.
Referenced by ir_b_write_tree(), and WN_write_tree().
Definition at line 84 of file ir_bcom.cxx.
Referenced by ir_b_write_tree(), and WN_write_tree().
Definition at line 79 of file ir_bcom.cxx.
Referenced by ir_b_write_tree(), and WN_write_tree().
Definition at line 88 of file ir_bcom.cxx.
Referenced by ir_b_write_tree(), and WN_write_tree().
Definition at line 83 of file ir_bcom.cxx.
Referenced by ir_b_write_tree(), and WN_write_tree().
Definition at line 78 of file ir_bcom.cxx.
Referenced by ir_b_write_tree(), and WN_write_tree().
SIG_HANDLER old_sigbus [static] |
Definition at line 133 of file ir_bwrite.cxx.
Referenced by ir_bwrite_signal_handler(), and WN_open_output().
SIG_HANDLER old_sigsegv [static] |
Definition at line 132 of file ir_bwrite.cxx.
Referenced by ir_bwrite_signal_handler(), and WN_open_output().
Definition at line 77 of file ir_bcom.cxx.
Definition at line 96 of file ir_bwrite.cxx.
Referenced by ir_b_write_tree(), and WN_write_tree().
Definition at line 97 of file ir_bwrite.cxx.
Referenced by ir_b_write_tree(), Phase_Init(), WN_write_tree(), and Write_PU_Info().
Definition at line 95 of file ir_bwrite.cxx.
Referenced by ir_b_write_tree(), Phase_Init(), WN_write_tree(), and Write_PU_Info().