osprey/kg++fe/gnu/varasm.c File Reference

#include "config.h"
#include "system.h"
#include "rtl.h"
#include "tree.h"
#include "flags.h"
#include "function.h"
#include "expr.h"
#include "hard-reg-set.h"
#include "regs.h"
#include "real.h"
#include "output.h"
#include "toplev.h"
#include "hashtab.h"
#include "c-pragma.h"
#include "c-tree.h"
#include "ggc.h"
#include "langhooks.h"
#include "tm_p.h"
#include "debug.h"
#include "target.h"
#include "gt-varasm.h"

Include dependency graph for varasm.c:

Go to the source code of this file.

Data Types

type  in_named_entry
type  deferred_constant

Defines

#define TRAMPOLINE_ALIGNMENT   FUNCTION_BOUNDARY
#define ASM_STABS_OP   "\t.stabs\t"
#define MAX_RTX_HASH_TABLE   61
#define const_rtx_hash_table   (cfun->varasm->x_const_rtx_hash_table)
#define const_rtx_sym_hash_table   (cfun->varasm->x_const_rtx_sym_hash_table)
#define first_pool   (cfun->varasm->x_first_pool)
#define last_pool   (cfun->varasm->x_last_pool)
#define pool_offset   (cfun->varasm->x_pool_offset)
#define IN_NAMED_SECTION(DECL)
#define CONSTANT_POOL_BEFORE_FUNCTION   1
#define ASM_EMIT_LOCAL(decl, name, size, rounded)   ASM_OUTPUT_LOCAL (asm_out_file, name, size, rounded)
#define ASM_EMIT_COMMON(decl, name, size, rounded)   ASM_OUTPUT_COMMON (asm_out_file, name, size, rounded)
#define MAX_OFILE_ALIGNMENT   BIGGEST_ALIGNMENT
#define MAX_HASH_TABLE   1009
#define STRHASH(x)   htab_hash_pointer (x)
#define SYMHASH(LABEL)   (((unsigned long) (LABEL)) % MAX_RTX_HASH_TABLE)

Enumerations

enum  in_section {
  no_section, in_text, in_data, in_named,
  no_section, in_text, in_data, in_named
}
enum  kind {
  RTX_UNKNOWN, RTX_DOUBLE, RTX_VECTOR, RTX_INT,
  RTX_UNSPEC, RTX_UNKNOWN, RTX_DOUBLE, RTX_VECTOR,
  RTX_INT, RTX_UNSPEC
}
enum  section_category {
  SECCAT_TEXT, SECCAT_RODATA, SECCAT_RODATA_MERGE_STR, SECCAT_RODATA_MERGE_STR_INIT,
  SECCAT_RODATA_MERGE_CONST, SECCAT_SRODATA, SECCAT_DATA, SECCAT_DATA_REL,
  SECCAT_DATA_REL_LOCAL, SECCAT_DATA_REL_RO, SECCAT_DATA_REL_RO_LOCAL, SECCAT_SDATA,
  SECCAT_TDATA, SECCAT_BSS, SECCAT_SBSS, SECCAT_TBSS,
  SECCAT_TEXT, SECCAT_RODATA, SECCAT_RODATA_MERGE_STR, SECCAT_RODATA_MERGE_STR_INIT,
  SECCAT_RODATA_MERGE_CONST, SECCAT_SRODATA, SECCAT_DATA, SECCAT_DATA_REL,
  SECCAT_DATA_REL_LOCAL, SECCAT_DATA_REL_RO, SECCAT_DATA_REL_RO_LOCAL, SECCAT_SDATA,
  SECCAT_TDATA, SECCAT_BSS, SECCAT_SBSS, SECCAT_TBSS,
  SECCAT_TEXT, SECCAT_RODATA, SECCAT_RODATA_MERGE_STR, SECCAT_RODATA_MERGE_STR_INIT,
  SECCAT_RODATA_MERGE_CONST, SECCAT_SRODATA, SECCAT_DATA, SECCAT_DATA_REL,
  SECCAT_DATA_REL_LOCAL, SECCAT_DATA_REL_RO, SECCAT_DATA_REL_RO_LOCAL, SECCAT_SDATA,
  SECCAT_TDATA, SECCAT_BSS, SECCAT_SBSS, SECCAT_TBSS,
  SECCAT_TEXT, SECCAT_RODATA, SECCAT_RODATA_MERGE_STR, SECCAT_RODATA_MERGE_STR_INIT,
  SECCAT_RODATA_MERGE_CONST, SECCAT_SRODATA, SECCAT_DATA, SECCAT_DATA_REL,
  SECCAT_DATA_REL_LOCAL, SECCAT_DATA_REL_RO, SECCAT_DATA_REL_RO_LOCAL, SECCAT_SDATA,
  SECCAT_TDATA, SECCAT_BSS, SECCAT_SBSS, SECCAT_TBSS
}

Functions/Subroutines

struct varasm_status GTY (())
static const char *strip_reg_name PARAMS ((const char *))
static int contains_pointers_p PARAMS ((tree))
static void decode_addr_const PARAMS ((tree, struct addr_const *))
static int compare_constant PARAMS ((tree, tree))
static void
output_constant_def_contents 
PARAMS ((tree, int, int))
static void decode_rtx_const PARAMS ((enum machine_mode, rtx, struct rtx_const *))
static unsigned int const_hash_rtx PARAMS ((enum machine_mode, rtx))
static int compare_constant_rtx PARAMS ((enum machine_mode, rtx, struct constant_descriptor_rtx *))
static struct pool_constant
*find_pool_constant 
PARAMS ((struct function *, rtx))
static void mark_constant_pool PARAMS ((void))
static void mark_constants PARAMS ((rtx))
static int mark_constant PARAMS ((rtx *current_rtx, void *data))
static unsigned min_align PARAMS ((unsigned, unsigned))
static void output_constructor PARAMS ((tree, HOST_WIDE_INT, unsigned int))
static int in_named_entry_eq PARAMS ((const PTR, const PTR))
static hashval_t
in_named_entry_hash 
PARAMS ((const PTR))
static hashval_t
const_str_htab_hash 
PARAMS ((const void *x))
static int const_str_htab_eq PARAMS ((const void *x, const void *y))
static bool asm_emit_uninitialised PARAMS ((tree, const char *, int, int))
void text_section ()
void data_section ()
void force_data_section ()
void readonly_data_section ()
int in_text_section ()
int in_data_section ()
static int in_named_entry_eq (PTR p1, const PTR p2) const
static hashval_t in_named_entry_hash (PTR p) const
unsigned int get_named_section_flags (char *section) const
bool named_section_first_declaration (char *name) const
bool set_named_section_flags (char *section, unsigned int flags) const
void named_section_flags (char *name, unsigned int flags) const
void named_section (tree decl, const char *name, int reloc)
void resolve_unique_section (tree decl, reloc, int flag_function_or_data_sections)
void function_section (tree decl)
void variable_section (tree decl, int reloc)
void mergeable_string_section (decl, align, flags)
void mergeable_constant_section (mode, align, flags)
static const char * strip_reg_name (char *name) const
int decode_reg_name (char *asmspec) const
void make_decl_rtl (tree decl, const char *asmspec)
void make_var_volatile (tree var)
void assemble_constant_align (tree exp)
void assemble_asm (tree string)
void default_stabs_asm_out_destructor (rtx symbol, priority)
void default_named_section_asm_out_destructor (rtx symbol, int priority)
void default_stabs_asm_out_constructor (rtx symbol, priority)
void default_named_section_asm_out_constructor (rtx symbol, int priority)
void assemble_start_function (tree decl, const char *fnname)
void assemble_end_function (tree decl, const char *fnname)
void assemble_zeros (int size)
void assemble_align (int align)
void assemble_string (char *p, int size) const
static bool asm_emit_uninitialised (tree decl, const char *name, size, rounded)
void assemble_variable (tree decl, top_level, at_end, int dont_output_data)
static int contains_pointers_p (tree type)
void assemble_external (decl)
void assemble_external_libcall (fun)
void assemble_label (char *name) const
void assemble_name (FILE *file, const char *name)
rtx assemble_static_space (int size)
static unsigned min_align (unsigned int a, unsigned int b)
const char * integer_asm_op (int size, int aligned_p)
void assemble_integer_with_op (char *op, rtx x) const
bool default_assemble_integer (x, size, aligned_p)
bool assemble_integer (rtx x, unsigned int size, unsigned int align, int force)
void assemble_real (REAL_VALUE_TYPE d, enum machine_mode mode, unsigned int align)
static void decode_addr_const (tree exp, struct addr_const *value)
static GTY ((param_is(struct deferred_string)))
static int const_str_htab_eq (void *x, const void *y) const
static unsigned int const_hash (tree exp)
static unsigned int const_hash_1 (tree exp)
static int compare_constant (tree t1, tree t2)
void defer_addressed_constants ()
void output_deferred_addressed_constants ()
static void output_after_function_constants ()
static tree copy_constant (tree exp)
rtx output_constant_def (tree exp, int defer)
static void output_constant_def_contents (tree exp, int reloc, int labelno)
void init_varasm_status (struct function *f)
static void decode_rtx_const (enum machine_mode mode, rtx x, struct rtx_const *value)
rtx simplify_subtraction (rtx x)
static unsigned int const_hash_rtx (enum machine_mode mode, rtx x)
static int compare_constant_rtx (enum machine_mode mode, rtx x, struct constant_descriptor_rtx *desc)
static struct
constant_descriptor_rtx * 
record_constant_rtx (enum machine_mode mode, rtx x)
rtx mem_for_const_double (rtx x)
rtx force_const_mem (enum machine_mode mode, rtx x)
static struct pool_constant * find_pool_constant (struct function *f, rtx addr)
rtx get_pool_constant (rtx addr)
rtx get_pool_constant_mark (rtx addr, bool *pmarked)
rtx get_pool_constant_for_function (struct function *f, rtx addr)
enum machine_mode get_pool_mode (rtx addr)
enum machine_mode get_pool_mode_for_function (struct function *f, rtx addr)
int get_pool_offset (rtx addr)
int get_pool_size ()
void output_constant_pool (fnname, fndecl) const
static void mark_constant_pool ()
static void mark_constants (rtx x)
static int mark_constant (rtx *current_rtx, data)
static int output_addressed_constants (tree exp)
tree initializer_constant_valid_p (tree value, tree endtype)
void output_constant (tree exp, HOST_WIDE_INT size, unsigned int align)
static unsigned HOST_WIDE_INT array_size_for_constructor (tree val)
static void output_constructor (tree exp, HOST_WIDE_INT size, unsigned int align)
void merge_weak (tree newdecl, tree olddecl)
void WFE_Add_Weak (void)
void WFE_Weak_Finish (void)
void declare_weak (tree decl)
void weak_finish ()
static void globalize_decl (tree decl)
void assemble_alias (tree decl, target)
void default_assemble_visibility (tree decl, int vis)
static void maybe_assemble_visibility (tree decl)
int supports_one_only ()
void make_decl_one_only (tree decl)
void init_varasm_once ()
enum tls_model decl_tls_model (tree decl)
enum symbol_visibility decl_visibility (tree decl)
unsigned int default_section_type_flags (tree decl, const char *name, int reloc)
unsigned int default_section_type_flags_1 (tree decl, const char *name, int reloc, int shlib)
void default_no_named_section (name, flags) const
void default_elf_asm_named_section (char *name, unsigned int flags) const
void default_coff_asm_named_section (char *name, unsigned int flags) const
void default_pe_asm_named_section (char *name, unsigned int flags) const
void assemble_vtable_entry (rtx symbol, HOST_WIDE_INT offset)
void assemble_vtable_inherit (rtx child, rtx parent)
void default_select_section (tree decl, int reloc, align)
static enum section_category categorize_decl_for_section (tree decl, int reloc, int shlib)
bool decl_readonly_section (tree decl, int reloc)
bool decl_readonly_section_1 (tree decl, int reloc, int shlib)
void default_elf_select_section (tree decl, int reloc, unsigned HOST_WIDE_INT align)
void default_elf_select_section_1 (tree decl, int reloc, unsigned HOST_WIDE_INT align, int shlib)
void default_unique_section (tree decl, int reloc)
void default_unique_section_1 (tree decl, int reloc, int shlib)
void default_select_rtx_section (mode, rtx x, align)
void default_elf_select_rtx_section (enum machine_mode mode, rtx x, unsigned HOST_WIDE_INT align)
const char * default_strip_name_encoding (char *str) const
bool default_binds_local_p (tree exp)
bool default_binds_local_p_1 (tree exp, int shlib)

Variables

const char * first_global_object_name
const char * weak_global_object_name
int const_labelno
int var_labelno
int size_directive_output
tree last_assemble_variable_decl
static HOST_WIDE_INT const_alias_set
static const char * in_named_name
static htab_t in_named_htab
static struct deferred_constantdeferred_constants
static struct deferred_constantafter_function_constants
static int defer_addressed_constants_flag


Define Documentation

#define ASM_EMIT_COMMON ( decl,
name,
size,
rounded   )     ASM_OUTPUT_COMMON (asm_out_file, name, size, rounded)

Definition at line 1366 of file varasm.c.

Referenced by asm_emit_uninitialised().

#define ASM_EMIT_LOCAL ( decl,
name,
size,
rounded   )     ASM_OUTPUT_LOCAL (asm_out_file, name, size, rounded)

Definition at line 1341 of file varasm.c.

Referenced by asm_emit_uninitialised().

#define ASM_STABS_OP   "\t.stabs\t"

Definition at line 75 of file varasm.c.

#define const_rtx_hash_table   (cfun->varasm->x_const_rtx_hash_table)

Definition at line 113 of file varasm.c.

Referenced by force_const_mem(), and mem_for_const_double().

#define const_rtx_sym_hash_table   (cfun->varasm->x_const_rtx_sym_hash_table)

Definition at line 114 of file varasm.c.

Referenced by force_const_mem().

#define CONSTANT_POOL_BEFORE_FUNCTION   1

Definition at line 1159 of file varasm.c.

#define first_pool   (cfun->varasm->x_first_pool)

Definition at line 115 of file varasm.c.

Referenced by force_const_mem(), mark_constant_pool(), and output_constant_pool().

#define IN_NAMED_SECTION ( DECL   ) 

Value:

((TREE_CODE (DECL) == FUNCTION_DECL || TREE_CODE (DECL) == VAR_DECL) \
   && DECL_SECTION_NAME (DECL) != NULL_TREE)

Definition at line 213 of file varasm.c.

#define last_pool   (cfun->varasm->x_last_pool)

Definition at line 116 of file varasm.c.

Referenced by force_const_mem(), and output_constant_pool().

#define MAX_HASH_TABLE   1009

Definition at line 2242 of file varasm.c.

#define MAX_OFILE_ALIGNMENT   BIGGEST_ALIGNMENT

#define MAX_RTX_HASH_TABLE   61

Definition at line 87 of file varasm.c.

Referenced by const_hash_rtx(), and init_varasm_status().

#define pool_offset   (cfun->varasm->x_pool_offset)

Definition at line 117 of file varasm.c.

Referenced by force_const_mem(), get_pool_size(), and output_constant_pool().

#define STRHASH (  )     htab_hash_pointer (x)

#define SYMHASH ( LABEL   )     (((unsigned long) (LABEL)) % MAX_RTX_HASH_TABLE)

Definition at line 2953 of file varasm.c.

Referenced by find_pool_constant(), and force_const_mem().

#define TRAMPOLINE_ALIGNMENT   FUNCTION_BOUNDARY

Definition at line 71 of file varasm.c.


Enumeration Type Documentation

enum in_section

Enumerator:
no_section 
in_text 
in_data 
in_named 
no_section 
in_text 
in_data 
in_named 

Definition at line 193 of file varasm.c.

enum kind

Enumerator:
RTX_UNKNOWN 
RTX_DOUBLE 
RTX_VECTOR 
RTX_INT 
RTX_UNSPEC 
RTX_UNKNOWN 
RTX_DOUBLE 
RTX_VECTOR 
RTX_INT 
RTX_UNSPEC 

Definition at line 2194 of file varasm.c.

Enumerator:
SECCAT_TEXT 
SECCAT_RODATA 
SECCAT_RODATA_MERGE_STR 
SECCAT_RODATA_MERGE_STR_INIT 
SECCAT_RODATA_MERGE_CONST 
SECCAT_SRODATA 
SECCAT_DATA 
SECCAT_DATA_REL 
SECCAT_DATA_REL_LOCAL 
SECCAT_DATA_REL_RO 
SECCAT_DATA_REL_RO_LOCAL 
SECCAT_SDATA 
SECCAT_TDATA 
SECCAT_BSS 
SECCAT_SBSS 
SECCAT_TBSS 
SECCAT_TEXT 
SECCAT_RODATA 
SECCAT_RODATA_MERGE_STR 
SECCAT_RODATA_MERGE_STR_INIT 
SECCAT_RODATA_MERGE_CONST 
SECCAT_SRODATA 
SECCAT_DATA 
SECCAT_DATA_REL 
SECCAT_DATA_REL_LOCAL 
SECCAT_DATA_REL_RO 
SECCAT_DATA_REL_RO_LOCAL 
SECCAT_SDATA 
SECCAT_TDATA 
SECCAT_BSS 
SECCAT_SBSS 
SECCAT_TBSS 
SECCAT_TEXT 
SECCAT_RODATA 
SECCAT_RODATA_MERGE_STR 
SECCAT_RODATA_MERGE_STR_INIT 
SECCAT_RODATA_MERGE_CONST 
SECCAT_SRODATA 
SECCAT_DATA 
SECCAT_DATA_REL 
SECCAT_DATA_REL_LOCAL 
SECCAT_DATA_REL_RO 
SECCAT_DATA_REL_RO_LOCAL 
SECCAT_SDATA 
SECCAT_TDATA 
SECCAT_BSS 
SECCAT_SBSS 
SECCAT_TBSS 
SECCAT_TEXT 
SECCAT_RODATA 
SECCAT_RODATA_MERGE_STR 
SECCAT_RODATA_MERGE_STR_INIT 
SECCAT_RODATA_MERGE_CONST 
SECCAT_SRODATA 
SECCAT_DATA 
SECCAT_DATA_REL 
SECCAT_DATA_REL_LOCAL 
SECCAT_DATA_REL_RO 
SECCAT_DATA_REL_RO_LOCAL 
SECCAT_SDATA 
SECCAT_TDATA 
SECCAT_BSS 
SECCAT_SBSS 
SECCAT_TBSS 

Definition at line 5169 of file varasm.c.


Function Documentation

static unsigned HOST_WIDE_INT array_size_for_constructor ( tree  val  )  [static]

static bool asm_emit_uninitialised ( tree  decl,
const char *  name,
size  ,
rounded   
) [static]

void assemble_alias ( tree  decl,
target   
)

void assemble_align ( int  align  ) 

void assemble_asm ( tree  string  ) 

void assemble_constant_align ( tree  exp  ) 

void assemble_end_function ( tree  decl,
const char *  fnname 
)

Definition at line 1249 of file varasm.c.

Referenced by rest_of_compilation(), rest_of_handle_final(), and use_thunk().

void assemble_external ( decl   ) 

void assemble_external_libcall ( fun   ) 

bool assemble_integer ( rtx  x,
unsigned int  size,
unsigned int  align,
int  force 
)

void assemble_integer_with_op ( char *  op,
rtx  x 
) const

void assemble_label ( char *  name  )  const

Definition at line 1794 of file varasm.c.

References asm_out_file, and ASM_OUTPUT_LABEL.

Referenced by machopic_finish(), and machopic_output_indirection().

void assemble_name ( FILE file,
const char *  name 
)

Definition at line 1807 of file varasm.c.

Referenced by alpha_end_function(), alpha_start_function(), arm_output_mi_thunk(), asm_output_common(), asm_output_local(), build_mips16_call_stub(), build_mips16_function_stub(), c4x_file_end(), clix_asm_out_constructor(), cris_asm_output_label_ref(), cris_asm_output_mi_thunk(), cris_asm_output_symbol_ref(), cris_output_addr_const(), cris_output_addr_const_extra(), d30v_print_operand_address(), darwin_asm_output_dwarf_delta(), darwin_assemble_visibility(), darwin_mark_decl_preserved(), default_assemble_visibility(), default_stabs_asm_out_constructor(), default_stabs_asm_out_destructor(), dw2_asm_output_delta_uleb128(), frv_asm_output_mi_thunk(), frv_print_operand_address(), GTY(), i370_output_function_epilogue(), i386_pe_declare_function_type(), i860_output_function_epilogue(), i960_function_name_declare(), ia64_hpux_asm_file_end(), ia64_hpux_file_end(), ia64_output_function_profiler(), ix86_asm_file_end(), ix86_file_end(), m32c_print_operand(), machopic_finish(), machopic_output_indirection(), mcore_external_libcall(), mips_asm_file_end(), mips_declare_object(), mips_file_end(), mips_output_function_epilogue(), mips_output_function_prologue(), mmix_asm_globalize_label(), mmix_asm_output_aligned_common(), mmix_asm_output_aligned_local(), mmix_asm_output_def(), mmix_asm_output_define_label_difference_symbol(), mmix_asm_output_label(), mmix_asm_output_mi_thunk(), mmix_asm_weaken_label(), output_addr_const(), output_addr_const_pdp11(), output_asm_label(), output_function_profiler(), output_function_prologue(), output_global_address(), output_mi_thunk(), output_pic_addr_const(), pa_asm_output_aligned_common(), pa_asm_output_aligned_local(), pa_globalize_label(), print_operand(), rs6000_assemble_integer(), rs6000_output_function_entry(), rs6000_output_function_epilogue(), rs6000_output_symbol_ref(), s390_output_addr_const_extra(), score_declare_object(), th_asm_file_end(), th_function_epilogue(), th_function_prologue(), v850_output_common(), v850_output_local(), vax_output_mi_thunk(), VPARAMS(), xstormy16_asm_output_aligned_common(), xstormy16_asm_output_mi_thunk(), xstormy16_print_operand(), and xtensa_declare_object().

void assemble_real ( REAL_VALUE_TYPE  d,
enum machine_mode  mode,
unsigned int  align 
)

void assemble_start_function ( tree  decl,
const char *  fnname 
)

rtx assemble_static_space ( int  size  ) 

void assemble_string ( char *  p,
int  size 
) const

Definition at line 1310 of file varasm.c.

References asm_out_file, ASM_OUTPUT_ASCII, and pos().

Referenced by output_constant(), and rs6000_output_function_epilogue().

void assemble_variable ( tree  decl,
top_level  ,
at_end  ,
int  dont_output_data 
)

void assemble_vtable_entry ( rtx  symbol,
HOST_WIDE_INT  offset 
)

Definition at line 5107 of file varasm.c.

References asm_out_file, fprintf(), fputc(), fputs(), HOST_WIDE_INT_PRINT_DEC, and output_addr_const().

Referenced by final_scan_insn().

void assemble_vtable_inherit ( rtx  child,
rtx  parent 
)

Definition at line 5122 of file varasm.c.

References asm_out_file, fputc(), fputs(), and output_addr_const().

Referenced by output_vtable_inherit().

void assemble_zeros ( int  size  ) 

static enum section_category categorize_decl_for_section ( tree  decl,
int  reloc,
int  shlib 
) [static]

static int compare_constant ( tree  t1,
tree  t2 
) [static]

static int compare_constant_rtx ( enum machine_mode  mode,
rtx  x,
struct constant_descriptor_rtx *  desc 
) [static]

Definition at line 3210 of file varasm.c.

References decode_rtx_const(), and memcmp.

Referenced by force_const_mem(), and mem_for_const_double().

static unsigned int const_hash ( tree  exp  )  [static]

Definition at line 2287 of file varasm.c.

References const_hash_1().

Referenced by output_constant_def().

static unsigned int const_hash_1 ( tree  exp  )  [static]

static unsigned int const_hash_rtx ( enum machine_mode  mode,
rtx  x 
) [static]

Definition at line 3184 of file varasm.c.

References ARRAY_SIZE, decode_rtx_const(), i, and MAX_RTX_HASH_TABLE.

Referenced by force_const_mem(), and mem_for_const_double().

static int const_str_htab_eq ( void x,
const void y 
) const [static]

Definition at line 2277 of file varasm.c.

Referenced by init_varasm_once().

static int contains_pointers_p ( tree  type  )  [static]

Definition at line 1708 of file varasm.c.

References TREE_CHAIN, TREE_CODE, TREE_TYPE, and TYPE_FIELDS.

Referenced by assemble_variable(), contains_pointers_p(), and get_variable_section().

static tree copy_constant ( tree  exp  )  [static]

void data_section ( void   ) 

bool decl_readonly_section ( tree  decl,
int  reloc 
)

bool decl_readonly_section_1 ( tree  decl,
int  reloc,
int  shlib 
)

enum tls_model decl_tls_model ( tree  decl  ) 

enum symbol_visibility decl_visibility ( tree  decl  ) 

void declare_weak ( tree  decl  ) 

Definition at line 4632 of file varasm.c.

Referenced by darwin_handle_weak_import_attribute(), and handle_weak_attribute().

static void decode_addr_const ( tree  exp,
struct addr_const *  value 
) [static]

int decode_reg_name ( char *  asmspec  )  const

static void decode_rtx_const ( enum machine_mode  mode,
rtx  x,
struct rtx_const *  value 
) [static]

bool default_assemble_integer ( ,
size  ,
aligned_p   
)

void default_assemble_visibility ( tree  decl,
int  vis 
)

Definition at line 4783 of file varasm.c.

bool default_binds_local_p ( tree  exp  ) 

Definition at line 5531 of file varasm.c.

bool default_binds_local_p_1 ( tree  exp,
int  shlib 
)

Definition at line 5538 of file varasm.c.

Referenced by darwin_binds_local_p(), default_binds_local_p(), and frv_local_funcdesc_p().

void default_coff_asm_named_section ( char *  name,
unsigned int  flags 
) const

Definition at line 5071 of file varasm.c.

References asm_out_file, f, fprintf(), SECTION_CODE, and SECTION_WRITE.

Referenced by default_pe_asm_named_section().

void default_elf_asm_named_section ( char *  name,
unsigned int  flags 
) const

void default_elf_select_rtx_section ( enum machine_mode  mode,
rtx  x,
unsigned HOST_WIDE_INT  align 
)

Definition at line 5491 of file varasm.c.

Referenced by ia64_select_rtx_section().

void default_elf_select_section ( tree  decl,
int  reloc,
unsigned HOST_WIDE_INT  align 
)

Definition at line 5320 of file varasm.c.

Referenced by x86_64_elf_select_section().

void default_elf_select_section_1 ( tree  decl,
int  reloc,
unsigned HOST_WIDE_INT  align,
int  shlib 
)

Definition at line 5329 of file varasm.c.

Referenced by default_elf_select_section(), and ia64_rwreloc_select_section().

void default_named_section_asm_out_constructor ( rtx  symbol,
int  priority 
)

Definition at line 1106 of file varasm.c.

Referenced by arm_elf_asm_constructor(), and pa_asm_out_constructor().

void default_named_section_asm_out_destructor ( rtx  symbol,
int  priority 
)

Definition at line 1044 of file varasm.c.

Referenced by pa_asm_out_destructor().

void default_no_named_section ( name  ,
flags   
) const

Definition at line 5012 of file varasm.c.

References abort.

Referenced by cris_target_asm_named_section().

void default_pe_asm_named_section ( char *  name,
unsigned int  flags 
) const

unsigned int default_section_type_flags ( tree  decl,
const char *  name,
int  reloc 
)

unsigned int default_section_type_flags_1 ( tree  decl,
const char *  name,
int  reloc,
int  shlib 
)

void default_select_rtx_section ( mode  ,
rtx  x,
align   
)

Definition at line 5469 of file varasm.c.

References CONST, data_section(), flag_pic, GET_CODE, and readonly_data_section().

void default_select_section ( tree  decl,
int  reloc,
align   
)

void default_stabs_asm_out_constructor ( rtx symbol  ,
priority   
)

Definition at line 1093 of file varasm.c.

References asm_out_file, ASM_STABS_OP, assemble_name(), fprintf(), fputc(), and XSTR.

Referenced by pa_asm_out_constructor().

void default_stabs_asm_out_destructor ( rtx symbol  ,
priority   
)

Definition at line 1031 of file varasm.c.

References asm_out_file, ASM_STABS_OP, assemble_name(), fprintf(), fputc(), and XSTR.

Referenced by pa_asm_out_destructor().

const char* default_strip_name_encoding ( char *  str  )  const

Definition at line 5521 of file varasm.c.

Referenced by i386_nlm_strip_name_encoding(), and xstormy16_asm_output_aligned_common().

void default_unique_section ( tree  decl,
int  reloc 
)

Definition at line 5398 of file varasm.c.

Referenced by x86_64_elf_unique_section().

void default_unique_section_1 ( tree  decl,
int  reloc,
int  shlib 
)

Definition at line 5406 of file varasm.c.

Referenced by default_unique_section(), and ia64_rwreloc_unique_section().

void defer_addressed_constants (  ) 

Definition at line 2571 of file varasm.c.

static struct pool_constant* find_pool_constant ( struct function f,
rtx  addr 
) [static, read]

rtx force_const_mem ( enum machine_mode  mode,
rtx  x 
)

void force_data_section (  ) 

Definition at line 278 of file varasm.c.

References data_section(), and no_section.

void function_section ( tree  decl  ) 

unsigned int get_named_section_flags ( char *  section  )  const

rtx get_pool_constant ( rtx  addr  ) 

rtx get_pool_constant_for_function ( struct function f,
rtx  addr 
)

Definition at line 3391 of file varasm.c.

Referenced by copy_rtx_and_substitute().

rtx get_pool_constant_mark ( rtx  addr,
bool pmarked 
)

Definition at line 3379 of file varasm.c.

enum machine_mode get_pool_mode ( rtx  addr  ) 

enum machine_mode get_pool_mode_for_function ( struct function f,
rtx  addr 
)

Definition at line 3408 of file varasm.c.

References find_pool_constant().

Referenced by copy_rtx_and_substitute().

int get_pool_offset ( rtx  addr  ) 

Definition at line 3418 of file varasm.c.

References cfun, and find_pool_constant().

Referenced by machine_dependent_reorg(), memory_offset_in_range_p(), and print_operand().

int get_pool_size ( void   ) 

static void globalize_decl ( tree  decl  )  [static]

static GTY ( (param_is(struct deferred_string))   )  [static]

Definition at line 2260 of file varasm.c.

References STRHASH.

struct varasm_status GTY ( ()   )  [read, write]

Definition at line 89 of file varasm.c.

References GTY, HOST_WIDE_INT, and length.

int in_data_section ( void   ) 

Definition at line 317 of file varasm.c.

static int in_named_entry_eq ( PTR  p1,
const PTR  p2 
) const [static]

Definition at line 325 of file varasm.c.

References in_named_entry::name, and strcmp().

Referenced by init_varasm_once().

static hashval_t in_named_entry_hash ( PTR  p  )  const [static]

Definition at line 336 of file varasm.c.

References htab_hash_string(), and in_named_entry::name.

Referenced by init_varasm_once().

int in_text_section ( void   ) 

void init_varasm_once ( void   ) 

Definition at line 4859 of file varasm.c.

Referenced by backend_init().

void init_varasm_status ( struct function f  ) 

Definition at line 2958 of file varasm.c.

Referenced by prepare_function_start().

tree initializer_constant_valid_p ( tree  value,
tree  endtype 
)

const char* integer_asm_op ( int  size,
int  aligned_p 
)

void make_decl_one_only ( tree  decl  ) 

void make_decl_rtl ( tree  decl,
const char *  asmspec 
)

Definition at line 799 of file varasm.c.

References abort, adjust_address_nv, alloca, ASM_DECLARE_REGISTER_GLOBAL, ASM_FORMAT_PRIVATE_NAME, asm_out_file, DECL_ASSEMBLER_NAME, DECL_COMMON, DECL_CONTEXT, DECL_EXTERNAL, DECL_INITIAL, DECL_MODE, DECL_NAME, DECL_REGISTER, DECL_RTL, DECL_RTL_SET_P, DECL_SECTION_NAME, DECL_WEAK, decode_reg_name(), gcc_target::encode_section_info, error(), flag_volatile_global, flag_volatile_static, gen_rtx_MEM(), gen_rtx_raw_REG, gen_rtx_SYMBOL_REF, get_identifier(), GET_MODE, globalize_reg(), HARD_REGNO_MODE_OK, HARD_REGNO_NREGS, IDENTIFIER_POINTER, nregs, NULL_TREE, ORIGINAL_REGNO, Pmode, REG_USERVAR_P, SET_DECL_ASSEMBLER_NAME, SET_DECL_RTL, set_mem_attributes(), strcpy, strlen(), SYMBOL_REF_WEAK, targetm, TREE_CODE, TREE_PUBLIC, TREE_SIDE_EFFECTS, TREE_STATIC, TREE_THIS_VOLATILE, TREE_TYPE, TYPE_MODE, TYPE_P, warning, x, and XEXP.

Referenced by assemble_alias(), build_class_ref(), build_class_reference_decl(), build_constant_data_ref(), build_java_class_ref(), build_jni_stub(), build_known_method_ref(), build_objc_string_decl(), build_protocol_reference(), build_selector_reference_decl(), build_static_field_ref(), build_utf8_ref(), builtin_function(), builtin_function_1(), c_parser_omp_threadprivate(), clear_storage_libcall_fn(), compile_resource_file(), cp_finish_decl(), create_builtin_decl(), define_builtin(), duplicate_decls(), emit_block_move_libcall_fn(), emit_register_classes(), ffecom_init_zero_(), ffecom_lookup_label(), finish_anon_union(), finish_omp_threadprivate(), get_dispatch_table(), layout_class_method(), make_rtl_for_nonlocal_decl(), merge_decls(), output_func_start_profiler(), rest_of_decl_compilation(), start_function(), and synth_module_prologue().

void make_var_volatile ( tree  var  ) 

Definition at line 979 of file varasm.c.

Referenced by duplicate_decls(), and merge_decls().

static int mark_constant ( rtx current_rtx,
data   
) [static]

static void mark_constant_pool ( void   )  [static]

static void mark_constants ( rtx  x  )  [static]

static void maybe_assemble_visibility ( tree  decl  )  [static]

rtx mem_for_const_double ( rtx  x  ) 

Definition at line 3243 of file varasm.c.

References compare_constant_rtx(), const_hash_rtx(), const_rtx_hash_table, and GET_MODE.

void merge_weak ( tree  newdecl,
tree  olddecl 
)

Definition at line 4574 of file varasm.c.

Referenced by duplicate_decls(), and merge_decls().

void mergeable_constant_section ( mode  ,
align  ,
flags   
)

void mergeable_string_section ( decl  ,
align  ,
flags   
)

static unsigned min_align ( unsigned int  a,
unsigned int  b 
) [inline, static]

void named_section ( tree  decl,
const char *  name,
int  reloc 
)

bool named_section_first_declaration ( char *  name  )  const

Definition at line 366 of file varasm.c.

References htab_find_slot_with_hash(), htab_hash_string(), and NO_INSERT.

Referenced by default_elf_asm_named_section().

void named_section_flags ( char *  name,
unsigned int  flags 
) const

static int output_addressed_constants ( tree  exp  )  [static]

static void output_after_function_constants (  )  [static]

void output_constant ( tree  exp,
HOST_WIDE_INT  size,
unsigned int  align 
)

rtx output_constant_def ( tree  exp,
int  defer 
)

static void output_constant_def_contents ( tree  exp,
int  reloc,
int  labelno 
) [static]

void output_constant_pool ( fnname  ,
fndecl   
) const

static void output_constructor ( tree  exp,
HOST_WIDE_INT  size,
unsigned int  align 
) [static]

void output_deferred_addressed_constants (  ) 

static bool asm_emit_uninitialised PARAMS ( (tree, const char *, int, int)   )  [static]

static int const_str_htab_eq PARAMS ( (const void *x, const void *y)   )  [static]

static hashval_t const_str_htab_hash PARAMS ( (const void *x)   )  [static]

static hashval_t in_named_entry_hash PARAMS ( (const PTR  )  [static]

static int in_named_entry_eq PARAMS ( (const PTR, const PTR  )  [static]

static void output_constructor PARAMS ( (tree, HOST_WIDE_INT, unsigned int)   )  [static]

static unsigned min_align PARAMS ( (unsigned, unsigned)   )  [static]

static int mark_constant PARAMS ( (rtx *current_rtx, void *data  )  [static]

static void mark_constants PARAMS ( (rtx  )  [static]

static void mark_constant_pool PARAMS ( (void  )  [static, read]

Definition at line 77 of file cplus-dem.c.

static struct pool_constant* find_pool_constant PARAMS ( (struct function *, rtx  )  [static, read]

static int compare_constant_rtx PARAMS ( (enum machine_mode, rtx, struct constant_descriptor_rtx *)   )  [static]

static unsigned int const_hash_rtx PARAMS ( (enum machine_mode, rtx  )  [static]

static void decode_rtx_const PARAMS ( (enum machine_mode, rtx, struct rtx_const *)   )  [static]

static void output_constant_def_contents PARAMS ( (tree, int, int)   )  [static]

static int compare_constant PARAMS ( (tree, tree  )  [static]

static void decode_addr_const PARAMS ( (tree, struct addr_const *)   )  [static]

static int contains_pointers_p PARAMS ( (tree  )  [static]

static const char* strip_reg_name PARAMS ( (const char *)   )  [static, read]

Definition at line 635 of file mips-tfile.c.

void readonly_data_section ( void   ) 

static struct constant_descriptor_rtx* record_constant_rtx ( enum machine_mode  mode,
rtx  x 
) [static, read]

Definition at line 3227 of file varasm.c.

References decode_rtx_const(), ggc_alloc, and ptr.

Referenced by force_const_mem().

void resolve_unique_section ( tree  decl,
reloc  ,
int  flag_function_or_data_sections 
)

bool set_named_section_flags ( char *  section,
unsigned int  flags 
) const

rtx simplify_subtraction ( rtx  x  ) 

Definition at line 3164 of file varasm.c.

Referenced by cris_output_addr_const(), output_addr_const(), and output_addr_const_pdp11().

static const char* strip_reg_name ( char *  name  )  const [static]

Definition at line 714 of file varasm.c.

References REGISTER_PREFIX, strlen(), and strncmp().

Referenced by decode_reg_name(), and gs_decode_reg_name().

int supports_one_only ( void   ) 

Definition at line 4823 of file varasm.c.

Referenced by cxx_init_decl_processing().

void text_section ( void   ) 

Definition at line 240 of file varasm.c.

void variable_section ( tree  decl,
int  reloc 
)

Definition at line 596 of file varasm.c.

Referenced by assemble_variable().

void weak_finish ( void   ) 

Definition at line 4657 of file varasm.c.

Referenced by compile_file(), and WFE_Compile_File().

void WFE_Add_Weak ( void   ) 

Definition at line 3649 of file wfe_decl.cxx.

Referenced by declare_weak().

void WFE_Weak_Finish ( void   ) 

Definition at line 3665 of file wfe_decl.cxx.

Referenced by weak_finish().


Variable Documentation

Definition at line 2562 of file varasm.c.

HOST_WIDE_INT const_alias_set [static]

Definition at line 148 of file varasm.c.

Referenced by force_const_mem(), init_varasm_once(), and output_constant_def().

Definition at line 2566 of file varasm.c.

Definition at line 2558 of file varasm.c.

Referenced by GTY().

Definition at line 79 of file varasm.c.

Definition at line 230 of file varasm.c.

const char* in_named_name [static]

Definition at line 139 of file varasm.c.

Definition at line 132 of file varasm.c.

Definition at line 127 of file varasm.c.

Referenced by build_compound_literal(), and make_decl_rtl().

Definition at line 80 of file varasm.c.


Generated on Wed Apr 8 15:47:57 2009 for Open64 by  doxygen 1.5.6