OSDN Git Service

* config/rs6000/rs6000.c (output_toc): Make "offset" HOST_WIDE_INT.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index e3a9a8f..a1a145c 100644 (file)
@@ -1,3 +1,387 @@
+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
+       * c-pretty-print.c (pp_c_type_specifier): Do not recurse if
+       c_common_type_for_mode returns an unnamed type.
+
+2005-11-02  Richard Henderson  <rth@redhat.com>
+
+       PR target/9350
+       PR target/24374
+       * dwarf2out.c (dwarf2out_reg_save_reg): New.
+       (dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
+       * function.c (assign_parms): Use calls.internal_arg_pointer.
+       (expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
+       code.
+       * target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
+       (TARGET_CALLS): Add it.
+       * target.h (struct gcc_target): Add calls.internal_arg_pointer.
+       * targhooks.c (default_internal_arg_pointer): New.
+       * targhooks.h (default_internal_arg_pointer): Declare.
+       * tree.h (dwarf2out_reg_save_reg): Declare.
+       * doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
+       * config/i386/i386.c (dbx_register_map): Add return column.
+       (dbx64_register_map, svr4_dbx_register_map): Likewise.
+       (TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
+       (TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
+       (ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
+       (ix86_save_reg): Save force_align_arg_pointer.
+       (ix86_emit_save_regs): Make regno unsigned.
+       (ix86_emit_save_regs_using_mov): Likewise.
+       (ix86_expand_prologue): Handle force_align_arg_pointer.
+       (ix86_expand_epilogue): Likewise.
+       * config/i386/i386.h: (dbx_register_map): Update.
+       (dbx64_register_map, svr4_dbx_register_map): Update.
+       (struct machine_function): Add force_align_arg_pointer.
+       * config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
+       (UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
+       (TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
+
+2005-11-02  Jan Hubicka  <jh@suse.cz>
+
+       PR target/23303
+       * i386.md: Add peep2 for simplyfing array accesses.
+
+2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/24615
+       * config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
+       * config/s390/s390.c (s390_decompose_shift_count): New function.
+       (s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
+       (print_shift_count_operand): Use s390_decompose_shift_count.
+       * config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
+       Use s390_decompose_shift_count.  Do not accept any non-base hard regs.
+
+2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/24600
+       * loop.c (loop_givs_rescan): Use force_operand to expand
+       complex GIVs.
+
+2005-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR 22429
+       * fold-const.c (build_range_check): Use unsigned when signed
+       overflow is undefined also.  If etype is subtype, make sure that
+       the subtraction is in the supertype.
+
+2005-11-02  Richard Henderson  <rth@redhat.com>
+
+       PR target/24178
+       * config/alpha/alpha.c (get_aligned_mem): Honor alignment given
+       by MEM_ALIGN.
+
+2005-11-01  Richard Henderson  <rth@redhat.com>
+
+       PR 21518
+       * loop.c (scan_loop): Do not propagate computations to a hard
+       register destination with SMALL_REGISTER_CLASSES.
+
+2005-11-01  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not add extra
+       costs for MULT inside PLUS or MINUS.
+
+2005-11-01  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
+       (TRAMPOLINE_SIZE): Round up to 60.
+       * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
+
+2005-10-31  James E. Wilson  <wilson@specifix.com>
+
+       PR debug/24444
+       * dwarf2out.c (convert_cfa_to_loc_list): Put inside DWARF2_UNWIND_INFO
+       ifdef.  Put ifdefs around call in gen_subprogram_die.
+       (compute_frame_pointer_to_cfa_displacement): Likewise.
+       (gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
+       not defined.
+       
+       PR rtl-optimization/17356
+       *  cfgrtl.c (purge_dead_edges): Undo last change.  In EDGE_EH code,
+       add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
+
+2005-10-31  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/24093
+       * cgraph.c (cgraph_clone_edge, cgraph_clone_node): Watch negative
+
+       PR target/20928
+       * i386.c (legitimize_pic_address): Deal with large immediates.
+
+       PR profile/20815
+       * coverage.c (coverage_checksum_string): Fix code to stip random seeds
+       from symbol names while computing checkup.
+
+       PR profile/24487
+       * predict.c (predict_loops): Do not estimate more than
+       MAX_PRED_LOOP_ITERATIONS in PRED_LOOP_ITERATIONS heuristic.
+       * predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
+
+2005-10-31  Andrew MacLeod  <amacleod@redhat.com>
+       
+       PR tree-optimization/19097
+       * tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
+
+2005-10-31  J"orn Rennecke <joern.rennecke@st.com>
+
+       * optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
+
+2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/23492
+       * tree-inline.c (setup_one_parameter): If the init_stmt
+       is NULL, don't insert the statement.
+
+2005-10-30  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/24172
+       * tree-inline.c (copy_body_r): Unshare the substituted value first.
+
+2005-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.c (mmix_intval): Correct handling of DFmode
+       constants for hosts with long != 32 bits.
+
+2005-10-28  Andreas Krebbel <krebbel1@de.ibm.com>
+
+       PR middle-end/24093
+       * ipa-inline.c (craph_decide_recursive_inlining): Fix return value.
+
+2005-10-28  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config/ms1/ms1.h (TARGET_MS1_64_001): New.
+        (TARGET_MS1_16_002): New.
+        (TARGET_MS1_16_003): New.
+
+        * config/ms1/ms1.md ("decrement_and_branch_until_zero"): Rewrite.
+        ("*decrement_and_branch_until_zero_no_clobber"): New.
+        Add corresponding splitter for decrement_and_branch_until_zero
+        instruction.
+        Key all decrement_and_branch_until_zero patterns off of
+        TARGET_MS1_16_003.
+
+2005-10-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/24362
+       * tree-complex.c (extract_component): Treat RESULT_DECL
+       like the rest of the decls.
+
+2005-10-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/ia64/ia64.c (ia64_output_function_profiler): Emit an
+       indirect call to _mcount if the function needs a static chain.
+
+2005-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
+            Caroline Tice  <ctice@apple.com>
+
+       PR rtl-optimization/24460
+       * dwarf2out.c (have_switched_text_sections): New boolean variable.
+       (dwarf2out_switch_text_section): Set it to true instead of
+       incrementing separate_line_info_table_in_use.
+       (output_loc_list): Additionally test have_switched_text_sections.
+       (output_ranges): Likewise.
+       (dwarf2out_finish): Likewise.
+       * varasm.c (assemble_start_function): Do not call
+       insert_section_boundary_note.
+       (assemble_end_function): If flag_reorder_blocks_and_partition,
+       switch to the function's section before emitting the .size directive.
+       * bb-reorder.c (insert_section_boundary_note): Staticify.
+       (rest_of_handle_reorder_blocks): Call insert_section_boundary_note.
+       * output.h (insert_section_boundary_note): Delete.
+
+2005-10-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c/23103
+       * c-format.c (check_format_types): Use lang_hooks.types_compatible_p
+       instead of pointer equality when comparing types.
+
+2005-10-24  James E. Wilson  <wilson@specifix.com>
+
+       * sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
+       add_dependence_list_and_free calls.
+
+2005-10-24  Steven Bosscher  <stevenb@suse.de>
+
+       * contrib.texi: Add the names of the LLNL folks who donated
+       Cray pointer support for gfortran.
+
+2005-10-24  Steven Bosscher  <stevenb@suse.de>
+
+       PR tree-optimization/24225
+       * profile.c (branch_prob): Look from end to start through a
+       basic block when looking for a locus.
+
+2005-10-24  Richard Henderson  <rth@redhat.com>
+
+       * pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
+       parallel.
+       (hppa_expand_prologue): Likewise.
+
+2005-10-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
+       (NO_DEFERRED_PROFILE_COUNTERS): Define.
+       * pa.h (NO_PROFILE_COUNTERS): Define.
+       * pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
+       (funcdef_nos): New vector to hold label numbers of deferred profile
+       counters.
+       (output_deferred_profile_counters): New function.
+       (hppa_profile_hook): Push label number onto funcdef_nos.
+       (pa_hpux_file_end): Call output_deferred_profile_counters if
+       NO_DEFERRED_PROFILE_COUNTERS is false.
+
+       * pa-protos.h (get_deferred_plabel): New prototype.
+       * pa.c (get_plabel): Rename to get_deferred_plabel.  Return plabel.
+       Make global.
+       (output_call): Adjust calls.
+
+2005-10-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
+       peculiarity of GOT/TOC section usage.
+
+2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR objc/24435
+        * c-common.c (constant_string_class_name): Add documentation.
+
+2005-10-23  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/23832
+       * recog.c (peephole2_optimize): Increment peep2_current_count
+       only when the slot is empty.
+
+2005-10-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR ada/23957
+       * except.c (output_function_exception_table): Call
+       assemble_external_libcall if we need a personality function.
+
+2005-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/24460
+       * bb-reorder.c (fix_crossing_unconditional_branches): Do not
+       set the basic block for barriers.
+
+2005-10-21  Janis Johnson  <janis187@us.ibm.com>
+
+       * var-tracking.c (vt_initialize): Initialize post.
+
+2005-10-21  Devang Patel  <dpatel@apple.com>
+
+       PR/24220
+       * c-common.c (vector_types_convertible_p): Check vector element type.
+       
+2005-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (prepare_move_operands): Handle the address
+       constant which is a tls symbolic address plus a constant.
+
+2005-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR driver/24473
+       * gcc.c (main): Use the correct counter for erroring out
+       about mulitple files.
+
+2005-10-21  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/24465
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
+       use r2 for 64-bit tls .got access.
+
+2005-10-21  Paolo Bonzini  <bonzini@gnu.org>
+
+       * dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
+       TRUTH_OR_EXPR.
+
+2005-10-20  Steven Bosscher  <stevenb@suse.de>
+
+       PR tree-optimization/24307
+       * tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
+
+2005-10-20  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR middle-end/24295
+       * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
+       alias targets.
+       * varasm.c (find_decl_and_mark_needed): After cgraph global info
+       is ready, stop marking functions, but still mark variables.
+
 2005-10-20  Richard Guenther  <rguenther@suse.de>
 
        PR c++/24439
        * gcc.c (main): Compare language[0] with '*' when iterating over
        the infiles.
 
-2005-07-13  Adrian Strae½tling  <straetling@de.ibm.com>
+2005-07-13  Adrian Strae½tling  <straetling@de.ibm.com>
 
        * config/s390/s390.c: (s390_cc_modes_compatible): Move before
        "s390_emit_compare".  Add handling of CCZ1mode.
        Use CCZ1mode instead of CCZmode.
        * config/s390/s390-modes.def: Add CCZ1mode.  Comment new mode.
 
-2006-07-13  Adrian Strae½tling  <straetling@de.ibm.com>
+2006-07-13  Adrian Strae½tling  <straetling@de.ibm.com>
 
        * config/s390/s390.md: ("cmpstrsi", "*cmpstr<mode>"): New
        pattern.