Commit Graph

74270 Commits

Author SHA1 Message Date
Maxim Kuvyrkov
496d7bb032 target.h (struct spec_info_def): New opaque declaration.
2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>

        * target.h (struct spec_info_def): New opaque declaration.
        (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended,
        speculate_insn, needs_block_p, gen_check,
        first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags.
        * target-def.h (TARGET_SCHED_ADJUST_COST_2,
        TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN,
        TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK,
        TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
        TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in
        gcc_target.sched.
        (TARGET_SCHED): Use new macros.
        * rtl.h (copy_DEPS_LIST_list): New prototype.
        * sched-int.h (struct sched_info): Change signature of new_ready field,
	adjust all initializations. New fields: add_remove_insn,
        begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg,
	region_head_or_leaf_p.
        (struct spec_info_def): New structure declaration.
        (spec_info_t): New typedef.
        (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec,
        recovery_block, orig_pat.
        (glat_start, glat_end): New variables declaraions.
        (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT):
	New access macros.
        (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB,
        DETACH_LIFE_INFO, USE_GLAT.
        (enum SPEC_SCHED_FLAGS): New enumeration.
        (NOTE_NOTE_BB_P): New macro.
        (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block,
        attach_life_info, debug_spec_status, check_reg_live): New functions.
        (get_block_head_tail): Change signature to get_ebb_head_tail, adjust
        all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c,
        sched-ebb.c
	(get_dep_weak, ds_merge): Prototype functions from sched-deps.c .
        * ddg.c (get_block_head_tail): Adjust all uses.
        * modulo-sched.c (get_block_head_tail): Adjust all uses.
	(sms_sched_info): Initialize new fields.
	(contributes_to_priority): Removed.
        * haifa-sched.c (params.h): New include.
	(get_block_head_tail): Adjust all uses.
        (ISSUE_POINTS): New macro.
        (glat_start, glat_end): New global variables.
        (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data,
	nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header,
	old_last_basic_block, before_recovery, current_sched_info_var,
	rgn_n_insns, luid): New static variables.
        (insn_cost1): New function.  Move logic from insn_cost to here.
        (find_insn_reg_weight1): New function.  Move logic from
        find_insn_reg_weight to here.
        (reemit_notes, move_insn, max_issue): Change signature.
        (move_insn1): Removed.
        (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d,
        extend_bb): New static functions to support extension of scheduler's
        data structures.
        (generate_recovery_code, process_insn_depend_be_in_spec,
        begin_speculative_block, add_to_speculative_block,
        init_before_recovery, create_recovery_block, create_check_block_twin,
        fix_recovery_deps): New static functions to support
        generation of recovery code.
        (fix_jump_move, find_fallthru_edge, dump_new_block_header,
        restore_bb_notes, move_block_after_check, move_succs): New static
        functions to support ebb scheduling.
        (init_glat, init_glat1, attach_life_info1, free_glat): New static
        functions to support handling of register live information.
        (associate_line_notes_with_blocks, change_pattern, speculate_insn,
	sched_remove_insn, clear_priorities, calc_priorities, bb_note,
	add_jump_dependencies):	New static functions.
        (check_cfg, has_edge_p, check_sched_flags): New static functions for
	consistancy checking.
	(debug_spec_status): New function to call from debugger.
	(priority): Added code to handle speculation checks.
	(rank_for_schedule): Added code to distinguish speculative instructions.
	(schedule_insn): Added code to handle speculation checks.
	(unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes):
	Fixed to handle ebbs.
        (move_insn): Added code to handle ebb scheduling.
	(max_issue): Added code to use ISSUE_POINTS of instructions.
        (choose_ready): Added code to choose between speculative and
        non-speculative instructions.
        (schedule_block): Added code to handle ebb scheduling and scheduling of
        speculative instructions.
        (sched_init): Initialize new variables.
        (sched_finish): Free new variables.  Print statistics.
        (try_ready): Added code to handle speculative instructions.
        * lists.c (copy_DEPS_LIST_list): New function.
        * sched-deps.c (extend_dependency_caches): New function.  Move logic
        from create_dependency_caches to here.
	(get_dep_weak, ds_merge): Make global.
        * genattr.c (main): Code to output prototype for
        dfa_clear_single_insn_cache.
        * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros.
        (output_dfa_clean_insn_cache_func): Code to output
        dfa_clear_single_insn_cache function.
        * sched-ebb.c (target_n_insns): Remove.  Adjust all users to use
	n_insns.
        (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs):
        Removed.
        (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb):
        New static variables.
        (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb,
	fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from
	struct sched_info.
        (ebb_sched_info): Initialize new fields.
	(get_block_head_tail): Adjust all uses.
	(compute_jump_reg_dependencies): Fixed to use glat_start.
	(schedule_ebb): Code to remove unreachable last block.
        (schedule_ebbs): Added code to update register live information.
        * sched-rgn.c (region_sched_info): Initialize new fields.
	(get_block_head_tail): Adjust all uses.
	(last_was_jump): Removed.  Adjust users.
        (begin_schedule_ready, add_remove_insn, insn_points, extend_regions,
	add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p):
	Implement new hooks.
        (check_dead_notes1): New static function.
        (struct region): New fields: dont_calc_deps, has_real_ebb.
        (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros.
        (BB_TO_BLOCK): Fixed to handle EBBs.
        (EBB_FIRST_BB, EBB_LAST_BB): New macros.
        (ebb_head): New static variable.
        (debug_regions, contributes_to_priority): Fixed to handle EBBs.
        (find_single_block_regions, find_rgns, find_more_rgns): Initialize
	new fields.
	(compute_dom_prob_ps): New assertion.
        (check_live_1, update_live_1): Fixed to work with glat_start instead of
        global_live_at_start.
	(init_ready_list): New assertions.
	(can_schedule_ready_p): Split update code to begin_schedule_ready.
	(new_ready): Add support for BEGIN_CONTROL speculation.
        (schedule_insns): Fixed code that updates register live information
        to handle EBBs.
        (schedule_region): Fixed to handle EBBs.
	(init_regions): Use extend_regions and check_dead_notes1.
        * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
        PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters.
	* doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED,
	TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
	TARGET_SCHED_GEN_CHECK,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
	TARGET_SCHED_SET_SCHED_FLAGS): Document.
        * doc/invoke.texi (max-sched-insn-conflict-delay,
	sched-spec-prob-cutoff): Document.

From-SVN: r112128
2006-03-16 05:27:03 +00:00
Maxim Kuvyrkov
63f54b1abd sched-int.h (struct haifa_insn_data): New fields: resolved_deps, inter_tick, queue_index.
2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>

        * sched-int.h (struct haifa_insn_data): New fields: resolved_deps,
	inter_tick, queue_index.
	(struct sched_info): Change signature of init_ready_list field.
	Adjust all initializations.
	(RESOLVED_DEPS): New access macro.
	(ready_add): Remove prototype.
	(try_ready): Add prototype.
	* sched-rgn.c (init_ready_list): Use try_ready.
	(schedule_region): Initialize
	current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}.
	* sched-ebb.c (new_ready): Remove.  Adjust ebb_sched_info.
	(init_ready_list): Use try_ready.
	(schedule_ebb): Initialize current_sched_info->sched_max_insns_priority.
	* lists.c (remove_list_elem): Remove `static'.
	(remove_free_INSN_LIST_elem): New function.
	* rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes.
	* haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros.
	(INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY):
	New constants.
	(readyp): New variable.
	(queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready,
	change_queue_index, resolve_dep): New static functions.
	(try_ready): New function.  Adjust callers in sched-rgn.c and
	sched-ebb.c to use it instead of ready_add.
	(clock_var): Move at the begining of file.
	(rank_for_schedule): Fix typo.
	(queue_insn): Add assertion.  Handle QUEUE_INDEX.
	(ready_lastpos): Enforce assertion.
	(ready_add): Make it static.  Handle QUEUE_INDEX.  Add new argument,
	update all callers.
	(ready_remove_first, ready_remove): Handle QUEUE_INDEX.
	(schedule_insn): Rewrite to use try_ready and resolve_dep.
	(queue_to_ready): Use free_INSN_LIST_list.
	(early_queue_to_ready): Fix typo.
	(schedule_block): Init readyp.  Move init_ready_list call after the
	initialization of clock_var.  Fix error in rejecting insn by
	targetm.sched.dfa_new_cycle.  Add call to fix_inter_tick.  Remove code
	that previously	corrected INSN_TICKs.  Add code for handling
	QUEUE_INDEX.
	(set_priorities): Fix typo.
	(sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX.
	Clarify comment and code that keeps current_sched_info->next_tail
	non-null.

From-SVN: r112127
2006-03-16 05:23:21 +00:00
Maxim Kuvyrkov
d08eefb9d2 sched-rgn.c (extend_rgns): New static function.
2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>

	* sched-rgn.c (extend_rgns): New static function.
	(find_rgns): Use it.
	(gather_region_statistics, print_region_statistics): New static
	functions.
	* params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter.
        * doc/invoke.texi (max-sched-extend-regions-iters): Document.

From-SVN: r112126
2006-03-16 05:20:39 +00:00
Maxim Kuvyrkov
ddbd543924 ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
            Andrey Belevantsev <abel@ispras.ru>

	* ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
        * lists.c (unused_deps_list): New variable.
	(free_list): Add assertions to verify the proper distinguishing 
        between INSN_LISTs and DEPS_LISTs.
        (find_list_elem, remove_list_elem, remove_list_node): New static
	functions.
        (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node,
        remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem,
        remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions.
        (alloc_INSN_LIST): Assert that the list we're working on is indeed
	an INSN_LIST.
        (free_INSN_LIST_node): Likewise.
	* modulo-sched.c (current_sched_info): Initialize flags field.
	* reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT.
	* rtl.def (DEPS_LIST): Define.
        * rtl.h: Declare new functions from lists.c.
        * sched-deps.c (spec_dependency_cache): New static variable.
        (maybe_add_or_update_back_dep_1, add_back_dep): New static functions.
        (add_dependence): Change return type to void.  Move the logic to ...
        (add_or_update_back_dep_1): ... here.  Handle speculative dependencies.
        (delete_all_dependences): Add comment about forward_dependency_cache.
	Handle spec_dependency_cache.  Handle DEPS_LISTs.
        (fixup_sched_groups): Clarify the change of priority of output
        and anti dependencies.
        (sched_analyze_2): Adjust add_dependence calls to create data
	speculative dependence.
        (add_forward_dependence): Renamed to add_forw_dep, change prototype.
	Adjust all callers.  Handle DEPS_LISTS.
        (compute_forward_dependences): Use add_forw_dep.  Sort LOG_LINKs in
	presence of speculation.
        (init_dependency_caches, free_dependency_caches):
	Handle spec_dependency_cache.
        (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep,
	estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status):
	New static functions.
        (add_or_update_back_dep, add_or_update_back_forw_dep,
	add_back_forw_dep, delete_back_forw_dep): New functions.
	* sched-int.h (ds_t, dw_t): New typedefs.
	(struct sched_info): Add new field flags.
	(struct haifa_insn_data): Add new bitfield has_internal_dep.
	Prototype new sched-deps.c functions.
        (HAS_INTERNAL_DEP, DEP_STATUS): New access macros.
	(BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK,
	MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA,
	BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC,
	SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE,
	SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP):
	New constants.
        (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS):
	New enums.
	* sched-rgn.c (current_sched_info): Initialize flags field.
	(schedule_insns): Initialize current_sched_info before the sched_init
	call.
	* sched-ebb.c (current_sched_info): Initialize flags field.
	(add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P.
	Call add_or_update_back_dep instead of add_dependence.
	Create control speculative dependencies.
	(schedule_insns): Initialize current_sched_info before the sched_init
	call.

Co-Authored-By: Andrey Belevantsev <abel@ispras.ru>

From-SVN: r112125
2006-03-16 05:17:41 +00:00
Kaz Kojima
3062335c07 linux-unwind.h (shmedia_fallback_frame_state): Set fs->signal_frame.
* config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
	fs->signal_frame.
	(sh_fallback_frame_state): Likewise.

	* include/sh-signal.h (MAKE_THROW_FRAME): Change into empty
	macro.

From-SVN: r112122
2006-03-16 02:44:10 +00:00
Geoffrey Keating
747b9f553a config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
2006-03-15  Geoffrey Keating  <geoffk@apple.com>

	* config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
	Do switch on default_use_cxa_atexit.
	(powerpc*-*-darwin*): Build crt2.o on powerpc.
	* config/darwin-crt3.o: New.
	* config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default
	to 10.3.  Pass '-multiply_defined suppress' if crt3.o is in use.
	(STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate
	OS version.
	* config/rs6000/t-darwin: Move crt2.o building to here.
	* config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update
	Mac OS version for using __cxa_get_exception_ptr.  Don't test versions
	of __cxa_atexit.

2006-03-15  Geoffrey Keating  <geoffk@apple.com>

	* g++.old-deja/g++.other/init18.C: New.
	* g++.old-deja/g++.other/init5.C: Remove xfail.

From-SVN: r112121
2006-03-16 02:37:09 +00:00
Tom Tromey
289e97d2c5 re PR classpath/26688 (Classpath Makefiles assume CVS source control)
PR libgcj/26688:
	* lib/Makefile.in: Rebuilt.
	* lib/Makefile.am (propertydirs): Ignore .svn directories.
	(metafiles): Likewise.

From-SVN: r112115
2006-03-16 01:54:51 +00:00
Jan-Benedict Glaw
79166a875a vax.c (nonindexed_address_p): Change logical negation from '!
* config/vax/vax.c (nonindexed_address_p): Change logical negation
	from '! xxx' to '!xxx' for coding-style conformance.
	* config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise.
	(EXTRA_CONSTRAINT): Likewise.
	* config/vax/vax.md (four unnamed insns): Likewise.

From-SVN: r112113
2006-03-16 01:32:19 +00:00
Kaveh R. Ghazi
7e55aa4eec pr15551.C: Cleanup temp file.
* g++.dg/opt/pr15551.C: Cleanup temp file.

From-SVN: r112108
2006-03-16 01:00:01 +00:00
GCC Administrator
c598a65a91 Daily bump.
From-SVN: r112106
2006-03-16 00:17:01 +00:00
Tom Tromey
b32d6f93f8 jcf-write.c (generate_bytecode_insns): Use qualifying type for non-static method calls.
gcc/java
	* jcf-write.c (generate_bytecode_insns): Use qualifying type for
	non-static method calls.
libjava
	* testsuite/libjava.jacks/jacks.xfail: Removed
	13.1-runtime-method-5.

From-SVN: r112102
2006-03-16 00:08:12 +00:00
Paul Brook
34a9f549fd arm.c (minipool_pad): New.
2006-03-15  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (minipool_pad): New.
	(add_minipool_forward_ref): Unclude pool alignment padding in address
	calculation.
	(push_minipool_fix): Set minipool_pad.
	(minipool_pad): Ditto.

From-SVN: r112099
2006-03-15 20:22:56 +00:00
David Daney
a9e317ed30 java-tree.h: Moved comment for TYPE_DOT_CLASS adjacent to its declaration.
* java-tree.h : Moved comment for TYPE_DOT_CLASS adjacent to its
	declaration.

From-SVN: r112098
2006-03-15 19:28:42 +00:00
David Daney
dba370a829 lang.opt (-freduced-reflection): New option.
* lang.opt (-freduced-reflection): New option.
	* lang.c (java_post_options): Generate an error if
	-freduced-reflection used with -fjni or -findirect-dispatch.
	* java-tree.h (flag_reduced_reflection): Declare new variable.
	* boehm.c (get_boehm_type_descriptor): Indicate all pointers
	if bitmap overflows and flag_reduced_reflection set.
	* class.c (uses_jv_markobj_p): New function.
	(make_class_data): Moved generation of vtable to before
	reflection data, generate less reflection data if
	flag_reduced_reflection set.
	* gcj.texi: Document -freduced-reflection.

From-SVN: r112095
2006-03-15 19:10:23 +00:00
Tom Tromey
492edb3ac5 Correctly reference PR java/26638 in ChangeLogs
From-SVN: r112094
2006-03-15 18:45:02 +00:00
Tom Tromey
88200a8dd1 re PR java/26390 (Problem dispatching method call when method does not exist in superclass)
gcc/java
	PR java/26390:
	* class.c (get_interface_method_index): Don't put <clinit> into
	interface table.
libjava
	PR java/26390:
	* link.cc (get_interfaces): Skip <clinit>.
	(append_partial_itable): Likewise.

From-SVN: r112093
2006-03-15 18:29:44 +00:00
Tom Tromey
2afd35b338 * parse.y (analyze_clinit_body): Ignore empty statements.
From-SVN: r112092
2006-03-15 17:39:16 +00:00
Jan-Benedict Glaw
ff9d45906d vax.c (split_quadword_operands): Use MEM_P() instead of GET_CODE() == MEM and REG_P() instead of GET_CODE() == REG.
* config/vax/vax.c (split_quadword_operands): Use MEM_P()
	instead of GET_CODE() == MEM and REG_P() instead of
	GET_CODE() == REG.
	(print_operand_address): Likewise.
	(vax_address_cost): Likewise.
	(vax_rtx_costs): Likewise.
	(vax_notice_update_cc): Likewise.
	(vax_output_int_add): Likewise.
	(INDEX_REGISTER_P): Likewise.
	(BASE_REGISTER_P): Likewise.
	(nonindexed_address_p): Likewise.
	(vax_mode_dependent_address_p): Likewise.
	* config/vax/vax.h (EXTRA_CONSTRAINT): Likewise.
	(PRINT_OPERAND): Likewise.
	* config/vax/vax.md (ashlsi3): Likewise.
	(ashlsi3): Likewise.
	(some more unnamed insns): Likewise.

From-SVN: r112090
2006-03-15 16:49:20 +00:00
Kazu Hirata
db490c3983 tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an iterator-style macro.
* tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an
	iterator-style macro.
	(mark_control_dependent_edges_necessary): Update the use of
	EXECUTE_IF_CONTROL_DEPENDENT.

From-SVN: r112089
2006-03-15 16:14:55 +00:00
J"orn Rennecke
f705a9a07b predicates.md (cache_address_operand): Special.
* config/sh/predicates.md (cache_address_operand): Special.
	(ua_address_operand): Likewise.

From-SVN: r112085
2006-03-15 15:52:34 +00:00
Volker Reichelt
3cc189f5e7 re PR c++/6634 (wrong parsing of "long long double")
PR c++/6634
	decl.c (grokdeclarator): Do not accept long long double.
	Reorganize checks for invalid (combinations of) type modifiers.
	Quote modifiers in messages.

	g++.dg/parse/long1.C: New test.

From-SVN: r112084
2006-03-15 15:27:11 +00:00
Kaz Kojima
697701ad65 ffi.c (ffi_prep_cif_machdep): Handle float arguments passed with FP registers correctly.
* src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
	passed with FP registers correctly.
	(ffi_closure_helper_SYSV): Likewise.
	* src/sh64/sysv.S: Likewise.

From-SVN: r112083
2006-03-15 11:50:24 +00:00
Zdenek Dvorak
8b96512fcc haifa-sched.c (unlink_other_notes, [...]): Do not handle loop notes.
* haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle
	loop notes.
	* sched-deps.c (sched_analyze_insn, sched_analyze): Ditto.

From-SVN: r112082
2006-03-15 10:50:46 +00:00
Andreas Schwab
c0fa472198 gensupport.c (identify_predicable_attribute): Don't free p_false when it is still in use.
* gensupport.c (identify_predicable_attribute): Don't free p_false
	when it is still in use.

From-SVN: r112081
2006-03-15 10:14:51 +00:00
Eric Botcazou
cc0f88952b config.gcc (default with_cpu setting): Do not modify the default setting here.
* config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify
	the default setting here.

From-SVN: r112080
2006-03-15 07:49:33 +00:00
Jerry DeLisle
41e192eb40 re PR fortran/19101 (missing & in character continuation not caught)
2006-03-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/19101
	* gfortran.dg/continuation.f90: New test.
	* gfortran.dg/fmt_read_bz_bn.f90: Fix use of continuation.

From-SVN: r112079
2006-03-15 07:08:06 +00:00
Jerry DeLisle
3fbab54926 re PR fortran/19101 (missing & in character continuation not caught)
2006-03-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/19101
	* gfortran.h: Add warn_ampersand.
	* invoke.texi: Add documentation for new option.
	* lang.opt: Add Wampersand.
	* options.c (gfc_init_options): Initialize warn_ampersand.
	(gfc_post_options): Set the warn if pedantic.
	(set_Wall): Set warn_ampersand.
	(gfc_handle_option: Add Wampersand for itself, -std=f95, and -std=f2003.
	* scanner.c (gfc_next_char_literal): Add test for missing '&' in
	continued character constant and give warning if missing.

From-SVN: r112078
2006-03-15 07:03:20 +00:00
GCC Administrator
8a03ad9e34 Daily bump.
From-SVN: r112074
2006-03-15 00:17:04 +00:00
Steven Bosscher
1cba0d4e32 tree-pass.h (pass_cfg): Remove.
* tree-pass.h (pass_cfg): Remove.
	* alias.c (rest_of_handle_cfg, pass_cfg): Remove.
	* passes.c (pass_cfg): Don't run it.

From-SVN: r112069
2006-03-14 21:04:56 +00:00
Janne Blomqvist
a277877c31 Re-add ChangeLog entry that somehow managed to get itself missing in action.
From-SVN: r112068
2006-03-14 22:49:52 +02:00
Kazu Hirata
5b94780fcb re PR middle-end/26684 (ppc-Darwin bootstrap failure)
PR middle-end/26684
	* reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef
	STACK_REGS.

From-SVN: r112067
2006-03-14 20:47:17 +00:00
Steven G. Kargl
840bd9f778 re PR fortran/18537 (no warning about tabs with std=f95 option)
PR 18537
        * gfortran.h: Wrap Copyright line.
        (gfc_option_t): add warn_tabs member.
        * lang.opt: Update Coyright year.  Add the Wtabs.
        * invoke.texi: Document -Wtabs.
        * scanner.c (gfc_gobble_whitespace): Use warn_tabs.  Add linenum to
        suppress multiple warnings.
        (load_line): Use warn_tabs.  Add linenum, current_line, seen_comment
        to suppress multiple warnings.
        * options.c (gfc_init_options): Initialize warn_tabs.
        (set_Wall): set warn_tabs for -Wall.
        (gfc_post_options): Adjust flag_tabs depending on -pedantic.
        (gfc_handle_option):  Process command-line option -W[no-]tabs

From-SVN: r112066
2006-03-14 19:37:49 +00:00
Kazu Hirata
df6872b72d * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove.
From-SVN: r112062
2006-03-14 18:16:21 +00:00
Kazu Hirata
0243368307 bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
* config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
	* system.h (UNALIGNED_WORD_ASM_OP): Poison.

From-SVN: r112061
2006-03-14 18:14:52 +00:00
Kazu Hirata
e4881f2342 Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
* Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
	* reg-stack.c (stack_regs_mentioned_data): Change the type to
	VEC(char,heap) *.
	(stack_regs_mentioned): Update the uses of
	stack_regs_mentioned_data.  Don't access the array beyond its
	end.
	(reg_to_stack): Update the uses of stack_regs_mentioned_data.
	Don't include gt-reg-stack.h.

From-SVN: r112060
2006-03-14 18:11:11 +00:00
Jason Merrill
69d1a40342 tweak comments
From-SVN: r112059
2006-03-14 12:36:29 -05:00
John David Anglin
e1835ff189 pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.
* pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.

From-SVN: r112053
2006-03-14 15:06:32 +00:00
Richard Guenther
fb0103e5b1 configure: Regenerate with autoconf 2.13.
2006-03-14  Richard Guenther  <rguenther@suse.de>

        * configure: Regenerate with autoconf 2.13.

From-SVN: r112052
2006-03-14 13:35:06 +00:00
Richard Guenther
b5564e87d4 re PR tree-optimization/26672 (ICE in op_iter_init, triggered by printf->puts optimization)
2006-03-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/26672
	* tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in
	SSA form.

	* gcc.dg/torture/pr26672.c: New testcase.

From-SVN: r112050
2006-03-14 12:50:10 +00:00
Richard Guenther
6971d714fe re PR tree-optimization/26667 (Inlining always_inline functions causes further inlining that reduces function size to fail)
2006-03-14  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/26667
	* ipa-inline.c (cgraph_check_inline_limits): Walk the correct
	node for the callees.  Always allow inlining if it will shrink
	the function size.

From-SVN: r112049
2006-03-14 09:57:43 +00:00
Richard Guenther
7de805590a re PR middle-end/26659 (gcc.target/powerpc/ppc-vector-memset.c fails on the mainline)
2006-03-14  Richard Guenther  <rguenther@suse.de>

	PR middle-end/26659
	* builtins.c (get_pointer_alignment): Prefer alignment
	information from decls over that from types.

From-SVN: r112048
2006-03-14 09:53:36 +00:00
Eric Botcazou
2f96b75442 Move around a couple of hunks and add a missing one for commit 111866
From-SVN: r112046
2006-03-14 07:13:42 +00:00
Jim Blandy
17237f6b0e MAINTAINERS: Use my work address.
2006-03-13  Jim Blandy  <jimb@codesourcery.com>

	* MAINTAINERS: Use my work address.

From-SVN: r112045
2006-03-14 06:12:40 +00:00
Andrew Pinski
0e512a4f6b re PR target/26657 (With -fopenmp, gcc does not link with -lgomp)
2006-03-14  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/26657
        * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp.

From-SVN: r112041
2006-03-13 17:19:16 -08:00
Joseph Myers
716019c0ad rs6000.opt (mdlmzb): New option.
* config/rs6000/rs6000.opt (mdlmzb): New option.
	(msched-prolog, msched-epilog): Use Var not Mask.
	* doc/invoke.texi (-mdlmzb): Document.
	* config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
	MASK_SCHED_PROLOG.
	(rs6000_override_options): Enable -mdlmzb for 405 and 440.
	* config/rs6000/rs6000.md: Add dlmzb support for 405 and 440.

testsuite:
	* gcc.target/powerpc/405-dlmzb-strlen-1.c,
	gcc.target/powerpc/440-dlmzb-strlen-1.c: New tests.

From-SVN: r112040
2006-03-14 00:29:07 +00:00
Uttam Pawar
a14df7dabe re PR rtl-optimization/25739 (Memory leak in bt_load.c(augment_live_range))
2006-03-13  Uttam Pawar  <uttamp@us.ibm.com>

	PR rtl-optimization/25739
	* bt-load.c (augment_live_range): Free tos pointer.

	* gensupport.c (identify_predicable_attribute): Free
	p_false pointer.
	* gcov.c (create_file_names): Free name pointer.

From-SVN: r112039
2006-03-14 00:24:54 +00:00
GCC Administrator
a62cdb32bb Daily bump.
From-SVN: r112037
2006-03-14 00:17:04 +00:00
Roger Sayle
f831807967 re PR middle-end/26557 (ICE in simplify_subreg)
PR middle-end/26557
	* stmt.c (emit_case_nodes): Handle the case where the index is a
	CONST_INT, where the comparison mode is specified by the index type.

	* gcc.c-torture/compile/switch-1.c: New test case.

From-SVN: r112032
2006-03-13 23:47:47 +00:00
John David Anglin
26a851b930 pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O is defined.
* pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O
	is defined.

From-SVN: r112029
2006-03-13 23:22:57 +00:00
Paul Thomas
a4b9e93e5d re PR libfortran/25378 ([Fortran 2003] maxloc for all-false mask)
2006-03-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25378
	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set the initial position to zero and
	modify the condition for updating it, to implement the F2003 requirement for all(mask)
	is false.

2006-03-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25378
	* libgfortran/m4/minloc1.m4: Set the initial position to zero and modify the condition for
	updating it, to implement the F2003 requirement for all(mask).eq.false.
	* libgfortran/m4/maxloc1.m4: The same.
	* libgfortran/m4/iforeach.m4: The same.
	* libgfortran/m4/minloc0.m4: The same.
	* libgfortran/m4/maxloc0.m4: The same.
	* libgfortran/generated/maxloc0_16_i16.c: Regenerated, together with 41 others.
	* libgfortran/generated/minloc0_16_i16.c: Regenerated, together with 41 others.

2006-03-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25378
	* gfortran.fortran-torture/execute/intrinsic_mmloc_3.f90: Expand test to include more
	permuatations of mask and index.
	* testsuite/gfortran.dg/scalar_mask_1.f90: Modify last test to respond to F2003 spec.
	that the position returned for an all false mask && condition is zero.

From-SVN: r112028
2006-03-13 22:49:56 +00:00