gcc/gcc
Andrey Belevantsev e855c69d16 sel-sched.h, [...]: New files.
2008-08-31  Andrey Belevantsev  <abel@ispras.ru>
        Dmitry Melnik  <dm@ispras.ru>
        Dmitry Zhurikhin  <zhur@ispras.ru>
        Alexander Monakov  <amonakov@ispras.ru>
        Maxim Kuvyrkov  <maxim@codesourcery.com>

	* sel-sched.h, sel-sched-dump.h, sel-sched-ir.h, sel-sched.c,
	sel-sched-dump.c, sel-sched-ir.c: New files.
	* Makefile.in (OBJS-common): Add selective scheduling object
	files.
	(sel-sched.o, sel-sched-dump.o, sel-sched-ir.o): New entries.
	(SEL_SCHED_IR_H, SEL_SCHED_DUMP_H): New entries.
	(sched-vis.o): Add dependency on $(INSN_ATTR_H).
	* cfghooks.h (get_cfg_hooks, set_cfg_hooks): New prototypes.
	* cfghooks.c (get_cfg_hooks, set_cfg_hooks): New functions.
	(make_forwarder_block): Update loop latch if we have redirected
	the loop latch edge.
	* cfgloop.c (get_loop_body_in_custom_order): New function.
	* cfgloop.h (LOOPS_HAVE_FALLTHRU_PREHEADERS): New enum field.
	(CP_FALLTHRU_PREHEADERS): Likewise.
	(get_loop_body_in_custom_order): Declare.
	* cfgloopmanip.c (has_preds_from_loop): New.
	(create_preheader): Honor CP_FALLTHRU_PREHEADERS.
	Assert that the preheader edge will be fall thru when it is set.
	* common.opt (fsel-sched-bookkeeping, fsel-sched-pipelining,
	fsel-sched-pipelining-outer-loops, fsel-sched-renaming,
	fsel-sched-substitution, fselective-scheduling): New flags.
    	* cse.c (hash_rtx_cb): New.
	(hash_rtx): Use it.
	* dbgcnt.def (sel_sched_cnt, sel_sched_region_cnt,
	sel_sched_insn_cnt): New counters. 
	* final.c (compute_alignments): Export.  Free dominance info after loop_optimizer_finalize.
	* genattr.c (main): Output maximal_insn_latency prototype.
	* genautomata.c (output_default_latencies): New. Factor its code from ...
	(output_internal_insn_latency_func): ... here.
	(output_internal_maximal_insn_latency_func): New.
	(output_maximal_insn_latency_func): New.
	* hard-reg-set.h (UHOST_BITS_PER_WIDE_INT): Define unconditionally.
	(struct hard_reg_set_iterator): New.
	(hard_reg_set_iter_init, hard_reg_set_iter_set,
	hard_reg_set_iter_next): New functions.
	(EXECUTE_IF_SET_IN_HARD_REG_SET): New macro.
	* lists.c (remove_free_INSN_LIST_node,
	remove_free_EXPR_LIST_node): New functions.
	* loop-init.c (loop_optimizer_init): When LOOPS_HAVE_FALLTHRU_PREHEADERS,
	set CP_FALLTHRU_PREHEADERS when calling create_preheaders.
	(loop_optimizer_finalize): Do not verify flow info after reload.
	* recog.c (validate_replace_rtx_1): New parameter simplify.
	Default it to true.  Update all uses.  Factor out simplifying
	code to ...
	(simplify_while_replacing): ... this new function.
	(validate_replace_rtx_part,
	validate_replace_rtx_part_nosimplify): New.
	* recog.h (validate_replace_rtx_part,
	validate_replace_rtx_part_nosimplify): Declare.
	* rtl.c (rtx_equal_p_cb): New.
	(rtx_equal_p): Use it.
	* rtl.h (rtx_equal_p_cb, hash_rtx_cb): Declare.
	(remove_free_INSN_LIST_NODE, remove_free_EXPR_LIST_node,
	debug_bb_n_slim, debug_bb_slim,    print_rtl_slim): Likewise.
	* vecprim.h: Add a vector type for unsigned int. 
	* haifa-sched.c: Include vecprim.h and cfgloop.h.
	(issue_rate, sched_verbose_param, note_list, dfa_state_size,
	ready_try, cycle_issued_insns, spec_info): Make global.
	(readyp): Initialize.
	(dfa_lookahead): New global variable.
	(old_max_uid, old_last_basic_block): Remove.
	(h_i_d): Make it a vector.
	(INSN_TICK, INTER_TICK, QUEUE_INDEX, INSN_COST): Make them work
	through HID macro.
	(after_recovery, adding_bb_to_current_region_p):
	New variables to handle correct insertion of the recovery code.
	(struct ready_list): Move declaration to sched-int.h.
	(rgn_n_insns): Removed.
	(rtx_vec_t): Move to sched-int.h.
	(find_insn_reg_weight): Remove.
	(find_insn_reg_weight1): Rename to find_insn_reg_weight.
	(haifa_init_h_i_d, haifa_finish_h_i_d):
	New functions to initialize / finalize haifa instruction data.
	(extend_h_i_d, init_h_i_d): Rewrite.
	(unlink_other_notes): Move logic to add_to_note_list.  Handle
	selective scheduler.
	(ready_lastpos, ready_element, ready_sort, reemit_notes,
	find_fallthru_edge): Make global, remove static prototypes.
	(max_issue): Make global.  Add privileged_n and state parameters.  Use
	them.  
	(extend_global, extend_all): Removed.
	(init_before_recovery): Add new param.  Fix the handling of the case
	when we insert a recovery code before the EXIT which has a predecessor
	with a fallthrough edge to it.
	(create_recovery_block): Make global.  Rename to
	sched_create_recovery_block.  Update.
	(change_pattern): Rename to sched_change_pattern.  Make global.
	(speculate_insn): Rename to sched_speculate_insn.  Make global.
	Split haifa-specific functionality into ...
	(haifa_change_pattern): New static function.
	(sched_extend_bb): New static function.
	(sched_init_bbs): New function.
	(current_sched_info): Change type to struct haifa_sched_info.
	(insn_cost): Adjust for selective scheduling.
	(dep_cost_1): New function.  Move logic from ...
	(dep_cost): ... here.
	(dep_cost): Use dep_cost_1.
	(contributes_to_priority_p): Use sched_deps_info instead of
	current_sched_info.
	(priority): Adjust to work with selective scheduling.  Process the
	corner case when all dependencies don't contribute to priority.
	(rank_for_schedule): Use ds_weak instead of dep_weak.
	(advance_state): New function.  Move logic from ...
	(advance_one_cycle): ... here.
	(add_to_note_list, concat_note_lists): New functions.
	(rm_other_notes): Make static.  Adjust for selective scheduling.
	(remove_notes, restore_other_notes): New functions.
	(move_insn): Add two arguments.  Update assert.  Don't call
	reemit_notes.
	(choose_ready): Remove lookahead variable, use dfa_lookahead.
	Remove more_issue, max_points.  Move the code to initialize
	max_lookahead_tries to max_issue.
	(schedule_block): Remove rgn_n_insns1 parameter.  Don't allocate
	ready.  Adjust use of move_insn.  Call restore_other_notes.
	(luid): Remove.
	(sched_init, sched_finish): Move Haifa-specific initialization/
	finalization to ...
	(haifa_sched_init, haifa_sched_finish): ... respectively.
	New functions.
	(setup_sched_dump): New function.
	(haifa_init_only_bb): New static function.
	(haifa_speculate_insn): New static function.
	(try_ready): Use haifa_* instead of speculate_insn and
	change_pattern.
	(extend_ready, extend_all): Remove.
	(sched_extend_ready_list, sched_finish_ready_list): New functions.
	(create_check_block_twin, add_to_speculative_block): Use
	haifa_insns_init instead of extend_global.  Update to use new
	initialization functions.  Change parameter.  Factor out code from
	create_check_block_twin to ...
	(sched_create_recovery_edges) ... this new function.
	(add_block): Remove.
	(sched_scan_info): New.
	(extend_bb): Use sched_scan_info.
	(init_bb, extend_insn, init_insn, init_insns_in_bb, sched_scan): New
	static functions for walking through scheduling region.
	(sched_luids): New vector variable to replace uid_to_luid.
	(luids_extend_insn): New function.
	(sched_max_luid): New variable.
	(luids_init_insn): New function.
	(sched_init_luids, sched_finish_luids): New functions.
	(insn_luid): New debug function.
	(sched_extend_target): New function.
	(haifa_init_insn): New static function.
	(sched_init_only_bb): New hook.
	(sched_split_block): New hook.
	(sched_split_block_1): New function.
	(sched_create_empty_bb): New hook.
	(sched_create_empty_bb_1): New function.	
	(common_sched_info, ready): New global variables.
	(current_sched_info_var): Remove.
	(move_block_after_check): Use common_sched_info.		
	(haifa_luid_for_non_insn): New static function.	
	(init_before_recovery): Use haifa_init_only_bb instead of
	add_block.
	(increase_insn_priority): New.
	* modulo-sched.c: (issue_rate): Remove static declaration.
	(sms_sched_info): Change type to haifa_sched_info.
	(sms_sched_deps_info, sms_common_sched_info): New variables.
	(setup_sched_infos): New.
	(sms_schedule): Initialize them.  Call haifa_sched_init/finish.
	Do not call regstat_free_calls_crossed.
	(sms_print_insn): Use const_rtx.
	* params.def (PARAM_MAX_PIPELINE_REGION_BLOCKS,
	PARAM_MAX_PIPELINE_REGION_INSNS, PARAM_SELSCHED_MAX_LOOKAHEAD,
	PARAM_SELSCHED_MAX_SCHED_TIMES, PARAM_SELSCHED_INSNS_TO_RENAME,
	PARAM_SCHED_MEM_TRUE_DEP_COST): New.
	* sched-deps.c (sched_deps_info): New.  Update all relevant uses of
	current_sched_info to use it.
	(enum reg_pending_barrier_mode): Move to sched-int.h.
	(h_d_i_d): New variable. Initialize to NULL.
	({true, output, anti, spec, forward}_dependency_cache): Initialize
	to NULL.
	(estimate_dep_weak): Remove static declaration.
	(sched_has_condition_p): New function.  Adjust users of
	sched_get_condition to use it instead.
	(conditions_mutex_p): Add arguments indicating which conditions are
	reversed.  Use them.
	(sched_get_condition_with_rev): Rename from sched_get_condition.  Add
	argument to indicate whether returned condition is reversed.  Do not
	generate new rtx when condition should be reversed; indicate it by
	setting new argument instead.
	(add_dependence_list_and_free): Add deps parameter.
	Update all users.  Do not free dependence list when
	deps context is readonly.
	(add_insn_mem_dependence, flush_pending_lists): Adjust for readonly
	contexts.
	(remove_from_dependence_list, remove_from_both_dependence_lists): New.
	(remove_from_deps): New. Use the above functions.	
	(cur_insn, can_start_lhs_rhs_p): New static variables.
	(add_or_update_back_dep_1): Initialize present_dep_type.
	(haifa_start_insn, haifa_finish_insn, haifa_note_reg_set,
	haifa_note_reg_clobber, haifa_note_reg_use, haifa_note_mem_dep,
	haifa_note_dep): New functions implementing dependence hooks for
	the Haifa scheduler.
	(note_reg_use, note_reg_set, note_reg_clobber, note_mem_dep,
	note_dep): New functions.
	(ds_to_dt, extend_deps_reg_info, maybe_extend_reg_info_p): New
	functions.
	(init_deps): Initialize last_reg_pending_barrier and deps->readonly.
	(free_deps): Initialize deps->reg_last.
	(sched_analyze_reg, sched_analyze_1, sched_analyze_2,
	sched_analyze_insn): Update to use dependency hooks infrastructure
	and readonly contexts.
	(deps_analyze_insn): New function.  Move part of logic from ...
	(sched_analyze): ... here.  Also move some logic to ...
	(deps_start_bb): ... here.  New function.
	(add_forw_dep, delete_forw_dep): Guard use of INSN_DEP_COUNT with
	sel_sched_p.
	(sched_deps_init): New function.  Move code from ...
	(init_dependency_caches): ... here.  Remove.
	(init_deps_data_vector): New.
	(sched_deps_finish): New function.  Move code from ...
	(free_dependency_caches): ... here.  Remove.
	(init_deps_global, finish_deps_global): Adjust for use with
	selective scheduling.
	(get_dep_weak): Move logic to ...
	(get_dep_weak_1): New function.
	(ds_merge): Move logic to ...
	(ds_merge_1): New static function.
	(ds_full_merge, ds_max_merge, ds_get_speculation_types): New functions.
	(ds_get_max_dep_weak): New function.
	* sched-ebb.c (sched_n_insns): Rename to sched_rgn_n_insns.
	(n_insns): Rename to rgn_n_insns.
	(debug_ebb_dependencies): New function.
	(init_ready_list): Use it.
	(begin_schedule_ready): Use sched_init_only_bb.
	(ebb_print_insn): Indicate when an insn starts a new cycle.
	(contributes_to_priority, compute_jump_reg_dependencies,
	add_remove_insn, fix_recovery_cfg): Add ebb_ prefix to function names.
	(add_block1): Remove to ebb_add_block.
	(ebb_sched_deps_info, ebb_common_sched_info): New variables.
	(schedule_ebb): Initialize them.  Use remove_notes instead of
	rm_other_notes.  Use haifa_local_init/finish.
	(schedule_ebbs): Use haifa_sched_init/finish.
	* sched-int.h: Include vecprim.h, remove rtl.h.
	(struct ready_list): Delete declaration.
	(sched_verbose_param, enum sched_pass_id_t,
	bb_vec_t, insn_vec_t, rtx_vec_t): New.
	(struct sched_scan_info_def): New structure.
	(sched_scan_info, sched_scan, sched_init_bbs,
	sched_init_luids, sched_finish_luids, sched_extend_target,
	haifa_init_h_i_d, haifa_finish_h_i_d): Declare.
	(struct common_sched_info_def): New.
	(common_sched_info, haifa_common_sched_info,
	sched_emulate_haifa_p): Declare.
	(sel_sched_p): New.
	(sched_luids): Declare.
	(INSN_LUID, LUID_BY_UID, SET_INSN_LUID): Declare.
	(sched_max_luid, insn_luid): Declare.
	(note_list, remove_notes, restore_other_notes, bb_note): Declare.
	(sched_insns_init, sched_insns_finish, xrecalloc, reemit_notes,
	print_insn, print_pattern, print_value, haifa_classify_insn,
	sel_find_rgns, sel_mark_hard_insn, dfa_state_size, advance_state,
	setup_sched_dump, sched_init, sched_finish,
	sel_insn_is_speculation_check): Export.
	(struct ready_list): Move from haifa-sched.c.
	(ready_try, ready, max_issue): Export.
	(ebb_compute_jump_reg_dependencies, find_fallthru_edge,
	sched_init_only_bb, sched_split_block, sched_split_block_1,
	sched_create_empty_bb, sched_create_empty_bb_1,
	sched_create_recovery_block, sched_create_recovery_edges): Export.
	(enum reg_pending_barrier_mode): Export.
	(struct deps): New fields `last_reg_pending_barrier' and `readonly'.
	(deps_t): New.
	(struct sched_info): Rename to haifa_sched_info.  Use const_rtx for
	print_insn field.  Move add_block and fix_recovery_cfg to
	common_sched_info_def.  Move compute_jump_reg_dependencies, use_cselib  ...
	(struct sched_deps_info_def): ... this new structure.
	(sched_deps_info): Declare.
	(struct spec_info_def): Remove weakness_cutoff, add
	data_weakness_cutoff and control_weakness_cutoff.
	(spec_info): Declare.
	(struct _haifa_deps_insn_data): Split from haifa_insn_data.  Add
	dep_count field.
	(struct haifa_insn_data): Rename to struct _haifa_insn_data.
	(haifa_insn_data_def, haifa_insn_data_t): New typedefs.
	(current_sched_info): Change type to struct haifa_sched_info.
	(haifa_deps_insn_data_def, haifa_deps_insn_data_t): New typedefs.
	(h_d_i_d): New variable.
	(HDID): New accessor macro.
	(h_i_d): Change type to VEC (haifa_insn_data_def, heap) *.
	(HID): New accessor macro.  Rewrite h_i_d accessor macros through HID
	and HDID.
	(IS_SPECULATION_CHECK_P): Update for selective scheduler.
	(enum SCHED_FLAGS): Update for selective scheduler.
	(enum SPEC_SCHED_FLAGS): New flag SEL_SCHED_SPEC_DONT_CHECK_CONTROL.
	(init_dependency_caches, free_dependency_caches): Delete declarations.
	(deps_analyze_insn, remove_from_deps, get_dep_weak_1,
	estimate_dep_weak, ds_full_merge, ds_max_merge, ds_weak,
	ds_get_speculation_types, ds_get_max_dep_weak, sched_deps_init,
	sched_deps_finish, haifa_note_reg_set, haifa_note_reg_use,
	haifa_note_reg_clobber, maybe_extend_reg_info_p, deps_start_bb,
	ds_to_dt): Export.
	(rm_other_notes): Delete declaration.
	(schedule_block): Remove one argument.
	(cycle_issued_insns, issue_rate, dfa_lookahead, ready_sort,
	ready_element, ready_lastpos, sched_extend_ready_list,
	sched_finish_ready_list, sched_change_pattern, sched_speculate_insn,
	concat_note_lists): Export.
	(struct region): Move from sched-rgn.h.
	(nr_regions, rgn_table, rgn_bb_table, block_to_bb, containing_rgn,
	RGN_NR_BLOCKS, RGN_BLOCKS, RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB,
	BLOCK_TO_BB, CONTAINING_RGN): Export.
	(ebb_head, BB_TO_BLOCK, EBB_FIRST_BB, EBB_LAST_BB, INSN_BB): Likewise.
	(current_nr_blocks, current_blocks, target_bb): Likewise.
	(dep_cost_1, sched_is_disabled_for_current_region_p, sched_rgn_init,
	sched_rgn_finish, rgn_setup_region, sched_rgn_compute_dependencies,
	sched_rgn_local_init, extend_regions,
	rgn_make_new_region_out_of_new_block, compute_priorities,
	debug_rgn_dependencies, free_rgn_deps, contributes_to_priority,
	extend_rgns, deps_join rgn_setup_common_sched_info,
	rgn_setup_sched_infos, debug_regions, debug_region, dump_region_dot,
	dump_region_dot_file, haifa_sched_init, haifa_sched_finish): Export.
	(get_rgn_sched_max_insns_priority, sel_add_to_insn_priority, 
	increase_insn_priority): Likewise.
	* sched-rgn.c: Include sel-sched.h.
	(ref_counts): New static variable.  Use it ...
	(INSN_REF_COUNT): ... here.  Rewrite and move closer to uses.
	(FED_BY_SPEC_LOAD, IS_LOAD_INSN): Rewrite to use HID accessor macro.
	(sched_is_disabled_for_current_region_p): Delete static declaration.
	(struct region): Move to sched-int.h.
	(nr_regions, rgn_table, rgn_bb_table, block_to_bb, containing_rgn,
	ebb_head): Define and initialize.
	(RGN_NR_BLOCKS, RGN_BLOCKS, RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB,
	BLOCK_TO_BB, CONTAINING_RGN, debug_regions, extend_regions,
	BB_TO_BLOCK, EBB_FIRST_BB, EBB_LAST_BB): Move to
	sched-int.h.
	(find_single_block_region): Add new argument to indicate that EBB
	regions should be constructed.
	(debug_live): Delete declaration.
	(current_nr_blocks, current_blocks, target_bb): Remove static qualifiers.
	(compute_dom_prob_ps, check_live, update_live, set_spec_fed): Delete
	declaration.
	(init_regions): Delete declaration.
	(debug_region, bb_in_region_p, dump_region_dot_file, dump_region_dot,
	rgn_estimate_number_of_insns): New.
	(too_large): Use estimate_number_of_insns.
	(haifa_find_rgns): New. Move the code from ...
	(find_rgns): ... here.  Call either sel_find_rgns or haifa_find_rgns.
	(free_trg_info): New.
	(compute_trg_info): Allocate candidate tables here instead of ...
	(init_ready_list): ... here.
	(rgn_print_insn): Use const_rtx.
	(contributes_to_priority, extend_regions): Delete static declaration.
	(add_remove_insn, fix_recovery_cfg): Add rgn_ to function names.
	(add_block1): Rename to rgn_add_block.
	(debug_rgn_dependencies): Delete static qualifier.
	(new_ready): Use sched_deps_info.  Simplify.
	(rgn_common_sched_info, rgn_const_sched_deps_info,
	rgn_const_sel_sched_deps_info, rgn_sched_deps_info, rgn_sched_info): New.
	(region_sched_info): Rename to rgn_const_sched_info.
	(deps_join): New, extracted from ...
	(propagate_deps): ... here.
	(compute_block_dependences, debug_dependencies): Update for selective
	scheduling.
	(free_rgn_deps, compute_priorities): New functions.
	(sched_rgn_init, sched_rgn_finish, rgn_setup_region,
	sched_rgn_compute_dependencies): New functions.
	(schedule_region): Use them.
	(sched_rgn_local_init, sched_rgn_local_free, sched_rgn_local_finish,
	rgn_setup_common_sched_info, rgn_setup_sched_infos):
	New functions.
	(schedule_insns): Call new functions that were split out.
	(rgn_make_new_region_out_of_new_block): New.
	(get_rgn_sched_max_insns_priority): New.
	(rest_of_handle_sched, rest_of_handle_sched2): Call selective
	scheduling when appropriate.
	* sched-vis.c: Include insn-attr.h.
	(print_value, print_pattern): Make global.
	(print_rtl_slim, debug_bb_slim, debug_bb_n_slim): New functions.
	* target-def.h (TARGET_SCHED_ADJUST_COST_2,
	TARGET_SCHED_ALLOC_SCHED_CONTEXT, TARGET_SCHED_INIT_SCHED_CONTEXT,
	TARGET_SCHED_SET_SCHED_CONTEXT, TARGET_SCHED_CLEAR_SCHED_CONTEXT,
	TARGET_SCHED_FREE_SCHED_CONTEXT, TARGET_SCHED_GET_INSN_CHECKED_DS,
	TARGET_SCHED_GET_INSN_SPEC_DS, TARGET_SCHED_SKIP_RTX_P): New target
	hooks.  Initialize them to 0.
	(TARGET_SCHED_GEN_CHECK): Rename to TARGET_SCHED_GEN_SPEC_CHECK.
	* target.h (struct gcc_target): Add them.  Rename gen_check field to
	gen_spec_check.
	* flags.h (sel_sched_switch_set): Declare.
	* opts.c (sel_sched_switch_set): New variable.
	(decode_options): Unset flag_sel_sched_pipelining_outer_loops if
	pipelining is disabled from command line.
	(common_handle_option): Record whether selective scheduling is
	requested from command line.
	* doc/invoke.texi: Document new flags and parameters.
	* doc/tm.texi: Document new target hooks.
	* config/ia64/ia64.c (TARGET_SCHED_GEN_SPEC_CHECK): Define to ia64_gen_check.
	(dfa_state_size): Do not declare locally.
	* config/ia64/ia64.opt (msched-ar-data-spec): Default to 0.
	* config/rs6000/rs6000.c (rs6000_init_sched_context,
	rs6000_alloc_sched_context, rs6000_set_sched_context,
	rs6000_free_sched_context): New functions.
	(struct _rs6000_sched_context): New.
	(rs6000_sched_reorder2): Do not modify INSN_PRIORITY for selective
	scheduling.
	(rs6000_sched_finish): Do not run for selective scheduling. 

Co-Authored-By: Alexander Monakov <amonakov@ispras.ru>
Co-Authored-By: Dmitry Melnik <dm@ispras.ru>
Co-Authored-By: Dmitry Zhurikhin <zhur@ispras.ru>
Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>

From-SVN: r139854
2008-09-01 12:57:00 +04:00
..
ada Make-lang.in: Allow s-oscons.{o,ali} to be built even without a separate libada directory. 2008-08-30 08:51:53 +00:00
config sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
cp Implement late-specified return type using 'auto'. 2008-08-31 23:33:19 -04:00
doc sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
fortran trans-expr.c (gfc_trans_string_copy): Use the correct types to compute slen and dlen. 2008-08-31 13:40:15 +00:00
ginclude
java class.c (make_class_data): Don't add field_index when flag_reduced_reflection set. 2008-08-21 16:08:26 +00:00
objc backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
objcp backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
po * fi.po: New. 2008-08-30 23:21:56 +01:00
testsuite Implement late-specified return type using 'auto'. 2008-08-31 23:33:19 -04:00
ABOUT-GCC-NLS
acinclude.m4 configure.ac: Drop unneeded backslash ending up in config.in. 2008-06-02 19:37:45 +00:00
aclocal.m4
addresses.h
alias.c [multiple changes] 2008-08-26 12:39:58 +00:00
alias.h
alloc-pool.c alloc-pool.c (hash_descriptor, [...]): Fix -Wc++-compat warnings. 2008-07-04 00:22:31 +00:00
alloc-pool.h
attribs.c Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
auto-inc-dec.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
BASE-VER
basic-block.h postreload-gcse.c (eliminate_partially_redundant_loads): Use optimize_bb_for_size_p. 2008-08-31 12:52:07 +00:00
bb-reorder.c parse.c (parse_interface): Silence uninitialized var warning. 2008-08-30 10:38:55 +00:00
bitmap.c alloc-pool.c (hash_descriptor, [...]): Fix -Wc++-compat warnings. 2008-07-04 00:22:31 +00:00
bitmap.h bitmap.h (bitmap_set_bit): Return bool. 2008-07-02 08:07:41 +00:00
bt-load.c bt-load.c (add_btr_def, [...]): Avoid C++ keywords. 2008-07-15 17:34:40 +00:00
builtin-attrs.def
builtin-types.def targhooks.h (struct gcc_target): New member unwind_word_mode. 2008-06-18 20:49:12 +00:00
builtins.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
builtins.def targhooks.h (struct gcc_target): New member unwind_word_mode. 2008-06-18 20:49:12 +00:00
c-aux-info.c
c-common.c Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
c-common.def
c-common.h re PR c/30551 (-pedantic does not include -Wmain, but -pedantic-errors does make -Wmain cause error messages) 2008-08-13 17:57:47 +00:00
c-config-lang.in
c-convert.c
c-cppbuiltin.c real.h (struct real_format): New member round_towards_zero. 2008-08-12 13:19:40 +00:00
c-decl.c Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
c-dump.c
c-errors.c diagnostic.c (pedwarn_at): Rename as pedwarn. 2008-08-21 10:55:13 +00:00
c-format.c * c-format.c (check_format_types): Revert unwanted checkin. 2008-07-29 18:27:50 +02:00
c-format.h c-lex.c (narrowest_unsigned_type): Change itk to int. 2008-06-22 14:56:08 +00:00
c-gimplify.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
c-lang.c tree.h (enum tree_code): Include all-tree.def, not tree.def. 2008-06-21 21:17:40 +00:00
c-lex.c diagnostic.c (pedwarn_at): Rename as pedwarn. 2008-08-21 10:55:13 +00:00
c-objc-common.c
c-objc-common.h Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
c-omp.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
c-opts.c diagnostic.c (inform): Add an explicit location_t parameter. 2008-08-20 13:35:00 +00:00
c-parser.c c-tree.h (grokfield): New argument. 2008-08-21 17:50:01 +00:00
c-pch.c diagnostic.c (inform): Add an explicit location_t parameter. 2008-08-20 13:35:00 +00:00
c-ppoutput.c * c-ppoutput.c (init_pp_output): Initialize src_line to 1. 2008-08-22 08:51:32 +00:00
c-pragma.c Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
c-pragma.h c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
c-pretty-print.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
c-pretty-print.h
c-semantics.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
c-tree.h Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
c-typeck.c re PR c/30949 ("incompatible pointer type" warning does not point to declaration) 2008-08-28 19:34:36 +00:00
c.opt re PR c/30551 (-pedantic does not include -Wmain, but -pedantic-errors does make -Wmain cause error messages) 2008-08-13 17:57:47 +00:00
caller-save.c [multiple changes] 2008-08-26 12:39:58 +00:00
calls.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
cfg.c cfg.c (dump_reg_info): Avoid C++ keywords. 2008-07-16 17:49:20 +00:00
cfganal.c cfganal.c: Include vec.h and vecprim.h. 2008-06-26 20:06:49 +00:00
cfgbuild.c rtl.h (emit_clobber, [...]): Declare. 2008-06-01 09:47:28 +00:00
cfgcleanup.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
cfgexpand.c gimple.c (gimple_build_call_1): Deal with FUNCTION_DECL fn. 2008-08-09 17:28:39 +00:00
cfghooks.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
cfghooks.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
cfglayout.c rtlanal.c (add_reg_note): New function. 2008-07-02 18:01:18 +00:00
cfglayout.h
cfgloop.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
cfgloop.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
cfgloopanal.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
cfgloopmanip.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
cfgrtl.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
cgraph.c cgraph.c (cgraph_remove_node): Do not remove nested nodes. 2008-08-29 16:41:35 +00:00
cgraph.h cgraph.c (cgraph_remove_node): Do not remove nested nodes. 2008-08-29 16:41:35 +00:00
cgraphbuild.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
cgraphunit.c tree.c (build_function_type_skip_args, [...]): New functions. 2008-08-29 11:31:40 +00:00
ChangeLog sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007 Fix my email address. 2008-08-12 06:57:53 +00:00
ChangeLog.dataflow
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
collect2.c collect2.c (symkind): New enum. 2008-07-26 14:26:45 +00:00
collect2.h
combine-stack-adj.c c-pch.c (get_ident): Avoid C++ keywords. 2008-07-16 17:55:42 +00:00
combine.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
common.opt sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
conditions.h
config.build
config.gcc [multiple changes] 2008-08-28 12:18:44 -07:00
config.host configure.ac: Add makefile fragments for hpux. 2008-07-30 12:17:17 +00:00
config.in invoke.texi: Add cpu_type power7. 2008-08-08 21:40:18 +00:00
configure configure.ac (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Remove spurrious comma from test. 2008-08-21 12:31:02 -07:00
configure.ac configure.ac (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Remove spurrious comma from test. 2008-08-21 12:31:02 -07:00
convert.c pa.c (reloc_needed): Use CASE_CONVERT. 2008-05-09 16:57:39 +02:00
convert.h
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
coretypes.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
coverage.c diagnostic.c (inform): Add an explicit location_t parameter. 2008-08-20 13:35:00 +00:00
coverage.h
cppdefault.c
cppdefault.h
cppspec.c
crtstuff.c
cse.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
cselib.c alias.c (record_alias_subset, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:28:15 +00:00
cselib.h Remove libcall notes. 2008-06-17 05:57:04 +00:00
cstamp-h.in
DATESTAMP Daily bump. 2008-09-01 00:16:34 +00:00
dbgcnt.c alias.c (record_alias_subset, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:28:15 +00:00
dbgcnt.def sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
dbgcnt.h
dbxout.c re PR fortran/29635 (debug info of modules) 2008-08-29 20:41:19 +02:00
dbxout.h
dce.c df.h (struct df_ref): Replace 'insn' field with 'insn_info' field. 2008-06-18 05:42:23 +00:00
dce.h
ddg.c df.h (struct df_ref): Replace 'insn' field with 'insn_info' field. 2008-06-18 05:42:23 +00:00
ddg.h
debug.c re PR fortran/29635 (debug info of modules) 2008-08-29 20:41:19 +02:00
debug.h re PR fortran/29635 (debug info of modules) 2008-08-29 20:41:19 +02:00
defaults.h defaults.h (TARGET_FLOAT_FORMAT): Remove. 2008-08-12 13:27:30 +00:00
DEV-PHASE
df-byte-scan.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
df-core.c On behalf of Tianwei, for the following change: 2008-07-08 17:08:40 +00:00
df-problems.c df-problems.c (df_set_note): Avoid C++ keywords. 2008-07-15 17:51:00 +00:00
df-scan.c df-problems.c (df_set_note): Avoid C++ keywords. 2008-07-15 17:51:00 +00:00
df.h alias.c (record_alias_subset, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:28:15 +00:00
dfp.c dfp.h, [...]: Remove references to IEEE 754R. 2008-06-19 11:13:53 +10:00
dfp.h dfp.h, [...]: Remove references to IEEE 754R. 2008-06-19 11:13:53 +10:00
diagnostic.c diagnostic.c (pedwarn_at): Rename as pedwarn. 2008-08-21 10:55:13 +00:00
diagnostic.def re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not emit errors) 2008-08-08 23:57:19 +00:00
diagnostic.h re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not emit errors) 2008-08-08 23:57:19 +00:00
dojump.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
dominance.c alias.c (record_alias_subset, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:28:15 +00:00
domwalk.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
domwalk.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
double-int.c
double-int.h
dse.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
dse.h
dummy-checksum.c
dwarf.h
dwarf2.h
dwarf2asm.c Makefile.in (c-cppbuiltin.o): Depend on debug.h. 2008-08-05 10:24:37 -07:00
dwarf2asm.h Makefile.in (c-cppbuiltin.o): Depend on debug.h. 2008-08-05 10:24:37 -07:00
dwarf2out.c re PR debug/37287 (ICE (segfault) with new debugging patch) 2008-08-31 13:23:04 +02:00
dwarf2out.h
ebitmap.c dwarf2out.c (new_cfi, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:25:08 +00:00
ebitmap.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
emit-rtl.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
emit-rtl.h
emutls.c
errors.c re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not emit errors) 2008-08-08 23:57:19 +00:00
errors.h re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not emit errors) 2008-08-08 23:57:19 +00:00
et-forest.c dwarf2out.c (new_cfi, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:25:08 +00:00
et-forest.h
except.c builtins.c (expand_builtin_profile_func): Avoid C++ keywords. 2008-08-06 15:57:09 +00:00
except.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
exec-tool.in exec-tool.in: Use an environment variable (private) instead of a file (shared) as a semaphore... 2008-05-30 15:19:45 -04:00
explow.c re PR middle-end/20548 (ACATS c52103x c52104x c52104y segfault) 2008-08-16 18:40:57 +00:00
expmed.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
expr.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
expr.h optabs.c (expand_abs_nojump): Update BRANCH_COST call. 2008-08-30 14:19:01 +00:00
final.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
fix-header.c scan.c (make_sstring_space): Add explicit conversions of allocator's return value. 2008-07-30 07:44:09 +00:00
fixed-value.c
fixed-value.h
fixproto
flags.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
fold-const.c re PR middle-end/37289 (ICE after non-trivial conversion at assignment) 2008-08-31 13:39:26 +00:00
fp-test.c
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
function.c re PR middle-end/20548 (ACATS c52103x c52104x c52104y segfault) 2008-08-16 18:40:57 +00:00
function.h re PR middle-end/37009 (No need to align stack when incoming stack is aligned) 2008-08-06 08:29:37 -07:00
fwprop.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
gbl-ctors.h
gcc.c re PR libgomp/26165 (Cannot find libgomp.spec after 'make install' on x86_64 and ppc64) 2008-08-12 18:19:08 +00:00
gcc.h
gccbug.in
gccspec.c
gcov-dump.c
gcov-io.c dwarf2out.c (new_cfi, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:25:08 +00:00
gcov-io.h
gcov-iov.c
gcov.c gcov.c (main): Call expandargv. 2008-08-29 10:07:23 +00:00
gcse.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
gdbinit.in
gen-protos.c
genattr.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
genattrtab.c genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
genautomata.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
gencheck.c tree.h (enum tree_code): Include all-tree.def, not tree.def. 2008-06-21 21:17:40 +00:00
genchecksum.c
gencodes.c
genconditions.c
genconfig.c
genconstants.c
genemit.c genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
genextract.c cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:22:12 +00:00
genflags.c
gengenrtl.c
gengtype-lex.l cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:22:12 +00:00
gengtype-parse.c
gengtype.c Makefile.in (write_entries_to_file): Quote words. 2008-08-06 16:10:22 +00:00
gengtype.h genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
genmddeps.c
genmodes.c
genmultilib
genopinit.c Add SSE5 vector shift/rotate; Update SSE5 vector multiply 2008-05-14 20:07:53 +00:00
genoutput.c genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
genpeep.c
genpreds.c cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:22:12 +00:00
genrecog.c genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
gensupport.c genattrtab.c (insert_right_side, [...]): Avoid C++ keywords. 2008-07-09 06:45:21 +00:00
gensupport.h gensupport.h (pred_data): Add a "num_codes" field. 2008-05-08 21:28:27 +00:00
ggc-common.c configure.ac: Check for caddr_t, define to char * if not defined. 2008-07-06 22:28:30 +02:00
ggc-none.c
ggc-page.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ggc-zone.c ggc-zone.c (lookup_page_table_if_allocated, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-07-04 04:47:55 +00:00
ggc.h ggc.h (GGC_RESIZEVAR): New, reorder macros. 2008-06-20 18:34:07 +00:00
gimple-iterator.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
gimple-low.c rtlanal.c: Fix uses of "it's" with "its" where appropriate. 2008-08-26 23:27:31 +10:00
gimple-pretty-print.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
gimple.c tree.c (build_function_type_skip_args, [...]): New functions. 2008-08-29 11:31:40 +00:00
gimple.def backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
gimple.h tree.c (build_function_type_skip_args, [...]): New functions. 2008-08-29 11:31:40 +00:00
gimplify.c re PR middle-end/20548 (ACATS c52103x c52104x c52104y segfault) 2008-08-16 18:40:57 +00:00
glimits.h
global.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
graph.c cfg.c (dump_reg_info): Avoid C++ keywords. 2008-07-16 17:49:20 +00:00
graph.h
graphds.c
graphds.h
gsstruct.def backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
gstab.h
gsyms.h
gsyslimits.h
gthr-aix.h
gthr-dce.h
gthr-gnat.c
gthr-gnat.h
gthr-lynx.h cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
gthr-mipssde.h
gthr-nks.h
gthr-posix.c gtrh-posix.h: Fix uses of _POSIX_TIMEOUTS per the normal Posix rule that a symbolic constant... 2008-08-28 22:00:46 +00:00
gthr-posix.h gtrh-posix.h: Fix uses of _POSIX_TIMEOUTS per the normal Posix rule that a symbolic constant... 2008-08-28 22:00:46 +00:00
gthr-posix95.h
gthr-rtems.h
gthr-single.h
gthr-solaris.h
gthr-tpf.h
gthr-vxworks.h
gthr-win32.h gthr-win32.h (__gthread_setspecific): Use CONST_CAST2. 2008-08-31 12:26:48 -06:00
gthr.h gthr-posix.h (__gthread_create, [...]): New functions. 2008-08-28 09:20:57 +00:00
haifa-sched.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
hard-reg-set.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
hooks.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
hooks.h fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
host-default.c
hosthooks-def.h
hosthooks.h
hwint.h cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
ifcvt.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
incpath.c cpplib.h (struct cpp_dir): Add new field, canonical_name. 2008-05-30 00:57:56 +00:00
incpath.h re PR fortran/18428 (No preprocessing option -cpp for gfortran) 2008-05-25 18:37:41 -04:00
init-regs.c
input.h Makefile.in: Replace toplev.h with TOPLEV_H. 2008-07-21 14:29:27 +00:00
insn-addr.h
insn-notes.def
integrate.c driver-i386.c (detect_caches_amd, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:18:25 +00:00
integrate.h
intl.c alloc-pool.c (create_alloc_pool): Fix -Wc++-compat warnings. 2008-06-29 04:39:16 +00:00
intl.h
ipa-cp.c ipa-cp.c (ipcp_need_original_clone_p): Remove. 2008-08-31 16:45:05 +00:00
ipa-inline.c ipa-inline.c (cgraph_estimate_growth): Discover self recursive functions. 2008-08-30 09:46:19 +00:00
ipa-prop.c cgraph.c (cgraph_remove_node): Do not remove nested nodes. 2008-08-29 16:41:35 +00:00
ipa-prop.h cgraph.c (cgraph_remove_node): Do not remove nested nodes. 2008-08-29 16:41:35 +00:00
ipa-pure-const.c cgraph.c (first_cgraph_function_insertion_hook): New variable. 2008-08-21 15:26:59 +00:00
ipa-reference.c cgraph.c (first_cgraph_function_insertion_hook): New variable. 2008-08-21 15:26:59 +00:00
ipa-reference.h
ipa-struct-reorg.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ipa-struct-reorg.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ipa-type-escape.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ipa-type-escape.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ipa-utils.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
ipa-utils.h
ipa.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
ira-build.c [multiple changes] 2008-08-26 12:39:58 +00:00
ira-color.c re PR rtl-optimization/37251 (ICE with ira: delete_allocno_from_bucket) 2008-08-29 16:18:11 +00:00
ira-conflicts.c [multiple changes] 2008-08-26 12:39:58 +00:00
ira-costs.c [multiple changes] 2008-08-26 12:39:58 +00:00
ira-emit.c [multiple changes] 2008-08-26 12:39:58 +00:00
ira-int.h [multiple changes] 2008-08-26 12:39:58 +00:00
ira-lives.c [multiple changes] 2008-08-26 12:39:58 +00:00
ira.c [multiple changes] 2008-08-26 12:39:58 +00:00
ira.h [multiple changes] 2008-08-26 12:39:58 +00:00
jump.c rtlanal.c: Fix uses of "it's" with "its" where appropriate. 2008-08-26 23:27:31 +10:00
lambda-code.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
lambda-mat.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
lambda-trans.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
lambda.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
langhooks-def.h Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
langhooks.c Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
langhooks.h Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
LANGUAGES
lcm.c df-problems.c (df_set_note): Avoid C++ keywords. 2008-07-15 17:51:00 +00:00
libfuncs.h libfuncs.h (LTI_synchronize): New libfunc_index. 2008-06-26 21:28:30 +00:00
libgcc-std.ver Fix conflict with another recent patch. 2008-07-03 19:42:41 +00:00
libgcc2.c MAINTAINERS (mt port): Remove. 2008-06-07 19:00:15 +01:00
libgcc2.h
libgcov.c
limitx.h
limity.h
lists.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
local-alloc.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
longlong.h longlong.h (__arm__): Define count_leading_zeros. 2008-06-12 17:29:47 +00:00
loop-doloop.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
loop-init.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
loop-invariant.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
loop-iv.c driver-i386.c (detect_caches_amd, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:18:25 +00:00
loop-unroll.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
loop-unswitch.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
lower-subreg.c df-problems.c (df_set_note): Avoid C++ keywords. 2008-07-15 17:51:00 +00:00
machmode.def
machmode.h real.h (struct real_format): New member has_sign_dependent_rounding. 2008-08-12 13:25:22 +00:00
main.c
Makefile.in sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
matrix-reorg.c see.c (see_merge_one_def_extension): Silence used uninitialized warning. 2008-08-29 21:32:41 +00:00
mcf.c mcf.c: Really add it. 2008-08-18 12:16:30 -07:00
mips-tdump.c
mips-tfile.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
mkconfig.sh
mkmap-flat.awk configure.ac (RPATH_ENVVAR): Use PATH on Windows. 2008-08-31 12:14:25 -06:00
mkmap-symver.awk re PR target/36669 (Wrong versioning for __float128) 2008-07-02 08:59:19 -07:00
mode-classes.def
mode-switching.c df-problems.c (df_set_note): Avoid C++ keywords. 2008-07-15 17:51:00 +00:00
modulo-sched.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
omega.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
omega.h
omp-builtins.def c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805. 2008-06-06 15:01:54 +02:00
omp-low.c gimple.c (gimple_build_call_1): Deal with FUNCTION_DECL fn. 2008-08-09 17:28:39 +00:00
ONEWS
opt-functions.awk Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
opt-gather.awk
optabs.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
optabs.h optabs.c (emit_unop_insn): Break out to ... 2008-08-07 07:35:51 +00:00
optc-gen.awk Fix PR 36907, breakage in building libobj with function specific changes 2008-07-23 19:03:40 +00:00
opth-gen.awk Fix PR 36907, breakage in building libobj with function specific changes 2008-07-23 19:03:40 +00:00
opts-common.c driver-i386.c (detect_caches_amd, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:18:25 +00:00
opts.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
opts.h Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
output.h fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
params.c driver-i386.c (detect_caches_amd, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:18:25 +00:00
params.def sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
params.h [multiple changes] 2008-08-26 12:39:58 +00:00
passes.c cp-gimplify.c (cp_gimplify_expr): Add PRED_CONTINUE heuristic. 2008-08-29 08:40:01 +00:00
pointer-set.c
pointer-set.h
postreload-gcse.c postreload-gcse.c (eliminate_partially_redundant_loads): Use optimize_bb_for_size_p. 2008-08-31 12:52:07 +00:00
postreload.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
predict.c predict.c (maybe_hot_bb_p, [...]): Previous commit mistakely had old version of patch. 2008-08-31 18:08:31 +00:00
predict.def cold-attribute-1.c: New testcase. 2008-08-31 11:40:11 +00:00
predict.h
prefix.c
prefix.h
pretty-print.c re PR debug/37156 (Hang with -g -O2 (or higher) (discovered with malloc.c in sqlite3)) 2008-08-19 13:44:42 +02:00
pretty-print.h cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
print-rtl.c
print-tree.c builtins.c (expand_builtin_profile_func): Avoid C++ keywords. 2008-08-06 15:57:09 +00:00
profile.c ipa-cp.c (ipcp_need_original_clone_p): Remove. 2008-08-31 16:45:05 +00:00
profile.h profile.h: Really add it. 2008-08-18 12:22:36 -07:00
protoize.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
ra-conflict.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
ra.h cfg.c (dump_reg_info): Avoid C++ keywords. 2008-07-16 17:49:20 +00:00
read-rtl.c read-rtl.c (join_c_conditions): Return the first string if the two strings are equal. 2008-05-08 21:29:00 +00:00
README.Portability
real.c real.h (dconst_e, [...]): Declare. 2008-08-18 16:17:16 +00:00
real.h real.h (dconst_e, [...]): Declare. 2008-08-18 16:17:16 +00:00
recog.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
recog.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
reg-notes.def Remove libcall notes. 2008-06-17 05:57:04 +00:00
reg-stack.c cfg.c (dump_reg_info): Avoid C++ keywords. 2008-07-16 17:49:20 +00:00
regclass.c [multiple changes] 2008-08-26 12:39:58 +00:00
regmove.c [multiple changes] 2008-08-26 12:39:58 +00:00
regrename.c cfg.c (dump_reg_info): Avoid C++ keywords. 2008-07-16 17:49:20 +00:00
regs.h [multiple changes] 2008-08-26 12:39:58 +00:00
regstat.c ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:12:56 +00:00
reload.c rtl.h (simplify_subreg_regno): Declare. 2008-08-28 20:02:54 +00:00
reload.h [multiple changes] 2008-08-26 12:39:58 +00:00
reload1.c [multiple changes] 2008-08-26 12:39:58 +00:00
reorg.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
resource.c resource.c (mark_referenced_resources): Look inside UNSPEC_VOLATILEs and ASM_INPUTs. 2008-07-02 18:05:42 +00:00
resource.h
rtl-error.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
rtl-factoring.c ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:12:56 +00:00
rtl.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
rtl.def
rtl.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
rtlanal.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
rtlhooks-def.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
rtlhooks.c recog.c (validate_change_1, [...]): Avoid C++ keywords. 2008-07-16 17:52:19 +00:00
sbitmap.c ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:12:56 +00:00
sbitmap.h
scan-decls.c
scan-types.sh
scan.c scan.c (make_sstring_space): Add explicit conversions of allocator's return value. 2008-07-30 07:44:09 +00:00
scan.h cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
sched-deps.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sched-ebb.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sched-int.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sched-rgn.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sched-vis.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sdbout.c re PR fortran/29635 (debug info of modules) 2008-08-29 20:41:19 +02:00
sdbout.h
see.c see.c (see_merge_one_def_extension): Silence used uninitialized warning. 2008-08-29 21:32:41 +00:00
sel-sched-dump.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sel-sched-dump.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sel-sched-ir.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sel-sched-ir.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sel-sched.c sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
sel-sched.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
simplify-rtx.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
sort-protos
sparseset.c
sparseset.h
sreal.c
sreal.h
stab.def
stack-ptr-mod.c
statistics.c ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:12:56 +00:00
statistics.h tree-pass.h (current_pass): Declare. 2008-05-15 13:39:39 +00:00
stmt.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
stor-layout.c recog.c (validate_change_1, [...]): Avoid C++ keywords. 2008-07-16 17:52:19 +00:00
stringpool.c ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-26 00:12:56 +00:00
stub-objc.c
sync-builtins.def
sys-protos.h
sys-types.h
system.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
target-def.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
target.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
targhooks.c Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
targhooks.h Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
timevar.c
timevar.def [multiple changes] 2008-08-26 12:39:58 +00:00
timevar.h
tlink.c collect2.c (main, [...]): Fix for -Wc++-compat. 2008-06-20 03:46:09 +00:00
toplev.c [multiple changes] 2008-08-26 12:39:58 +00:00
toplev.h [multiple changes] 2008-08-26 12:39:58 +00:00
tracer.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-affine.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-affine.h
tree-browser.c tree.h (enum tree_code): Include all-tree.def, not tree.def. 2008-06-21 21:17:40 +00:00
tree-browser.def
tree-call-cdce.c parse.c (parse_interface): Silence uninitialized var warning. 2008-08-30 10:38:55 +00:00
tree-cfg.c tree-cfg.c (verify_types_in_gimple_assign): Dump mismatched types instead of operands. 2008-08-31 11:06:10 +00:00
tree-cfgcleanup.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-chrec.c re PR middle-end/36817 (internal compiler error: in compare_values_warnv) 2008-08-21 13:50:30 +00:00
tree-chrec.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-complex.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-data-ref.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-data-ref.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-dfa.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-dump.c builtins.c (expand_builtin_profile_func): Avoid C++ keywords. 2008-08-06 15:57:09 +00:00
tree-dump.h
tree-eh.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-flow-inline.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-flow.h fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
tree-if-conv.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-inline.c Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
tree-inline.h tree.c (build_function_type_skip_args, [...]): New functions. 2008-08-29 11:31:40 +00:00
tree-into-ssa.c builtins.c (expand_builtin_profile_func): Avoid C++ keywords. 2008-08-06 15:57:09 +00:00
tree-iterator.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-iterator.h
tree-loop-distribution.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-loop-linear.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-mudflap.c builtins.c (expand_builtin_profile_func): Avoid C++ keywords. 2008-08-06 15:57:09 +00:00
tree-mudflap.h
tree-nested.c gimple.c (gimple_build_call_1): Deal with FUNCTION_DECL fn. 2008-08-09 17:28:39 +00:00
tree-nomudflap.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-nrv.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-object-size.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-optimize.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-outof-ssa.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-parloops.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-pass.h common.opt (ftree-store-ccp): Mark as preserved for backward compatibility. 2008-08-29 11:43:22 +00:00
tree-phinodes.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-predcom.c parse.c (parse_interface): Silence uninitialized var warning. 2008-08-30 10:38:55 +00:00
tree-pretty-print.c builtins.c (expand_builtin_profile_func): Avoid C++ keywords. 2008-08-06 15:57:09 +00:00
tree-profile.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-scalar-evolution.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-scalar-evolution.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-sra.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-ssa-address.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
tree-ssa-alias-warnings.c re PR middle-end/37042 (Strict-aliasing warnings are printed for _mm_load_si128, even though __m128i is __attribute__((__may_alias__)).) 2008-08-07 10:01:48 +00:00
tree-ssa-alias.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-ccp.c common.opt (ftree-store-ccp): Mark as preserved for backward compatibility. 2008-08-29 11:43:22 +00:00
tree-ssa-coalesce.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-ssa-copy.c common.opt (ftree-store-ccp): Mark as preserved for backward compatibility. 2008-08-29 11:43:22 +00:00
tree-ssa-copyrename.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-dce.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-dom.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-ssa-dse.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-forwprop.c tree-ssa-forwprop.c (forward_propagate_addr_expr_1): More properly handle conversion/copy chains after tuplification. 2008-08-20 13:21:41 +00:00
tree-ssa-ifcombine.c re PR tree-optimization/37207 (ice at tree-ssa-ifcombine.c:222 for -Os) 2008-08-28 15:26:13 +00:00
tree-ssa-live.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-live.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-loop-ch.c tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Check that loop is not cold. 2008-08-29 08:58:52 +00:00
tree-ssa-loop-im.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-ssa-loop-ivcanon.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-ssa-loop-ivopts.c fwprop.c (should_replace_address): Add speed attribute. 2008-08-31 09:44:25 +00:00
tree-ssa-loop-manip.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-loop-niter.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-ssa-loop-prefetch.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-ssa-loop-unswitch.c tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Check that loop is optimized for speed. 2008-08-31 15:54:54 +00:00
tree-ssa-loop.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-math-opts.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-ssa-operands.c re PR middle-end/37236 (ICE: in mark_operand_necessary, at tree-ssa-dce.c:242) 2008-08-29 11:40:47 +00:00
tree-ssa-operands.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-phiopt.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-phiprop.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-pre.c parse.c (parse_interface): Silence uninitialized var warning. 2008-08-30 10:38:55 +00:00
tree-ssa-propagate.c common.opt (ftree-store-ccp): Mark as preserved for backward compatibility. 2008-08-29 11:43:22 +00:00
tree-ssa-propagate.h common.opt (ftree-store-ccp): Mark as preserved for backward compatibility. 2008-08-29 11:43:22 +00:00
tree-ssa-reassoc.c tree-ssa-reassoc.c (reassociate_bb): Properly reset the statement iterator after statement removal. 2008-08-18 15:36:15 +00:00
tree-ssa-sccvn.c tree-ssa-pre.c (insert_into_preds_of_block): Before inserting a PHI ask VN if it is already available. 2008-08-21 15:18:58 +00:00
tree-ssa-sccvn.h tree-ssa-pre.c (insert_into_preds_of_block): Before inserting a PHI ask VN if it is already available. 2008-08-21 15:18:58 +00:00
tree-ssa-sink.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-structalias.c tree-ssa-structalias.c (create_variable_info_for): Do not create fields for heap vars or vars with a noalias state. 2008-08-29 11:47:01 +00:00
tree-ssa-structalias.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-ter.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa-threadedge.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-ssa-threadupdate.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-ssa-uncprop.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-ssa.c re PR middle-end/179 (-Wuninitialized missing warning with &var) 2008-08-20 22:23:45 +00:00
tree-ssanames.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-stdarg.c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to 2008-08-18 18:23:47 +02:00
tree-stdarg.h
tree-switch-conversion.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-tailcall.c re PR tree-optimization/37024 (bad tail call from tuples merge) 2008-08-05 11:23:07 -07:00
tree-vect-analyze.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
tree-vect-generic.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree-vect-patterns.c tree-vectorizer.c (supportable_widening_operation): Support multi-step conversion... 2008-08-19 08:31:41 +00:00
tree-vect-transform.c target.h (struct vectorize): Add new target builtin. 2008-08-28 11:11:14 +00:00
tree-vectorizer.c parse.c (parse_interface): Silence uninitialized var warning. 2008-08-30 10:38:55 +00:00
tree-vectorizer.h target.h (struct vectorize): Add new target builtin. 2008-08-28 11:11:14 +00:00
tree-vrp.c re PR bootstrap/37086 (GCC 3.4 miscompiles trunk (for cross compiling)) 2008-08-30 00:30:18 +01:00
tree.c tree.c (build_function_type_skip_args, [...]): New functions. 2008-08-29 11:31:40 +00:00
tree.def backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
tree.h Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop} 2008-08-30 23:50:40 +00:00
treestruct.def Add ability to set target options (ix86 only) and optimization options on a function specific basis 2008-07-23 10:28:06 +00:00
tsystem.h
typeclass.h
unwind-c.c
unwind-compat.c
unwind-compat.h
unwind-dw2-fde-compat.c
unwind-dw2-fde-darwin.c
unwind-dw2-fde-glibc.c
unwind-dw2-fde.c cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
unwind-dw2-fde.h
unwind-dw2.c
unwind-dw2.h
unwind-generic.h targhooks.h (struct gcc_target): New member unwind_word_mode. 2008-06-18 20:49:12 +00:00
unwind-pe.h re PR target/34780 (Bootstrapping libstdc++-v3 failed) 2008-07-07 18:16:04 +00:00
unwind-sjlj.c
unwind.inc cgraph.c: Fix typos in comments. 2008-06-06 05:42:00 +00:00
value-prof.c loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. 2008-08-29 10:35:57 +00:00
value-prof.h backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
var-tracking.c ggc.h (GGC_RESIZEVAR): New, reorder macros. 2008-06-20 18:34:07 +00:00
varasm.c parse.c (parse_interface): Silence uninitialized var warning. 2008-08-30 10:38:55 +00:00
varpool.c backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. 2008-07-28 14:33:56 +00:00
varray.c alloc-pool.c (hash_descriptor, [...]): Fix -Wc++-compat warnings. 2008-07-04 00:22:31 +00:00
varray.h
vec.c ggc.h (GGC_RESIZEVAR): New, reorder macros. 2008-06-20 18:34:07 +00:00
vec.h re PR bootstrap/33304 (Bootstrap failure on solaris2 using cc due to empty macro arguments) 2008-07-03 10:31:03 +00:00
vecprim.h sel-sched.h, [...]: New files. 2008-09-01 12:57:00 +04:00
version.c
version.h
vmsdbg.h
vmsdbgout.c re PR fortran/29635 (debug info of modules) 2008-08-29 20:41:19 +02:00
web.c df.h (struct df_ref): Replace 'insn' field with 'insn_info' field. 2008-06-18 05:42:23 +00:00
xcoff.h
xcoffout.c c-format.c (handle_format_attribute): Fix -Wc++-compat and/or -Wcast-qual warnings. 2008-06-27 16:53:54 +00:00
xcoffout.h

Copyright (C) 2000, 2003 Free Software Foundation, Inc.

This file is intended to contain a few notes about writing C code
within GCC so that it compiles without error on the full range of
compilers GCC needs to be able to compile on.

The problem is that many ISO-standard constructs are not accepted by
either old or buggy compilers, and we keep getting bitten by them.
This knowledge until know has been sparsely spread around, so I
thought I'd collect it in one useful place.  Please add and correct
any problems as you come across them.

I'm going to start from a base of the ISO C90 standard, since that is
probably what most people code to naturally.  Obviously using
constructs introduced after that is not a good idea.

For the complete coding style conventions used in GCC, please read
http://gcc.gnu.org/codingconventions.html


String literals
---------------

Irix6 "cc -n32" and OSF4 "cc" have problems with constant string
initializers with parens around it, e.g.

const char string[] = ("A string");

This is unfortunate since this is what the GNU gettext macro N_
produces.  You need to find a different way to code it.

Some compilers like MSVC++ have fairly low limits on the maximum
length of a string literal; 509 is the lowest we've come across.  You
may need to break up a long printf statement into many smaller ones.


Empty macro arguments
---------------------

ISO C (6.8.3 in the 1990 standard) specifies the following:

If (before argument substitution) any argument consists of no
preprocessing tokens, the behavior is undefined.

This was relaxed by ISO C99, but some older compilers emit an error,
so code like

#define foo(x, y) x y
foo (bar, )

needs to be coded in some other way.


free and realloc
----------------

Some implementations crash upon attempts to free or realloc the null
pointer.  Thus if mem might be null, you need to write

  if (mem)
    free (mem);


Trigraphs
---------

You weren't going to use them anyway, but some otherwise ISO C
compliant compilers do not accept trigraphs.


Suffixes on Integer Constants
-----------------------------

You should never use a 'l' suffix on integer constants ('L' is fine),
since it can easily be confused with the number '1'.


			Common Coding Pitfalls
			======================

errno
-----

errno might be declared as a macro.


Implicit int
------------

In C, the 'int' keyword can often be omitted from type declarations.
For instance, you can write

  unsigned variable;

as shorthand for

  unsigned int variable;

There are several places where this can cause trouble.  First, suppose
'variable' is a long; then you might think

  (unsigned) variable

would convert it to unsigned long.  It does not.  It converts to
unsigned int.  This mostly causes problems on 64-bit platforms, where
long and int are not the same size.

Second, if you write a function definition with no return type at
all:

  operate (int a, int b)
  {
    ...
  }

that function is expected to return int, *not* void.  GCC will warn
about this.

Implicit function declarations always have return type int.  So if you
correct the above definition to

  void
  operate (int a, int b)
  ...

but operate() is called above its definition, you will get an error
about a "type mismatch with previous implicit declaration".  The cure
is to prototype all functions at the top of the file, or in an
appropriate header.

Char vs unsigned char vs int
----------------------------

In C, unqualified 'char' may be either signed or unsigned; it is the
implementation's choice.  When you are processing 7-bit ASCII, it does
not matter.  But when your program must handle arbitrary binary data,
or fully 8-bit character sets, you have a problem.  The most obvious
issue is if you have a look-up table indexed by characters.

For instance, the character '\341' in ISO Latin 1 is SMALL LETTER A
WITH ACUTE ACCENT.  In the proper locale, isalpha('\341') will be
true.  But if you read '\341' from a file and store it in a plain
char, isalpha(c) may look up character 225, or it may look up
character -31.  And the ctype table has no entry at offset -31, so
your program will crash.  (If you're lucky.)

It is wise to use unsigned char everywhere you possibly can.  This
avoids all these problems.  Unfortunately, the routines in <string.h>
take plain char arguments, so you have to remember to cast them back
and forth - or avoid the use of strxxx() functions, which is probably
a good idea anyway.

Another common mistake is to use either char or unsigned char to
receive the result of getc() or related stdio functions.  They may
return EOF, which is outside the range of values representable by
char.  If you use char, some legal character value may be confused
with EOF, such as '\377' (SMALL LETTER Y WITH UMLAUT, in Latin-1).
The correct choice is int.

A more subtle version of the same mistake might look like this:

  unsigned char pushback[NPUSHBACK];
  int pbidx;
  #define unget(c) (assert(pbidx < NPUSHBACK), pushback[pbidx++] = (c))
  #define get(c) (pbidx ? pushback[--pbidx] : getchar())
  ...
  unget(EOF);

which will mysteriously turn a pushed-back EOF into a SMALL LETTER Y
WITH UMLAUT.


Other common pitfalls
---------------------

o Expecting 'plain' char to be either sign or unsigned extending.

o Shifting an item by a negative amount or by greater than or equal to
  the number of bits in a type (expecting shifts by 32 to be sensible
  has caused quite a number of bugs at least in the early days).

o Expecting ints shifted right to be sign extended.

o Modifying the same value twice within one sequence point.

o Host vs. target floating point representation, including emitting NaNs
  and Infinities in a form that the assembler handles.

o qsort being an unstable sort function (unstable in the sense that
  multiple items that sort the same may be sorted in different orders
  by different qsort functions).

o Passing incorrect types to fprintf and friends.

o Adding a function declaration for a module declared in another file to
  a .c file instead of to a .h file.