OSDN Git Service

2004-10-13 Frank Ch. Eigler <fche@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 92e09b7..d1c9fe0 100644 (file)
@@ -1,3 +1,354 @@
+2004-10-13  Frank Ch. Eigler  <fche@redhat.com>
+
+       * toplev.c (compile_file): Call mudflap_finish_file from here ...
+       * c-decl.c (c_write_global_declarations): ... instead of here ...
+       * cp/decl.c (cp_finish_file): ... and here.
+       * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
+
+2004-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree-ssa-dom.c (record_range): Free the element if we are not
+       going to use it.
+
+2004-10-13  Tom Tromey  <tromey@redhat.com>
+
+       PR java/15578:
+       * gcc.c (option_map): Added --extdirs and --encoding.
+
+2004-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/14454
+       * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
+       sparc_can_output_mi_thunk.
+       (sparc_output_mi_thunk): Simplify handling of delta offset.  Add
+       handling of vcall offset.
+       (sparc_can_output_mi_thunk): New predicate.
+       * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
+       (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
+       (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
+
+       * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
+
+       * config/sparc/sparc.md (movdi): Remove redundant test.
+
+2004-10-13  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
+       TDF_IPA from -fdump-tree-*-all.
+
+2004-10-13  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
+       * config/arm/arm.c (thumb_find_work_register): Update comments.
+       (arm_load_pic_register): Add argument for scratch register.
+       (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
+       * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
+
+2004-10-13  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-data-ref.c: Fix comment typos.
+
+2004-10-13  Jakub Jelinek  <jakub@redhat.com>
+           Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/17724
+       * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
+
+2004-10-13  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
+       (altivec_builtin_mask_for_store): Likewise.
+       (altivec_init_builtins): Use lang_hooks.builtin_function to
+       create the decls for builtin_altivec_mask_for_load/store.
+
+2004-10-13  Nick Clifton  <nickc@redhat.com>
+
+       * config/c4x/c4x.c: Remove inclusion of loop.h.
+
+2004-10-12  Ben Elliston  <bje@au.ibm.com>
+
+       * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
+       (ei_container): New; renamed.
+       (ei_start, ei_last): New macros.
+       (ei_start_1, ei_last_1): Renamed from ei_start.
+       (ei_last_1, ei_end_p): Use ei_container() where applicable.
+       (ei_one_before_end_p, ei_next, ei_edge): Likewise.
+       * gcse.c (remove_reachable_equiv_notes): Use ei_container().
+
+2004-10-11  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
+       * cfgloop.c (initialize_loops_parallel_p): New.
+       (flow_loops_find): Initialize the parallel_p field to true for all 
+       the loops.
+       * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
+       (estimate_numbers_of_iterations_loop): Infers the loop bounds from 
+       the size of the data accessed in the loop.
+       (struct nb_iter_bound): Moved... 
+       * cfgloop.h (struct nb_iter_bound): ... here.
+       (estimated_nb_iterations, parallel_p): New fields in struct loop.
+       (record_estimate): Declare extern here.
+       * tree-chrec.c: Fix comments.
+       (nb_vars_in_chrec): New function.
+       * tree-chrec.h (nb_vars_in_chrec): Declared here.
+       * tree-data-ref.c: Don't include lambda.h, that is already included 
+       in tree-data-ref.h.
+       (tree_fold_divides_p): Don't check for integer_onep.
+       (tree_fold_bezout): Removed.
+       (gcd): New static duplicated function.
+       (int_divides_p, dump_subscript): New.
+       (dump_data_dependence_relation): Use dump_subscript.
+       (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations, 
+       estimate_niter_from_size_of_data): New.
+       (analyze_array_indexes, analyze_array): Call 
+       estimate_niter_from_size_of_data during the detection of array 
+       references.  Pass in a pointer to the statement that contains the 
+       array reference.
+       (all_chrecs_equal_p): New.
+       (compute_distance_vector): Renamed compute_subscript_distance.
+       Deal with multivariate conflict functions.
+       (initialize_data_dependence_relation): Initialize DDR_AFFINE_P, 
+       DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
+       (non_affine_dependence_relation): New.
+       (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, 
+       analyze_siv_subscript, analyze_miv_subscript, 
+       analyze_overlapping_iterations, subscript_dependence_tester): 
+       Initialize and return last_conflicts function.
+       (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
+       compute_overlap_steps_for_affine_1_2): New.
+       (analyze_siv_subscript_affine_cst): Removed.
+       (analyze_subscript_affine_affine): Disprove dependences based on the 
+       iteration domains.  Solve the univariate dependence case as before, 
+       but use lambda_matrix_right_hermite instead of tree_fold_bezout.
+       Implement the multivariate case of 2 versus 1 variables.
+       (build_classic_dist_vector, build_classic_dir_vector): Implement some 
+       unhandled cases.
+       (find_data_references_in_loop): Compute and initialize 
+       loop->estimated_nb_iterations and loop->parallel_p.
+       (analyze_all_data_dependences): Modify the debug dump order.
+       * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
+       subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
+       (SUB_LAST_CONFLICT, subscript->last_conflict, 
+       data_dependence_relation->affine_p, data_dependence_relation->size_vect,
+       DDR_AFFINE_P, DDR_SIZE_VECT): New.
+       (find_data_references_in_loop, initialize_data_dependence_relation,
+       dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
+
+2004-10-12  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * configure: Regenerate.
+
+2004-10-12  Fariborz Jahanian <fjahanian@apple.com>
+
+       PR 17892
+       * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
+       (simplify_rhs_and_lookup_avail_expr): Disallow associativity
+       and constant folding of floating point MULT_EXPR/PLUS_EXPR 
+       expressions.
+
+2004-10-12  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
+       (s390_gimplify_va_arg): Likewise.
+
+2004-10-12  Daniel Jacobowitz  <dan@debian.org>
+
+       * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
+       (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
+       (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
+       * regclass.c (record_address_regs): Remove ifdef.  Use
+       REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
+       * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
+       definition.
+       (scan_rtx_address, replace_oldest_value_addr): Use
+       REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
+       * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
+       unnecessary definitions.
+       (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
+       and MODE_BASE_REG_REG_CLASS.
+       * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
+       (MODE_BASE_REG_REG_CLASS): Define.
+       (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
+       (REG_MODE_OK_FOR_REG_BASE_P): Define.
+       * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
+       REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
+
+2004-10-12  Daniel Berlin <dberlin@dberlin.org>
+
+       * tree-ssa-alias.c (verify_name_tags): New function.
+       (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
+       (verify_alias_info): Call verify_name_tags.
+
+2004-10-12  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR rtl-optimization/17931
+       * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
+       ZERO_EXTRACT in it.
+
+2004-10-12  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_print_operand): Use output_operand_lossage where possible
+       rather than aborting.
+
+2004-10-12  Paul Brook  <paul@coudesourcery.com>
+
+       * config.gcc: Add armv6{k,z,zk}
+       * config/arm/arm-cores.def: Add arm1176 and mpcore.
+       * config/arm/tune.md: Regenerate.
+       * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
+       Define.
+       (all_architectures): Add armv6k, armv6z, armv6zk.
+       * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
+       * doc/invoke.texi: Document new arch and cpu values.
+
+2004-10-12  Paul Brook  <paul@coodesourcery.com>
+
+       * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
+       meabi=4.
+
+2004-10-12  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
+       Handle negative constants.
+
+2004-10-12  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/17301
+       * c-typeck.c (convert_arguments): Return error_mark_node if there
+       are too few arguments.
+       (build_function_call): Handle error_mark_node return from
+       convert_arguments.
+
+2004-10-06  Paolo Bonzini  <bonzini@gnu.org>
+
+       * configure.ac (symbolic_link): Replace with $LN_S.
+       (Assembler/Linker): Hard link from gas and binutils trees.
+       * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
+       * configure: Regenerate.
+
+2004-10-12  Paul Brook  <paul@codesourcery.com>
+
+       * configure.ac: Don't look for host assembler when building a canadian
+       cross.
+       * configure: Regenerate.
+
+2004-10-11  Roger Sayle  <roger@eyesopen.com>
+
+       PR other/17361
+       * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
+       (c_common_init_options): Remove #ifdef CL_F77 code.  Scan command
+       line options for "-lang-asm" and if found allow any of the C-family
+       front-end options.
+       (c_common_handle_option): Remove last use of permit_fortran_options.
+
+2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (print_operand): Support 'S' format flag.
+       * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
+       ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
+       ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
+       ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
+       ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
+       ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
+       ("*movstricthi"): Likewise.
+       ("*load_multiple_di", "*load_multiple_si"): Likewise.
+       ("*store_multiple_di", "*store_multiple_si"): Likewise.
+       ("*sethiqisi", "*sethihisi"): Likewise.
+       ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
+       ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
+       ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
+       ("*xorqi3", "*xc", "*xc_zero"): Likewise.
+       ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
+
+       ("*tmhi_full"): Fix incorrect op_type attribute.
+
+       ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
+       ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
+       ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
+       ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
+
+2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu
+
+       PR middle-end/16266
+       * function.c (temp_slots_at_level): Fix typo which creates too
+       many temp stack slots levels.
+
+2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_trampoline_template): Generate shorter
+       trampoline code.
+       (s390_trampoline_instantiate): Adapt.
+       * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
+
+2004-10-11  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/17657
+       * stmt.c (add_case_node): Add additional type argument.  Declare
+       as static to match prototype.  Convert the upper and lower bounds
+       to the specified index type.  Optimize away case ranges/values 
+       that are outside the index type's bounds.  Truncate case ranges
+       that span the index type's bounds.
+       (expand_case): Avoid unnessary computation and memory allocation
+       when index type is error_mark_node.  Pass index_type as required
+       by change to add_case_node API.  No need to convert case range
+       bounds to index_type, this is now done by add_case_node.
+
+2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_offset_p): Add prototype.
+       * config/s390/s390.c (s390_offset_p): New function.
+       * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
+       "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
+       transform Q->Q alternatives to *clc pattern.
+       ("*clc"): Move.
+       ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
+       "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
+       to transform Q->Q alternatives to *mvc pattern.
+       ("*mvc"): Move.  Add peephole to merge adjacent MVCs.
+       ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
+       "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
+       transform Q->Q alternatives to *nc pattern.
+       ("*nc"): New insn.  New peephole to merge adjacent NCs.
+       ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
+       "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
+       transform Q->Q alternatives to *oc pattern.
+       ("*oc"): New insn.  New peephole to merge adjacent OCs.
+       ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
+       transform Q->Q alternatives to *xc pattern.
+       ("*xc"): New insn.  New peephole to merge adjacent XCs.
+       ("*xc_zero"): Move.  Add peephole to merge adjacent XCs.
+
+2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * gimplify.c (gimple_push_condition): Make sure that we don't
+       have any saved condition cleanup if we were at the top level.
+
+2004-10-11  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/frv/frv.md (*adddi3_internal): Change name to...
+       (adddi3): ...replacing the exisiting define_expand.  Combine
+       alternatives.  Fix the range of the constant constraints ('J' instead
+       of 'NOP').  Remove bogus operands[2] check.  Use simplify_gen_subreg
+       to extract the lower and upper halves of the DImode operands.
+       Always use addi3_lower and adddi3_upper, not the subdi3 forms.
+       (adddi3_lower): Fix the range of the constant constraints and
+       remove the bogus operands[2] check.
+       (adddi3_upper): Use gpr_or_int10_operand as the predicate for
+       operand 2.  Use addxi to handle constant operands.
+       (subdi3_lower, subdi3_upper): Don't handle constant operands.
+
+2004-10-11  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * gengtype-lex.l: Add commented } & ) characters to unconfuse
+       editor's paren matching. Allow #define inside a struct.
+
+2004-10-10  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/17703
+       part of PR c++/17657
+       * fold-const.c (fold_build_cleanup_point_expr): New function.
+       * tree.h (fold_build_cleanup_point_expr): Prototype.
+
 2004-10-10  Eric Christopher  <echristo@redhat.com>
 
        * dwarf2out.c: Move attribute to subprogram declaration