- 19 Mar, 2006 5 commits
-
-
genpreds.c (write_tm_preds_h): Add semicolon and newline at end of insn_extra_address_constraint declaration. * genpreds.c (write_tm_preds_h): Add semicolon and newline at end of insn_extra_address_constraint declaration. From-SVN: r112217
David Edelsohn committed -
* config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask. (no-sum-in-toc): Same. * config/rs6000/rs6000.c (rs6000_handle_option): Use new variables. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set NO_FP_IN_TOC for -fPIC instead of mask. * config/rs6000/t-aix43 (T_ADAFLAGS): Delete. (BOOT_LDFLAGS): Delete. (LDFLAGS): Delete. * config/rs6000/t-aix52: Same. * config/rs6000/rs6000.md (store_multiple_power): Delete. (stmsi[345678]_power): New. From-SVN: r112215
David Edelsohn committed -
From-SVN: r112212
Paul Thomas committed -
2006-03-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/26716 *expr.c (external_spec_function): Permit elemental functions. PR fortran/26716 *interface.c (compare_actual_formal): Detect call for procedure usage and require rank checking, in this case, for assumed shape and deferred shape arrays. (gfc_procedure_use): Revert to pre-PR25070 call to compare_actual_formal that does not require rank checking.. 2006-03-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/26716 * gfortran.dg/elemental_initializer_1.f90: New test. PR fortran/26716 * gfortran.dg/assumed_shape_ranks_2: New test. From-SVN: r112210
Paul Thomas committed -
From-SVN: r112208
GCC Administrator committed
-
- 18 Mar, 2006 5 commits
-
-
* gcc.dg/980523-1.c, gcc.dg/980526-1.c, gcc.dg/switch-1.c: Use target fpic. From-SVN: r112204
Joseph Myers committed -
* gfortran.dg/direct_io_1.f90, gfortran.dg/iostat_2.f90, gfortran.dg/open_new.f90, gfortran.dg/open_readonly_1.f90, gfortran.dg/pr16935.f90, gfortran.dg/pr20954.f, gfortran.dg/read_many_1.f, gfortran.dg/unf_io_convert_2.f90, gfortran.fortran-torture/execute/direct_io.f90, gfortran.fortran-torture/execute/inquire_2.f90, gfortran.fortran-torture/execute/inquire_4.f90, gfortran.fortran-torture/execute/list_read_1.f90, gfortran.fortran-torture/execute/open_replace.f90, gfortran.fortran-torture/execute/slash_edit.f90, gfortran.fortran-torture/execute/unopened_unit_1.f90: Delete temporary files from testcases. From-SVN: r112201
Kaveh R. Ghazi committed -
2006-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/26509 gfortran.dg/write_direct_eor.f90: New test. From-SVN: r112199
Jerry DeLisle committed -
2006-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/26509 * libgfortran.h: Add ERROR_DIRECT_EOR. * runtime/error.c (translate_error): Add translation for new error. * io/transfer.c (write_buf): Add check for EOR when mode is direct access. From-SVN: r112198
Jerry DeLisle committed -
From-SVN: r112195
GCC Administrator committed
-
- 17 Mar, 2006 12 commits
-
-
From-SVN: r112180
Steve Ellcey committed -
2006-03-17 Richard Guenther <rguenther@suse.de> PR middle-end/26721 * builtins.c (get_pointer_alignment): For component style references adjust alignment to the component type alignment. Make sure to adjust alignment for component access of constants. From-SVN: r112177
Richard Guenther committed -
* gcc.target/powerpc/pr26350.c: New. * gcc.target/powerpc/indexed-addr.c: New. From-SVN: r112176
David Edelsohn committed -
* config/rs6000/rs6000.md (strlensi): Emit barrier after unconditional jump. From-SVN: r112175
David Edelsohn committed -
2006-03-17 Paul Brook <paul@codesourcery.com> * doc/install.texi: Docuemnt --with-mode. * config.gcc: Add --with-mode for arm*-*-*. * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode". From-SVN: r112174
Paul Brook committed -
* sh.c (max_labelno_before_reorg): New variable. (sh_reorg): Initialize it. (find_barrier): Check max_labelno_before_reorg before using label_to_alignment. Take length of explicit alignment insns into account. When seeing a UNSPECV_CONST_END, return it. * sh.c (fixup_mova): Set mode of affected label to QImode. (untangle_mova): New function. (find_barrier): Use it. Check mode of label before decrementing num_mova. (sh_reorg): Likewise. Set mode of all insns back to VOIDmode. * sh.c (MOVA_LABELREF): New macro. (mova_p, fixup_mova, sh_reorg): Use it. (find_barrier, sh_reorg): Don't count num_mova back to 0 unless ADDR_DIFF_VEC matches mova. From-SVN: r112173
J"orn Rennecke committed -
* dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument with ATTRIBUTE_UNUSED. From-SVN: r112171
Steven Bosscher committed -
* dwarf2out.c (dwarf2out_stack_adjust): Always track the stack pointer, instead of assuming it is possible to derive the correct args size from a call insn. From-SVN: r112170
Alexandre Oliva committed -
* rtl.h (CONST_INT_P): Define. * config/vax/vax.c (print_operand_address): Use CONST_INT_P() instead of GET_CODE(x) == CONST_INT. (vax_rtx_costs): Likewise. (vax_output_int_move): Likewise. (vax_output_int_add): Likewise. (legitimate_constant_address_p): Likewise. (index_term_p): Likewise. * config/vax/vax.h (PRINT_OPERAND): Likewise. * config/vax/vax.md (and<mode>3): Likewise. (ashrsi3): Likewise. (extv): Likewise. (movstricthi): Likewise. (movstrictqi): Likewise. (rotrsi3): Likewise. (five unnamed insns): Likewise. From-SVN: r112169
Jan-Benedict Glaw committed -
* doc/tm.texi (SDB and DWARF): Add extra parameter to ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables. * dwarf2asm.h (dw2_asm_output_offset): Add section parameter. * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter. Pass to ASM_OUTPUT_DWARF_OFFSET. * dwarf2out.c (debug_frame_section): New. (output_call_frame_info): Use debug_frame_section. Pass it to dw2_asm_output_offset. (output_die): Pass appropriate section to dw2_asm_output_offset. (output_compilation_unit_header): Likewise. (output_pubnames): Likewise. (output_aranges): Likewise. (enum dw_val_class): Break dw_val_class_lbl_offset into dw_val_class_lineptr and dw_val_class_macptr. (add_AT_lbl_offset): Delete. (add_AT_lineptr): New. (add_AT_macptr): New. (AT_lbl): Expect a lineptr or macptr. (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr. (attr_checksum): Likewise. (same_dw_val_p): Likewise. (size_of_die): Likewise. (value_format): Likewise. (output_die): Likewise. (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of add_AT_lbl_offset. * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. * config/i386/i386.c (x86_file_start): Call darwin_file_start. * config/darwin-protos.h (darwin_file_start): New. (darwin_asm_output_dwarf_offset): New. * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call darwin_file_start. * config/darwin.c (darwin_emit_unwind_label): Don't output label if not EH section; simplify. (darwin_file_start): New. (darwin_asm_output_dwarf_offset): New. * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment, mark as 'debug'. (DEBUG_INFO_SECTION): Likewise. (DEBUG_ABBREV_SECTION): Likewise. (DEBUG_ARANGES_SECTION): Likewise. (DEBUG_MACINFO_SECTION): Likewise. (DEBUG_LINE_SECTION): Likewise. (DEBUG_LOC_SECTION): Likewise. (DEBUG_PUBNAMES_SECTION): Likewise. (DEBUG_STR_SECTION): Likewise. (DEBUG_RANGES_SECTION): Likewise. (FRAME_BEGIN_LABEL): Must start with 'L' in debug section. (ASM_OUTPUT_DWARF_OFFSET): New. From-SVN: r112168
Geoffrey Keating committed -
From-SVN: r112166
GCC Administrator committed -
* gfortran.h (gfc_equiv_info): Add length field. * trans-common.c (copy_equiv_list_to_ns): Set the length field. * dependency.c (gfc_are_equivalenced_arrays): Use both the offset and length fields to determine whether the two equivalenced symbols overlap in memory. * gfortran.dg/dependency_13.f90: New test case. From-SVN: r112162
Roger Sayle committed
-
- 16 Mar, 2006 18 commits
-
-
* config.gcc (tm_defines): Always add to previous value rather than replacing it. From-SVN: r112160
Joseph Myers committed -
* config/mips/predicates.md (splittable_const_int_operand): New, split from move_operand. (splittable_symbolic_operand): New. (move_operand): Add commentary. Use splittable_const_int_operand. Inline mips_atomic_symbolic_constant_p. * config/mips/mips.md: Add combine splitters for handling moves of splittable_const_int_operands and splittable_symbolic_operands. * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete. (mips_split_symbol): Declare. (mips_move_integer): Declare. * config/mips/mips.c (mips_split_p): Make global. (TARGET_MIN_ANCHOR_OFFSET): Override default. (TARGET_MAX_ANCHOR_OFFSET): Likewise. (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise. (mips_offset_within_object_p): Handle block symbols. (mips_atomic_symbolic_constant_p): Delete. (mips_cannot_force_const_mem): Return false for constants that mips_legitimize_move can handle. (mips_use_blocks_for_constant_p): New function. (mips_split_symbol): Make global. (mips_move_integer): Likewise. Add a temporary register argument. (mips_legitimize_const_move): Use splittable_const_int_operand and splittable_symbolic_operand. (mips_use_anchors_for_symbol_p): New function. * config/mips/mips.h: Protect externs with !USED_FOR_TARGET. (mips_split_p): Declare. From-SVN: r112150
Richard Sandiford committed -
* config.gcc (mips64*-*-linux*): Keep existing tm_defines. (mips*-*-linux*): Likewise. From-SVN: r112149
Richard Sandiford committed -
2006-03-16 Roger Sayle <roger@eyesopen.com> Daniel Speyer <dspeyer@wam.umd.edu> PR middle-end/18259 * tree-dump.c (dump_real): New function. (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants. * Makefile.in (REAL_H): New macro for dependencies on real.h. (tree-dump.o): Add $(REAL_H) to the dependencies. Co-Authored-By: Daniel Speyer <dspeyer@wam.umd.edu> From-SVN: r112147
Roger Sayle committed -
PR libgcj/26706: * aclocal.m4, configure: Rebuilt. * configure.ac (GCC_NO_EXECUTABLES): Moved earlier. From-SVN: r112142
Tom Tromey committed -
From-SVN: r112138
Paul Brook committed -
PR middle-end/21781 * real.c (real_from_string): If the mantissa is zero, don't bother parsing the exponent as the result should always be zero. * gcc.dg/real-const-1.c: New test case. From-SVN: r112136
Roger Sayle committed -
2006-03-16 Andreas Krebbel <krebbel1@de.ibm.com> * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms. From-SVN: r112131
Andreas Krebbel committed -
2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> * config/ia64/ia64.c (stops_p): Added explicit initialization. (ia64_first_cycle_multipass_dfa_lookahead_guard_spec, ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn, ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global, ia64_sched_finish_global): New static functions to implement hooks from gcc_target.sched. (spec_check_no, max_uid, pending_data_specs): New static variables. (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p, ia64_spec_check_src_p): New static functions. (ia64_adjust_cost): Renamed to ia64_adjust_cost_2. (TARGET_SCHED_ADJUST_COST): Removed. (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_FINISH_GLOBAL, 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. (update_set_flags, group_barrier_needed, set_src_needs_barrier): Fixed to handle speculation checks. (rtx_needs_barrier): Fixed to handle speculative loads and their checks. (ia64_variable_issue): Added code to count speculative loads and their checks. (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle speculative loads. (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): New enumerations. (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET): New constants. (ia64_ld_address_bypass_p): Fixed to handle speculative loads. (ia64_reorg): Reset stops_p to NULL after it is freed. * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA, UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants. (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f, chk_a. (data_speculative, control_speculative, check_load): New attributes. (mov<mode>_advanced, mov<mode>_speculative, mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced, zero_extend<mode>di2_speculative, zero_extend<mode>di2_speculative_advanced): New patterns for data and control speculative loads. (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for check loads. (advanced_load_check_clr_<mode>, speculation_check_<mode>): New pattern for data and control speculation checks. (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr, ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr, reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes): Auxiliary definitions for the patterns. * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a, 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource constraints. (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition for speculation. (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i. * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f, 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a): New resource constraints. (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition for speculation. (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i. * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec, msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, msched-in-control-spec, msched-ldc, msched-control-ldc, msched-spec-verbose, msched-prefer-non-data-spec-insns, msched-prefer-non-control-spec-insns, msched-count-spec-in-critical-path): New flags to tune speculative scheduling. * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec, msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, msched-in-control-spec, msched-ldc, msched-control-ldc, msched-spec-verbose, msched-prefer-non-data-spec-insns, msched-prefer-non-control-spec-insns, msched-count-spec-in-critical-path): Document new flags. From-SVN: r112129
Maxim Kuvyrkov committed -
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
Maxim Kuvyrkov committed -
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
Maxim Kuvyrkov committed -
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
Maxim Kuvyrkov committed -
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
Maxim Kuvyrkov committed -
* 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
Kaz Kojima committed -
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
Geoffrey Keating committed -
PR libgcj/26688: * lib/Makefile.in: Rebuilt. * lib/Makefile.am (propertydirs): Ignore .svn directories. (metafiles): Likewise. From-SVN: r112115
Tom Tromey committed -
* 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
Jan-Benedict Glaw committed -
* g++.dg/opt/pr15551.C: Cleanup temp file. From-SVN: r112108
Kaveh R. Ghazi committed
-