OSDN Git Service

2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b119e0f..1ab1c66 100644 (file)
@@ -1,3 +1,123 @@
+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