OSDN Git Service

2005-11-04 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8de34f2..5c49c95 100644 (file)
@@ -1,3 +1,191 @@
+2005-11-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-flow.h (ref_contains_indirect_ref): Rename to
+       array_ref_contains_indirect_ref.
+       * tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
+       (array_ref_contains_indirect_ref): Make comment match the code
+       and vice-versa.
+       (ref_contains_array_ref): Likewise.
+       * tree-ssa-structalias.c (find_func_aliases): Remove call to
+       ref_contains_indirect_ref.
+       * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
+       Rename calls to ref_contains_indirect_ref.
+
+2005-11-04 Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_load_pic_register): Pass extra reg to
+       gen_pic_add_dot_plus_four and gen_pic_add_dot_plus_eight.
+       (arm_call_tls_get_addr, legitimize_tls_address): Likewise.
+       * config/arm/arm.md: Use match_operand in peephole input templates
+       and match_dup in peephole output templates.
+
+2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and
+       __aeabi_uidiv.
+
+2005-11-04  Mark Mitchell  <mark@codesourcery.com>
+           Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * longlong.h (add_ssaaaa): Clobber condition code register
+       in ARM version.
+       (sub_ddmmss): Likewise.
+       (umul_ppmm): Likewise.
+
+2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
+           Paul Brook  <paul@codesourcery.com>
+           Phil Blundell  <pb@reciva.com>
+
+       * configure.ac: Add test for ARM TLS support.
+       * configure: Regenerated.
+       * config/arm/arm-protos.h (legitimize_tls_address)
+       (arm_tls_referenced_p, tls_mentioned_p)
+       (arm_output_addr_const_extra): New prototypes.
+       (thumb_legitimize_pic_address): Delete.
+       * config/arm/arm.c: Include "gt-arm.h".
+       (enum tls_reloc): New.
+       (arm_cannot_copy_insn_p, arm_tls_symbol_p, load_tls_operand)
+       (pcrel_constant_p, get_tls_get_addr, arm_load_tp)
+       (arm_call_tls_get_addr, legitimize_tls_address)
+       (arm_tls_referenced_p, arm_tls_operand_p_1, tls_mentioned_p)
+       (arm_init_tls_builtins, arm_emit_tls_decoration)
+       (arm_output_addr_const_extra): New functions.
+       (TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM)
+       (TARGET_HAVE_TLS): Define.
+       (target_thread_pointer): New.
+       (arm_override_options): Handle -mtp=.
+       (legitimize_pic_address): Ignore UNSPECs.
+       (arm_legitimate_address_p, thumb_legitimate_address_p): Handle PC
+       relative symbols.
+       (arm_legitimize_address, thumb_legitimize_address): Handle TLS.
+       (tls_get_addr_libfunc): New variable.
+       (symbol_mentioned_p, label_mentioned_p): Ignore UNSPEC_TLS.
+       (arm_init_builtins): Call arm_init_tls_builtins.
+       (arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER.
+       (arm_encode_section_info): Call default_encode_section_info.
+       * config/arm/arm.h (TARGET_HARD_TP, TARGET_SOFT_TP): Define.
+       (enum arm_tp_type): New.
+       (target_thread_pointer): Add declaration.
+       (LEGITIMATE_CONSTANT_P): Handle TLS.
+       (LEGITIMATE_PIC_OPERAND_P): Handle TLS.
+       (OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra.
+       (enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER.
+       * config/arm/arm.md: Add UNSPEC_TLS.
+       (movsi): Handle TLS.
+       (pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for
+       non-PIC.
+       (tls_load_dot_plus_eight): New insn and a peephole to create it.
+       (load_tp_hard, load_tp_soft): New insns.
+       * arm.opt: Add -mtp=.
+       * doc/invoke.texi (ARM Options): Document -mtp.
+
+2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/arm/lib1funcs.asm: Don't include "libunwind.S".
+       * config/arm/libunwind.S: Include "lib1funcs.asm".
+       * config/arm/t-bpabi (LIB1ASMFUNCS): Remove _unwind.
+       (LIB2ADDEH): Add libunwind.S.
+       (LIB2ADDEHDEP): Add lib1funcs.asm.
+       * mklibgcc.in: Handle asm files in libgcc_eh.a.
+
+2005-11-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR fortran/18452
+       * gcc/c.opt: Add a -lang-fortran option.
+       * gcc/c-opts.c: Add a lang_fortran flag.
+       (c_common_init_options): Handling the -lang-fortran option.
+       (c_common_handle_option): Add a case for Fortran options in
+       preprocessing. Remove cases for -ffixed-form and
+       -ffixed-line-length. Add a case for -lang-fortran.
+
+2005-11-03  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c: Include params.h
+       (optimization_options): Set max-grow-copy-bb-insns default to 16.
+       (bdesc_2arg): Delete vpkuhss and vpkuwss.
+       * config/rs6000/altivec.md (UNSPEC_VPKUHSS): Delete.
+       (UNSPEC_VPKUWSS): Delete.
+       (altivec_vpkuhss): Delete.
+       (altivec_vpkuwss): Delete.
+       * config/rs6000/rs6000.md (plus_eqsi): Remove optimize_size from
+       final condition.
+       (neg_eq0<mode>): Remove final condition.
+       (neg_eq<mode>): Remove condition and split-condition.
+
+2005-11-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (output_toc): Make "offset" HOST_WIDE_INT.
+       Use associated print macros.
+
+2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c++/17964
+       * diagnostic.c (diagnostic_set_info_translated): New function.
+       (diagnostic_set_info): Use it.  Add comment.
+       * diagnostic.h (diagnostic_set_info_translated): Declare.
+
+2005-11-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
+       On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
+       reference only if 'public' is true.
+       (dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
+       emit the .hidden directive only if the indirect reference is public.
+       (dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
+       Pass it to dw2_force_const_mem.
+       * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
+       * dwarf2out.c (output_cfi): Adjust calls to above function.
+       (output_call_frame_info): Likewise.
+       * except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
+       as 'public' argument to dw2_asm_output_encoded_addr_rtx.
+
+2005-11-03  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/24483
+       * tree-ssa-loop-ivopts.c (aff_combination_add_elt): Move rest
+       field to elts if possible.
+
+2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/23155
+       * gimplifier.c (gimplify_expr): Create a temporary for lvalue
+       CONSTRUCTOR.
+
+2005-11-03  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/24351
+
+       * tree-ssa-structalias.c (struct variable_info): Add
+       collapsed_into.
+       (get_varinfo_fc): New function to follow collapsing.
+       (new_var_info): Set collapsed_to to NULL.
+       (dump_constraint): Follow collapsing.
+       (build_constraint_graph): Handle collapsing.
+       (do_simple_structure_copy): Return false if something bad
+       happened.
+       (collapse_rest_of_var): New function.
+       (do_structure_copy): Collapse if do_simple_structure_copy returns
+       false.
+       
+2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/24589
+       * gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
+       expressions to a statement list instead of gimplifying them.
+
+2005-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/23585
+       * rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
+       that can't trap plus a constant integer, if the mode has zero size.
+
+2005-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/24620
+       * config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
+       as operand 2.
+       ("*insv<mode>_reg_extimm"): Likewise.
+
 2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
 
        PR c/24329