X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=72e78c441114429ecdd8a0a5d8a4046b30da3ff9;hb=d05e7146af7af21b88c4b8829559cbfe4349483e;hp=c9b47e52fa66b616b8050562e5f0eca5264d6137;hpb=8309e5ff6ab46592b9a8cdb3064688df4f99f0a5;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c9b47e52fa6..72e78c44111 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,683 @@ +2005-08-26 Nick Clifton + + * config/v850/v850.c (ep_memory_operand): Return FALSE if + TARGET_EP is not defined. + * config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if + TARGET_EP is enabled. + (OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing. + * config/v850/v850.md (save_all_interrupt): Only use the EP + register if TARGET_EP is defined. + (restore_all_interrupt): Likewise. + * config/v850/lib1funcs.asm: Update functions so that the EP + register is only used if __EP__ is defined. + +2005-08-26 David Ung + + * config/mips/mips.c (mips_expand_prologue): Handle case when + generating for MIPS16 and the outgoing argument area is more than + SMALL_OPERAND. Use the frame pointer as temporary to generate the + add instruction. + +2005-08-26 Paul Woegerer + + * config/crx/crx.md: Make doloop_end pattern usage controllable + via mloop-nesting= command line switch. Make sure + the combiner cannot use doloop_end_ in an illegal way. + * config/crx/crx.c: Use regs up to r6 for argument passing. + Refine crx_address_cost (non cst4 displacements are expensive). + * config/crx/crx.opt: Add switch for mloop-nesting=. + +2005-08-26 Adrian Straetling + + * config/s390/s390.md: ("movstr", "*movstr"): Add patterns. + (UNSPEC_MVST): New constant. + +2005-08-26 Andreas Krebbel + + * config/s390/predicates.md ("shift_count_operand", "setmem_operand"): + Reject operands containing eliminable registers. + * testsuite/gcc.dg/20050825-1.c: New testcase. + +2005-08-24 Paolo Bonzini + Jan Hubicka + + * regmove.c (reg_is_remote_constant_p): Reorganize to not use log links. + +2005-08-24 Paolo Bonzini + + PR tree-optimization/23546 + * tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST + and REAL_CST nodes. + +2005-08-24 Pete Steinmetz + + * params.def (PARAM_MIN_SPEC_PROB): New. + * sched-rgn.c (MIN_PROBABILITY): Delete. + (compute_trg_info): Convert to PARAM_VALUE. + * doc/invoke.texi (param): Document min-spec-prob. + +2005-08-24 Fariborz Jahanian + + * config/darwin.h: define __PIC__ + * config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to + TARGET_OS_CPP_BUILTINS macro. + +2005-08-24 Paolo Bonzini + + * config/rs6000/rs6000.md: Fix thinko in the peephole2 I added + yesterday. + +2005-08-24 Zdenek Dvorak + + * bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument + to duplicate_block. + * cfghooks.c (duplicate_block): Added position where to place + new block as argument. + * cfghooks.h (duplicate_block): Declaration changed. + * cfglayout.c (copy_bbs): Add argument after. Pass it to + duplicate_block. + * cfglayout.h (copy_bbs): Declaration changed. + * cfgloop.h (loop_version): Declaration changed. + * cfgloopmanip.c (duplicate_loop_to_header_edge): Pass + position to copy_bbs. + (loop_version): Pass position to duplicate_loop_to_header_edge. + Add place_after argument and position new blocks according to + it. + * modulo-sched.c (sms_schedule): Pass place_after argument + to loop_version. + * tracer.c (tail_duplicate): Pass argument to duplicate_block. + * tree-cfg.c (split_edge_bb_loc): New function. + (tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc + to determine position of new blocks. + * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument + to loop_version. + * tree-ssa-threadupdate.c (create_block_for_threading): Pass + argument to duplicate_block. + * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg): + Pass position to copy_bbs. + +2005-08-24 Zdenek Dvorak + + * fold-const.c (ptr_difference_const): Use + cst_and_fits_in_hwi instead of host_integerp. + +2005-08-24 Paolo Bonzini + + * config/darwin.c (gen_pic_offset): New. + (machopic_indirect_data_reference, machopic_legitimize_pic_address): + Use it. + +2005-08-23 Zdenek Dvorak + + PR tree-optimization/23486 + * tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals. + +2005-08-23 Phil Edwards + + * config.gcc (*-*-vxworks*): Update tm_file, add extra_options, + remove use_collect2. + (powerpc-wrs-vxworks): Update, split out *-*-vxworksae target. + + * target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target + configuration files to override the default value. + + * config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO, + EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS. + * config/vx-common.h: New file, split out from... + * config/vxworks.h: here. Update for VxWorks 6.x and RTP mode. + * config/vxworksae.h: New file, for VxWorks AE. + * config/vxworks.opt: New file. + * config/vxlib.c: Update for VxWorks 6. + + * config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust + other MULTILIB_* variables appropriately. + (LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm. + * config/rs6000/t-vxworksae: New file, adjust multilibs for AE. + * config/rs6000/vxworks.h: Update for VxWorks 6. + * config/rs6000/vxworksae.h: New file, mostly placeholder for now. + +2005-08-23 Andrew Pinski + + PR target/20799 + * config/darwin.c (machopic_select_section): Remove the hack to + mark "::operator new" and "::operator delete" for coalescing + even though they are not weak. + +2005-08-24 Alan Modra + + * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch. + * configure: Regenerate. + +2005-08-23 Paolo Bonzini + + PR middle-end/23517 + * fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert + between vectors. + * convert.c (convert_to_integer, convert_to_vector): Likewise. + * tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1): + Likewise. + +2005-08-23 Paolo Bonzini + + * config/rs6000/predicates.md (equality_operator): New. + * config/rs6000/rs6000.md: Rewrite as a peephole2 the split for + comparison with a large constant. + +2005-08-23 Mark Mitchell + + * hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT. + +2005-08-23 J"orn Rennecke + + * sh.c (sh_builtin_saveregs): If the number of to-be-saved fp + registers is even, and we have a hardware double precision fp, + align the buffer. + (sh_gimplify_va_arg_expr): For floating point arguments, consider + size of current argument when checking if argument was passed in + registers. + + * sh.c (sh_attr_renesas_p): Handle error_mark_node. + + PR middle-end/23467 + * stor-layout.c (finalize_type_size): Dont override + existing alignment with a smaller alignment from the mode. + +2005-08-23 Sebastian Pop + + * lambda-code.c (lambda_vector_lexico_pos): Moved... + * lambda.h (lambda_vector_lexico_pos): ... here. + * tree-data-ref.c (build_classic_dist_vector): Return false when + the distance vector is lexicographically negative. + +2005-08-23 Sebastian Pop + + PR tree-optimization/23511 + * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't + handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE. + +2005-08-23 Jakub Jelinek + + PR tree-optimization/22043 + * tree.h (count_type_elements): Add ALLOW_FLEXARR argument. + * expr.c (count_type_elements): Add ALLOW_FLEXARR argument. + If ALLOW_FLEXARR, handle types ending with flexible array member. + Pass false as second argument to recursive count_type_elements calls. + (categorize_ctor_elements_1, mostly_zeros_p): Pass false as second + argument to count_type_elements call. + * tree-sra.c (decide_block_copy): Likewise. + * gimplify.c (gimplify_init_constructor): If num_type_elements < 0 + for a constant-sized object, set cleared as well. Pass true as + second argument to count_type_elements call. + +2005-08-23 Alan Modra + + PR target/21571 + * config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename + from legitimate_small_data_p, and make global. Update use. + Remove forward declaration. + * config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p): + Declare. + * config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems. + +2005-08-23 David Edelsohn + + * config/rs6000/rs6000.md (eq): Use output operand instead + of scratch intermediates. + (eq_compare): Same. + (neg_eq0): New. + (neg_eq): Convert to define_insn_and_split. + +2005-08-23 Alan Modra + + PR target/23070 + * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to + stdarg functions, set/clear the fp marker even when no variable + args are passed. + * config/rs6000/sysv4.opt (mprototype): Describe. + +2005-08-22 Jakub Jelinek + + PR rtl-optimization/23478 + * regs.h (reg_info): Add throw_calls_crossed. + (REG_N_THROWING_CALLS_CROSSED): Define. + * flow.c (allocate_reg_life_data): Initialize + REG_N_THROWING_CALLS_CROSSED. + (propagate_one_insn, attempt_auto_inc): Update + REG_N_THROWING_CALLS_CROSSED. + * global.c (global_alloc): Don't allocate pseudos across + calls that may throw. + +2005-08-22 Andrew Pinski + + PR c/18715 + * c-common.c (c_do_switch_warnings): Look for a node where the enum's + value is inbetween the range if we did not find an exact match. + +2005-08-22 Aldy Hernandez + + * doc/invoke.texi (Option Summary): Add ms1 options. + * doc/extend.texi: Document interrupt handler attribute for ms1. + * doc/md.texi: Document ms1 constraints. + * config.gcc: Add ms1-*-elf. + * config/ms1/ms1.h: New. + * config/ms1/ms1.c: New. + * config/ms1/ms1.md: New. + * config/ms1/ms1-protos.h: New. + * config/ms1/ABI.txt: New. + * config/ms1/crti.asm: New. + * config/ms1/crtn.asm: New. + * config/ms1/lib2extra-funcs.c: New. + * config/ms1/t-ms1: New. + * config/ms1/ms1.opt: New. + +2005-08-22 Ira Rosen + + * config/rs6000/altivec.md (xorv4sf3): New. + (negv4sf2, neg2): Likewise. + +2005-08-21 H.J. Lu + + PR target/23485 + * config/ia64/ia64.md (divsi3): Check divide by zero. + (udivsi3): Likewise. + (divdi3): Likewise. + (udivdi3): Likewise. + +2005-08-21 Jakub Jelinek + + * simplify-rtx.c (simplify_immed_subreg) : Only clear + up to elem_bitsize bits, not max_bitsize. + +2005-08-21 Sebastian Pop + + PR tree-optimization/23433 + * tree-chrec.c (chrec_apply): Translate INTEGER_CST to a + REAL_CST when the type is SCALAR_FLOAT_TYPE_P. + +2005-08-21 Sebastian Pop + + PR tree-optimization/23434 + * tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when + the iteration bound is not an INTEGER_CST. + +2005-08-21 Dorit Nuzman + + * tree-vect-transform.c (get_initial_def_for_reduction): Set + need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to + NULL if need_epilog_adjust is false. + (vect_create_epilog_for_reduction): Variable adjust_in_epilog removed. + Case 3 always peels first itration, not just for PLUS case, and no need + to use scalar_initial_def here. Create an epilog adjustment only if + scalar_initial_def is not NULL. + + (vectorizable_reduction): Remove assert. + +2005-08-20 H.J. Lu + + PR target/23485 + * config/ia64/lib1funcs.asm (__divdi3): Check divide by zero. + (__moddi3): Likewise. + (__udivdi3): Likewise. + (__umoddi3): Likewise. + (__divsi3): Likewise. + (__modsi3): Likewise. + (__udivsi3): Likewise. + (__umodsi3): Likewise. + +2005-08-20 Jakub Jelinek + + * tree-pass.h (TDF_GRAPH): Define. + * tree-dump.c (dump_options): Don't set TDF_GRAPH in "all". + * passes.c (finish_optimization_passes): Only call + finish_graph_dump_file if TDF_GRAPH is set. + (execute_one_pass): Only call clean_graph_dump_file if dump_file != + NULL. Set TDF_GRAPH bit. + (execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set. + +2005-08-20 Richard Earnshaw + + * arm.h (arm_stack_offsets): Add locals_base field. + * arm.c (arm_get_frame_offsets): Compute it. + (thumb_compute_initial_elimination offset): Make the Thumb frame + pointer point to the base of the local variables. + (thumb_expand_prologue): Update accordingly. + (thumb_expand_epilogue): Likewise. + + * arm.md (thumb_movhi_clobber): Make this insn a define_expand. Change + mode of clobbered scratch to DImode. Handle a case that's known to + need this. + +2005-08-19 David Edelsohn + + * config/rs6000/rs6000.md (gt0): Delete. + (gt0_compare): Delete. + (neg_gt0): Delete. + +2005-08-19 Eric Christopher + + * optabs.h: Change CTI_ to COI_. + * optabs.c: Ditto. + +2005-08-19 James E Wilson + + * builtins.c (expand_builtin_return_addr): Set + current_function_accesses_prior_frames when count != 0. Use + frame_pointer_rtx when count == 0. + * function.h (struct function): Add accesses_prior_frames field. + (current_function_accesses_prior_frames): Define. + * reload1.c (init_elim_table): Check + current_function_accesses_prior_frames. + * doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs. + +2005-08-19 Diego Novillo + + * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change + indicator. Return true if the flowgraph changed during + cleanup. + +2005-08-19 Diego Novillo + + PR 23476 + * tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the + conditional expression before testing its value. + +2005-08-19 Diego Novillo + + * doc/invoke.texi: Fix documentation for -ftree-dominator-opts. + +2005-08-19 Devang Patel + + PR tree-optimization/23048 + * tree-if-conv.c (if_convertible_bb_p): Supply basic_block as + third parameter. Check whether latch is dominated by exit + block or not. + (if_convertible_loop_p): Supply exit block itself to + if_convertible_bb_p. + +2005-08-19 Richard Earnshaw + + PR target/23473 + * arm.md (arm_load_pic_register): Change argument to the mask of + saved registers. Call thumb_find_work_register if we need a + scratch register on Thumb. + (arm_expand_prologue): Pass empty register set to + arm_load_pic_register. + (thumb_expand_prologue): Pass live_regs_mask directly to + arm_load_pic_register. + * arm-protos.h (arm_load_pic_register): Update prototype. + +2005-08-19 J"orn Rennecke + + * sh.c (find_sole_member): New function. + (sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch + if the record's alignment is larger than the size of its only member. + +2005-08-19 Richard Earnshaw + + PR target/23436 + * arm.c (thumb_legitimize_reload_address): New function. + * arm-protos.h (thumb_legitimize_reload_address): Add prototype. + * arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it. + +2005-08-19 Paul Woegerer + + * config/crx/crx.c: Implement crx_decompose_address. Reject + symbolic displacements since CRX register relative adressing + mode can't handle unsigned 32-bit values as displacements. + * config/crx/crx.h: Simplify definitions, remove redundant + parenthesis and obsolete macros. + * config/crx/crx.opt: Add new switch for debugging addresses. + * config/crx/crx-protos.h: Add new declarations for above. + +2005-08-19 Andrew Pinski + + PR middle-end/20624 + * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by + looking past it. + +2005-08-18 Kaveh R. Ghazi + + * collect2.c (dup2): Delete. + * configure.ac: Don't check for dup2. + + * config.in, configure: Regenerate. + +2005-08-18 J"orn Rennecke + + * sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE + record with the type of its only member. + +2005-08-18 David Edelsohn + + * config/rs6000/rs6000.md (ltu_compare): Convert to + define_insn_and_split. + (plus_ltu_compare): Same. + (gtu_compare): Same. + (plus_gtu_compare): Same. + +2005-08-18 Dorit Nuzman + + PR tree-optimization/22228 + * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to + todo_flags_start. + * tree-vect-transform.c (vect_transform_loop): Mark the variables that + are recorded in vect_vnames_to_rename for renaming. + * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap. + (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming + in vect_vnames_to_rename. + (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap. + * tree-vectorizer.h (vect_vnames_to_rename): New extern variable. + +2005-08-18 Jan Hubicka + + PR c++/22034 + * cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug + info only for local statics, not for member variables. + +2005-08-18 Volker Reichelt + + * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo. + +2005-08-18 Volker Reichelt + + * c-typeck.c (designator_errorneous): Rename to designator_erroneous. + +2005-08-18 Andrew Pinski + + PR middle-end/16045 + * builtins.c (fold_builtin): Create a new NOP_EXPR all the time. + +2005-08-17 James E Wilson + + * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in + array size check. + +2005-08-17 David Edelsohn + + * config/rs6000/rs6000.md (leu): Convert to mode macro. + (leu_compare): Same. + (plus_leu): Same. + (neg_leu): Same. + (and_neg_leu_compare): Same. + (plus_ltu): Same. + (geu): Same. + (geu_compare): Same. + (plus_geu): Same. + (neg_geu): Same. + (and_neg_geu): Same. + (plus_gt): Same. + (gtu_compare): Same. + (plus_gtu): Same. + +2005-08-17 Erik Christiansen + + * config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos. + Move call_table_data to end. Delete spurious .text. + (callt_save_all_interrupt): Fix comment typo. + +2005-08-17 James E Wilson + Kevin Winchester + + PR target/21684 + * config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0. + +2005-08-17 Uros Bizjak + + PR target/23268 + * config/i386/i386.md ("*fist2_1"): New pattern. + ("lrint2"): Change expander to use "*fist2_1" pattern. + +2005-08-17 J"orn Rennecke + + * sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE + record with the type of its only member if the modes don't match. + + * varasm.c (decode_reg_name): Skip empty additional register names. + +2005-08-16 Zdenek Dvorak + + * tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name, + lsm_tmp_name_length): New. + (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions. + (schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp". + +2005-08-16 Ulrich Weigand + Andreas Krebbel + + * config.gcc: Added z9-109 switch. + * config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl", + "x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi", + "x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other", + "x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf", + "x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable + for "z9_109" cpu attribute. + * config/s390/s390.c (z9_109_cost): New processor cost structure. + (CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros. + (s390_handle_arch_option): Added z9-109 switch. + (override_options): Set respective cost function for z9-109. + (s390_const_ok_for_constraint_p): New constraints Os, Op, On. + (legitimate_reload_constant_p): Accept extended immediates. + (print_operand): Three new output modifiers added: k, m and o. + (s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990. + (s390_output_mi_thunk): Use extended immediate when possible. + * config/s390/s390.h (processor_flags): Added PF_EXTIMM. + (TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros. + (CONSTRAINT_LEN): Added length of O constraint. + (CLZ_DEFINED_VALUE_AT_ZERO): Definition added. + * config/s390/s390.md ("cpu"): New value z9_109 added. + ("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm", + "*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm", + "*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm", + "*zero_extendsi2_extimm", "*anddi3_extimm", "*iordi3_extimm", + "*xordi3_extimm", "clzdi2", "clztidi2"): New patterns. + ("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2", + "*zero_extendsi2_64", "zero_extendqihi2", "*zero_extendqihi2_64", + "*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM. + ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu", + "*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc", + "*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc", + "*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3", + "*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc", + "*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly", + "*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended + immediates. + ("extenddi2", "extendsi2", "zero_extenddi2", + "zero_extendsi2"): Allow memory operands and don't manually emit + insns for TARGET_EXTIMM. + +2005-08-17 Andreas Krebbel + + * testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options. + +2005-08-17 Nick Clifton + + * config/stormy16/stormy16.c (xstormy16_encode_section_info): + Call default_encode_section_info. + +2005-08-17 Steven Bosscher + + PR tree-optimization/21574 + * tree-ssa-ccp.c (likely_value): If the right hand side is a + constant, return CONSTANT. + (ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal. + (ccp_fold, visit_assignment): Likewise. + (evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way. + +2005-08-16 James A. Morrison + + * c-typeck.c (build_function_call): Call fold_buildN_initializer or + fold_buildN instead of buildN then fold_initializer or fold. + (build_unary_op): Likewise. + (build_binary_op): Likewise. + * fold-const.c (fold_initializer): Remove. + (fold_build1_initializer): New function. + (fold_build2_initializer): New function. + (fold_build3_initializer): New function. + * tree.h (fold_initializer): Remove. + (fold_build1_initializer): New function. + (fold_build2_initializer): New function. + (fold_build3_initializer): New function. + +2005-08-16 James A. Morrison + + * fold-const.c (optimize_bit_field_compare): Remove extra fold call. + (try_move_mult_to_index): Call fold_build2 instead of build2. + (fold_binary): Don't call fold after calls to try_move_mult_to_index. + * tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of + fold_binary_to_constant. + (infer_loop_bounds_from_undefined): Call fold_build2 instead of + fold (build. + * tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to + check if A == gcd (A, B). Remove TYPE argument. + (analyze_offset) Use fold_build2 instead of fold (build. + (create_data_ref): Likewise. + (analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p. + * tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2 + then fold. + +2005-08-17 Kelley Cook + + * config/arm/unaligned-funcs.c,config/i386/crtfastmath.c, + ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address. + +2005-08-16 Andrew Pinski + + PR tree-opt/23402 + * gimplify.c (zero_sized_type): New function. + (gimplify_modify_expr_rhs): If we have a zero sized type, + replace the statement with an empty statement. + +2005-08-16 H.J. Lu + + * config/i386/crtfastmath.c (set_fast_math): Add "=m" for + fxsave. + +2005-08-16 Ian Lance Taylor + + * doc/tm.texi (Label Output): Correct typo. + +2005-08-16 Steven Bosscher + + PR target/23376 + * loop-unroll.c (analyze_insn_to_expand_var): Make sure that + force_operand will work later on using have_insn_for. + +2005-08-16 Volker Reichelt + + * fold-const.c (tree_expr_nonnegative_p): Regroup cases. + +2005-08-16 Ian Lance Taylor + + PR c++/23337 + * gimplify.c (gimplify_init_ctor_eval): If we see an element of + vector type, don't try to construct it element by element. Add an + assertion that we use a FIELD_DECL when building a COMPONENT_REF. + +2005-08-16 Volker Reichelt + + * fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR. + 2005-08-16 Geoffrey Keating * doc/invoke.texi (Precompiled Headers): Document some more options @@ -24,7 +704,7 @@ * c-typeck.c (c_finish_loop): Likewise. 2005-08-16 J"orn Rennecke - Richard Shann + Richard Shann PR middle-end/20396: * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account. @@ -36,7 +716,7 @@ 2005-08-15 Richard Earnshaw PR target/23355 - * arm.c (thumb_compute_save_reg_mask): Use similar logic to + * arm.c (thumb_compute_save_reg_mask): Use similar logic to arm_compure_save_reg0_reg12_mask to determine when the PIC register must be saved. @@ -69,7 +749,7 @@ * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete. * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR. * system.h (HOST_PTR_PRINTF): Don't define, poison it. - + * bitmap.c, c-decl.c, config/i386/i386-interix.h, config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c: Delete HOST_PTR_PRINTF. @@ -104,7 +784,7 @@ PR 23386 * tree-data-ref.c (estimate_niter_from_size_of_data): When step is negative compute the estimation from init downwards to zero. - + 2005-08-14 James A. Morrison * fold-const (fold_binary): Call fold_build2 instead of fold (build. @@ -121,9 +801,9 @@ 2005-08-14 Daniel Berlin Fix PR tree-optimization/22615 - + * tree-ssa-structalias.c (solution_set_add): Handle - first_vi_for_offset returning NULL. + first_vi_for_offset returning NULL. (do_da_constraint): Ditto. (do_sd_constraint): Ditto. (do_ds_constraint): Ditto @@ -131,7 +811,7 @@ (build_constraint_graph): RHS is allowed be ANYTHING. (first_vi_for_offset): Return NULL if we couldn't find anything at the offset. - + 2005-08-14 Ulrich Weigand * config/s390/s390.c (s390_canonicalize_comparison): Prefer register @@ -146,9 +826,9 @@ 2005-08-14 Ira Rosen PR tree-optimization/23320 - * tree-data-ref.c (base_addr_differ_p): Add comment. Check - data-refs' types instead of base object nullness. Add check for - pointer type data-refs before first location comparison. Remove + * tree-data-ref.c (base_addr_differ_p): Add comment. Check + data-refs' types instead of base object nullness. Add check for + pointer type data-refs before first location comparison. Remove assert. 2005-08-14 Andreas Schwab @@ -188,7 +868,7 @@ * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand, single_ssa_def_operand, zero_ssa_operands): Fix documentation. * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter. - * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry + * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry condition. * tree-ssa-loop-ivcanon.c: Fix documentation. * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note. @@ -214,7 +894,7 @@ 2005-08-12 Gerald Pfeifer - * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to + * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to description of -Wold-style-casts. 2005-08-12 Andreas Krebbel @@ -269,7 +949,7 @@ 2005-08-12 Andreas Krebbel - * config/s390/s390.c (s390_split_branches, s390_init_frame_layout): + * config/s390/s390.c (s390_split_branches, s390_init_frame_layout): Don't set save_return_addr_p. (s390_register_info): Make clobbered_regs not depending on save_return_addr_p.