diff options
author | Jan Hubicka <jh@suse.cz> | 2008-04-18 07:26:12 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-04-18 05:26:12 +0000 |
commit | cb91fab00f7d609859c5648466848cc00dd83c69 (patch) | |
tree | ff651786f6b6c26df6f5b099b6f4c00550e248dd /gcc/function.h | |
parent | 799cff46ec8fe37c60605f22d8a9d6a39dcdb364 (diff) | |
download | gcc-cb91fab00f7d609859c5648466848cc00dd83c69.tar.gz |
except.c (dw2_size_of_call_site_table, [...]): Use vector API for call_site_record.
* except.c (dw2_size_of_call_site_table,
sjlj_size_of_call_site_table): Use vector API for call_site_record.
* cgraphbuild.c (build_cgraph_edges): Update.
* tree-pass.h: Update comment.
* final.c (leaf_function_p): Update.
(leaf_renumber_regs): Update.
(rest_of_clean_state): Update.
* omp-low.c (expand_omp_parallel): Update.
* ipa-reference.c (analyze_function): Update.
* reorg.c (find_end_label): Update.
(optimize_skip): Update.
(fill_simple_delay_slots): Update.
(fill_simple_delay_slots): Update.
(make_return_insns): Update.
(dbr_schedule): Update.
* gimple-low.c (record_vars_into): Update.
* cfgbuild.c (make_edges): Update.
* function.c (assign_stack_local): Update.
(assign_parm_adjust_stack_rtl): Update.
(locate_and_pad_parm): Update.
(allocate_struct_function): Do not initialize stack_alignment_needed
and preferred_stack_boundary here.
(stack_protect_prologue): Update.
(stack_protect_epilogue): Update.
(expand_function_start): Initialize stack_alignment_needed,
preferred_stack_boundary and max_jumptable_ents.
(expand_function_end): Update.
(free_after_compilation): Do not NULLify epilogue_delay_list.
* function.h (struct rtl_data): Add stack_protect_guard,
stack_alignment_needed,
preferred_stack_boundary, epilogue_delay_list.
(struct function): Remove value_histograms, stack_alignment_needed,
preferred_stack_boundary, epilogue_delay_list, max_jumptable_ents,
last_label_uid,
unexpanded_var_list, stack_protect_guard.
(current_function_epilogue_delay_list): Remove.
* ipa-type-escape.c (analyze_function): Update.
* gimplify.c (pop_gimplify_context): Update comment.
* calls.c (expand_call): Update.
(emit_library_call_value_1): Update.
* except.c (set_nothrow_function_flags): Update.
* cfgexpand.c (get_decl_align_unit): Update.
(create_stack_guard): Update.
(estimated_stack_frame_size): Update.
(expand_used_vars): Update.
(tree_expand_cfg): Free histogram earliers, init expansion variables.
* explow.c (allocate_dynamic_stack_space): Update.
* tree-ssa-live.c (remove_unused_locals): Update.
* varasm.c (mark_constant_pool): Update.
* tree-inline.c (remap_decls): Update.
(initialize_cfun): Update.
(declare_return_variable): Update.
(inline_forbidden_p): Update.
(expand_call_inline): Update.
(declare_inline_vars): Update.
(tree_function_versioning): Update.
* tree-flow.h (value_histograms): New.
(VALUE_HISTOGRAMS): New macro.
* basic-block.h (control_flow_graph): Add max_jumptable_ents,
last_label_uid.
* tree-cfg.c (set_bb_for_stmt): Update.
(replace_by_duplicate_decl): Update.
(move_block_to_fn): Update.
(new_label_mapper): Update.
(dump_function_to_file): Update.
* ipa-struct-reorg.c (build_data_structure): Update.
* cfgrtl.c (print_rtl_with_bb): Update.
* reload1.c (reload): Update.
(reload): Update.
* config/i386/i386.c (setup_incoming_varargs_64,
ix86_compute_frame_layout): Update.
* config/arc/arc.c (arc_output_function_epilogue): Update.
From-SVN: r134425
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 47 |
1 files changed, 19 insertions, 28 deletions
diff --git a/gcc/function.h b/gcc/function.h index 1fe6d6a51ea..e98ffff88e7 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -275,6 +275,10 @@ struct rtl_data GTY(()) has_hard_reg_initial_val (see integrate.[hc]). */ struct initial_value_struct *hard_reg_initial_vals; + /* A variable living at the top of the frame that holds a known value. + Used for detecting stack clobbers. */ + tree stack_protect_guard; + /* List (chain of EXPR_LIST) of labels heading the current handlers for nonlocal gotos. */ rtx x_nonlocal_goto_handler_labels; @@ -290,7 +294,7 @@ struct rtl_data GTY(()) rtx x_naked_return_label; /* List (chain of EXPR_LISTs) of all stack slots in this function. - Made for the sake of unshare_all_crtl-> */ + Made for the sake of unshare_all_rtl. */ rtx x_stack_slot_list; /* Place after which to insert the tail_recursion_label if we need one. */ @@ -319,6 +323,17 @@ struct rtl_data GTY(()) /* Current nesting level for temporaries. */ int x_temp_slot_level; + /* The largest alignment of slot allocated on the stack. */ + unsigned int stack_alignment_needed; + + /* Preferred alignment of the end of stack frame. */ + unsigned int preferred_stack_boundary; + + /* For reorg. */ + + /* If some insns can be deferred to the delay slots of the epilogue, the + delay list for them is recorded here. */ + rtx epilogue_delay_list; }; #define return_label (crtl->x_return_label) @@ -378,46 +393,23 @@ struct function GTY(()) /* Function sequence number for profiling, debugging, etc. */ int funcdef_no; + /* List of function local variables, functions, types and constants. */ + tree local_decls; + /* For md files. */ /* tm.h can use this to store whatever it likes. */ struct machine_function * GTY ((maybe_undef)) machine; - /* The largest alignment of slot allocated on the stack. */ - unsigned int stack_alignment_needed; - - /* Preferred alignment of the end of stack frame. */ - unsigned int preferred_stack_boundary; - /* Language-specific code can use this to store whatever it likes. */ struct language_function * language; /* Used types hash table. */ htab_t GTY ((param_is (union tree_node))) used_types_hash; - /* For reorg. */ - - /* If some insns can be deferred to the delay slots of the epilogue, the - delay list for them is recorded here. */ - rtx epilogue_delay_list; - - /* Maximal number of entities in the single jumptable. Used to estimate - final flowgraph size. */ - int max_jumptable_ents; - - /* UIDs for LABEL_DECLs. */ - int last_label_uid; - /* Line number of the end of the function. */ location_t function_end_locus; - /* The variables unexpanded so far. */ - tree unexpanded_var_list; - - /* A variable living at the top of the frame that holds a known value. - Used for detecting stack clobbers. */ - tree stack_protect_guard; - /* Properties used by the pass manager. */ unsigned int curr_properties; unsigned int last_verified; @@ -584,7 +576,6 @@ extern void instantiate_decl_rtl (rtx x); #define current_function_limit_stack (cfun->limit_stack) #define current_function_uses_pic_offset_table (cfun->uses_pic_offset_table) #define current_function_uses_const_pool (cfun->uses_const_pool) -#define current_function_epilogue_delay_list (cfun->epilogue_delay_list) #define current_function_has_nonlocal_label (cfun->has_nonlocal_label) #define current_function_saves_all_registers (cfun->saves_all_registers) #define current_function_has_nonlocal_goto (cfun->has_nonlocal_goto) |