OSDN Git Service

gcc:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2e9ec69..b02dbcd 100644 (file)
@@ -1,3 +1,478 @@
+2006-09-21  Janis Johnson  <janis187@us.ibm.com>
+
+       * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
+
+2006-09-21  Roger Sayle  <roger@eyesopen.com>
+
+       PR debug/29132
+       * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
+       dw_fde_current_label, to be the start of the function, i.e. the same
+       value as dw_fde_begin.
+
+2006-09-20  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
+       * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
+       (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
+       (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
+       (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
+       (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
+       (abs<mode>2, neg<mode>2): Likewise.
+       * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
+       (*mips_abs_ps): New define_insn.
+
+2006-09-20  Josh Conner  <jconner@apple.com>
+
+       PR middle-end/25505
+       * calls.c (expand_call): Allow reuse of structure return stack
+       temp.
+
+2006-09-20  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
+       positive offsets.
+
+2006-09-20  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/extend.texi (Decimal Float): Update for latest draft TR,
+       clean up terminology.
+
+2006-09-20  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/28574
+       * ifcvt.c (dead_or_predicable): Don't predicate then blocks
+       with tablejumps in them.
+
+2006-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/28046
+       * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
+       wrap it into TARGET_EXPR.
+
+2006-09-20  Eric Christopher  <echristo@apple.com>
+
+       * config/i386/i386.c (x86_fisttp): Remove.
+       * config/i386/i386.h (x86_fisttp): Ditto.
+       (TARGET_FISTTP): Ditto.
+
+2006-09-19  Eric Christopher  <echristo@apple.com>
+
+       * doc/tm.texi (OBJC_JBLEN): Describe.
+       * config/i386/darwin.h (OBJC_JBLEN): Define.
+       * config/rs6000/darwin.h: Ditto.
+
+2006-09-19  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR rtl-optimization/21299
+       * reload1.c (reload): Purge invalid ASMs in the final pass.
+
+2006-09-19  Steve Ellcey  <sje@cup.hp.com>
+
+       PR  28490
+       * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
+       pointers as legitimate constants.
+
+2006-09-19  Paul Brook  <paul@codesourcery.com>
+
+       PR target/28516
+       * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
+
+2006-09-17  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR tree-optimization/28887
+       * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
+       component parts from the reference.
+       (gather_memory_references_ref): Record the reference without the
+       nonaddressable component parts.
+
+2006-09-17  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR c/25993
+       * c-opts.c (c_common_handle_option): Ignore the -std options
+       if the input language is assembly.
+
+2006-09-17  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-opt/21591
+       * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
+       tag first.
+       (ptr_ptr_may_alias_p): Likewise.
+       (record_record_differ_p): New function.
+       (base_object_differ_p): Call record_record_differ_p.
+
+2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/29059
+       * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
+       away for the expr argument.
+
+2006-09-16  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR tree-opt/27742
+       * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
+       before using it for dumping after vectorizing loops.
+
+2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
+           Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR target/29030
+       * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
+       skip on error_mark_node.
+       (rs6000_darwin64_record_arg_recurse): Likewise.
+
+2006-09-16  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
+       * doc/rtl.texi: Remove related documentation.
+
+2006-09-16  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
+       printf.
+
+2006-09-15  Jim Wilson  <wilson@specifix.com>
+
+       * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
+       Handle symbol offsets same as they are handled in ia64_expand_move
+       and move_operand.
+
+2006-09-16  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
+       Add forgotten parameter to the fprintf call.
+
+2006-09-15  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
+
+2006-09-15  Uros Bizjak <uros@kss-loka.si>
+
+       * doc/contrib.texi: Add my entry.
+
+2006-09-15  Nick Clifton  <nickc@redhat.com>
+
+       * doc/md.texi (Processor pipeline description): Fix typo in
+       example of how to use the absence_set directive and reword the
+       description to make it slightly easier to read.
+
+2006-09-15  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
+       * loop-doloop.c (doloop_optimize): Use it to limit costs of
+       expanding the number of iterations.
+       * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
+
+       * cfgrtl.c (emit_insn_at_entry): New function.
+       * rtl.h (emit_insn_at_entry): Declare it.
+       * integrate.c (emit_initial_value_sets): Use it.
+
+       * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
+
+       * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
+       bad.
+       (struct loop_work and related VEC declarations): Delete.
+       (bfin_dump_loops): Print out new member bad.
+       (bfin_bb_in_loop): Use plain bitmap test.  Don't recurse.
+       (bfin_scan_loop): Don't recurse.
+       (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
+       loops.  No longer need to update outer loops if the current one is
+       found bad.  Move some validitiy checks to bfin_discover_loop.
+       (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
+       but changed not to check for nesting.  Also changed to use the new bad
+       flag.
+       (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
+       time.  Use bitmap based test to discover loop nesting.
+
+2006-09-15  Kazu Hirata  <kazu@codesourcery.com>
+
+       * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
+       one line.
+
+2006-09-14  Richard Guenther  <rguenther@suse.de>
+           Kazu Hirata  <kazu@codesourcery.com>
+
+       PR middle-end/28884.
+       * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
+       (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
+       Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
+       with TARGET_FUNCTION_VALUE.
+
+2006-09-14  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/26504
+       * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
+
+2006-09-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
+       of a RETURN_EXPR
+
+2006-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR debug/28980
+       * dwarf2out.c (loc_descriptor_from_tree_1): Handle
+       FUNCTION_DECL.
+
+2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * basic_block.h (bb_has_eh_pred): Fix comment.
+
+2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * flow.c (calculate_global_regs_live): Invalidate eh registers
+       on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
+       (propagate_block): Handle eh registers as if they were set at basic
+       block start.
+       * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
+       registers.
+       * global.c (global_conflicts): Make eh registers to conflict with
+       pseudos live at basic block begin.
+       * basic_block.h (bb_has_eh_pred): New function.
+
+2006-09-13  Richard Sandiford  <richard@codesourcery.com>
+
+       PR rtl-optimization/28982
+       * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
+       index of a PRE_MODIFY or POST_MODIFY address.
+       * reload1.c (inc_for_reload): Use find_replacement on the original
+       base and index registers.
+
+2006-09-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
+       for -Os. Update __m128 alignment requirement.
+
+2006-09-13  Jan Hubicka  <jh@suse.cz>
+
+       * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
+
+2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/28243
+       * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
+       the insn to which the note was originally attached.
+
+2006-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
+           Roger Sayle  <roger@eyesopen.com>
+
+       * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
+       outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
+       on platforms that don't use dwarf for debug info.
+
+2006-09-12  Jason Merrill  <jason@redhat.com>
+
+       PR middle-end/28493
+       * builtins.c (expand_builtin_setjmp_receiver): Clobber
+       hard_frame_pointer_rtx after using it to update the frame pointer.
+
+2006-09-12  Roger Sayle  <roger@eyesopen.com>
+
+       * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
+       (TARGET_ASM_CLOSE_PAREN): Likewise.
+       * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
+       (TARGET_ASM_CLOSE_PAREN): Likewise.
+
+2006-09-12  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/22223
+       * config/alpha/alpha.c (alpha_start_function): Don't emit stack
+       frame information for frames larger than 512 Kbytes on Tru64 when
+       using the native assembler.
+
+2006-09-12  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/4520
+       PR bootstrap/28784
+       * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
+       and symbols.  Instead use the implementation from cse.c's hash_rtx.
+
+2006-09-12  Jan Hubicka  <jh@suse.cz>
+
+       PR rtl-optimization/28071
+       * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
+       (vect_transform_loop): Likewise.
+       * tree-vectorizer.c (new_loop_vec_info): Likewise.
+       (new_loop_vec_info): Likewise.
+       (destroy_loop_vec_info): Likewise.
+       * tree-dfa.c (create_var_ann): Use GCC_CNEW.
+       (create_stmt_ann): Likewise.
+       (create_tree_ann): Rename to ...
+       (create_tree_common_ann): ... this one; allocate only the common part
+       of annotations.
+       * tree-vn.c (set_value_handle): Use get_tree_common_ann.
+       (get_value_handle): Likewise.
+       * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
+       get_tree_common_ann.
+       * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
+       (vinfo_for_stmt): Use stmt annotations.
+       * tree-flow.h (tree_ann_common_t): New type.
+       (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
+       (tree_ann, get_tree_ann, create_tree_ann): New.
+       * tree-flow-inline.h (get_function_ann): Do more type checking.
+       (stmt_ann): Likewise.
+       (tree_ann): Rename to ...
+       (tree_common_ann): ... this one; return ony common_ann
+       (get_tree_ann): Rename to ...
+       (tree_common_ann): This one; return only common_ann.
+       * tree-vect-patterns.c (vect_pattern_recog_1): Update call
+       of set_stmt_info.
+
+2006-09-11  Geoffrey Keating  <geoffk@apple.com>
+
+       * config.gcc (i[34567]86-*-darwin*): Set with_arch and
+       with_cpu by default.
+
+       * dwarf2out.c (dwarf_file_data): New.
+       (enum dw_val_class): Add dw_val_class_file.
+       (struct dw_val_struct): Add val_file.
+       (file_table): Change to a hash table.
+       (file_table_emitted): Delete.
+       (file_table_last_lookup_index): Delete.
+       (emitcount): Delete.
+       (last_emitted_file): New.
+       (lookup_filename): Change prototype to return a struct dwarf_file_data.
+       (init_file_table): Delete.
+       (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
+       (AT_addr): Add comment.
+       (add_AT_file): New.
+       (AT_file): New.
+       (get_AT_file): New.
+       (print_die): Handle dw_val_class_file.
+       (print_dwarf_line_table): Update for new file table structure.
+       (attr_checksum): Do checksum a filename.
+       (same_dw_val_p, same_attr_p): Do compare a filename.
+       (size_of_die): Handle dw_val_class_file.
+       (value_format): Likewise.
+       (output_die): Likewise.  Also, call maybe_emit_file here.
+       (struct file_info): Constify filenames.  Make file_idx a pointer
+       to a struct dwarf_file_data.
+       (struct dir_info): Constify directory names.  Remove 'used' field.
+       (struct file_name_acquire_data): New.
+       (file_name_acquire): New.
+       (output_file_names): Modify to handle new file data structures.
+       (add_src_coords_attributes): Use add_AT_file.
+       (add_call_src_coords_attributes): Likewise.
+       (dwarf2out_imported_module_or_decl): Likewise.
+       (gen_subprogram_die): Modify for new file data structures.
+       (gen_variable_die): Likewise.
+       (file_table_eq): New.
+       (file_table_hash): New.
+       (file_table_last_lookup): New.
+       (lookup_filename): Rewrite to handle new file data structures.
+       (maybe_emit_file): Rewrite to handle new file data structures.
+       (dwarf2out_source_line): Always call lookup_filename and
+       maybe_emit_file.
+       (dwarf2out_init): Create file_table here.
+       (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
+       (file_table_relative_p): New.
+       (dwarf2out_finish): Change detection of relative filenames
+       to work with new file data structures.  Move output_line_info call
+       after debug_info output.
+
+2006-09-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/13685
+       PR target/27537
+       PR target/28621
+       * config/i386/i386.c (override_options): Always default to 16
+       byte stack boundary.
+
+2006-09-11  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR target/28672
+       * var-tracking.c (dump_dataflow_set): Start dumping at
+       register zero.
+       (clobber_variable_part): Kill only the variable part in
+       registers holding it, leaving other variables alone.
+
+2006-09-11  Josh Triplett  <josh@freedesktop.org>
+
+       * doc/extend.texi (Other Builtins): Actually use the macro
+       argument in the documentation example for
+       __builtin_types_compatible_p.
+
+2006-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/28726
+       * sched-deps.c (sched_analyze_reg): New function extracted from...
+       (sched_analyze_1): ...here.  Call it to analyze references to
+       registers.  Treat again writes to a stack register as writing to the
+       register.
+       (sched_analyze_2): ...and here.  Call it to analyze references to
+       registers.  Treat again reads of a stack register as reading the
+       register.
+
+2006-09-11  Guenter Roeck  <guenter@roeck-us.net>
+           David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/27287
+       * config/rs6000/spe.md (frob_df_di): Remove %H.
+       (frob_di_df): Remove %H.  Change evmergelo to mr.
+       (frob_di_df_2): Remove %H.  Change evldd to two loads.
+
+2006-09-11  Hideki Iwamoto  <h-iwamoto@kit.hi-ho.ne.jp>
+
+       * doc/cpp.texi: Fix names of charset options.
+
+2006-09-10  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR target/29009
+       * config/i386/i386.c (override_options): Use 128-bit
+       stack boundary always for 64bits.
+
+2006-09-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/28636
+       * combine.c (force_to_mode): Test for side-effects before
+       substituting by zero.
+       (simplify_shift_const): Likewise for zero or other constants.
+
+2006-09-10  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR middle-end/26983
+       * builtins.c (expand_builtin_setjmp): Force next_lab to be
+       preserved.
+
+2006-09-10  Richard Sandiford  <richard@codesourcery.com>
+
+       PR target/29006
+       * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
+       * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
+       returned by mode_for_size, rather than the mode of src itself,
+       to choose between 32-bit and 64-bit patterns.
+       (mips_mem_fits_mode_p): New function.
+       * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
+       that the size of the source matches the size of the destination.
+       (mov_<store>l, mov_<store>r): Likewise.
+
+2006-09-10  Eric Christopher  <echristo@apple.com>
+
+       * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
+       for literal16.
+
+2006-09-09  Eric Christopher  <echristo@apple.com>
+
+       PR target/28995
+       * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
+       for literal16.
+
+2006-09-09  Roger Sayle  <roger@eyesopen.com>
+           Nicolas Setton <setton@adacore.com>
+
+       * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
+
+2006-09-10  Andreas Schwab  <schwab@suse.de>
+
+       * config/m68k/m68k.md (bungt_rev): New pattern.
+
+2006-09-09  Paolo Bonzini  <bonzini@gnu.org>
+           Dale Johannesen  <dalej@apple.com>
+
+       PR target/26778
+       * regclass.c (struct reg_pref): Update documentation.
+       (regclass): Set prefclass to NO_REGS if memory is the best option.
+       (record_reg_classes): Cope with a prefclass set to NO_REGS.
+
 2006-09-08  Eric Christopher  <echristo@apple.com>
 
        * config.gcc (i?86-*-darwin): Add 64-bit HWI support.