+2005-08-26 Nick Clifton <nickc@redhat.com>
+
+ * 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 <davidu@mips.com>
+
+ * 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 <paul.woegerer@nsc.com>
+
+ * config/crx/crx.md: Make doloop_end pattern usage controllable
+ via mloop-nesting=<max-nesting> command line switch. Make sure
+ the combiner cannot use doloop_end_<mode> 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 <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
+ (UNSPEC_MVST): New constant.
+
+2005-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * 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 <bonzini@gnu.org>
+ Jan Hubicka <jh@suse.cz>
+
+ * regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
+
+2005-08-24 Paolo Bonzini <bonzini@gnu.org>
+
+ PR tree-optimization/23546
+ * tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
+ and REAL_CST nodes.
+
+2005-08-24 Pete Steinmetz <steinmtz@us.ibm.com>
+
+ * 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 <fjahanian@apple.com>
+
+ * 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 <bonzini@gnu.org>
+
+ * config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
+ yesterday.
+
+2005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * 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 <dvorakz@suse.cz>
+
+ * fold-const.c (ptr_difference_const): Use
+ cst_and_fits_in_hwi instead of host_integerp.
+
+2005-08-24 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/darwin.c (gen_pic_offset): New.
+ (machopic_indirect_data_reference, machopic_legitimize_pic_address):
+ Use it.
+
+2005-08-23 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/23486
+ * tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
+
+2005-08-23 Phil Edwards <phil@codesourcery.com>
+
+ * 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 <pinskia@physics.uc.edu>
+
+ 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 <amodra@bigpond.net.au>
+
+ * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
+ * configure: Regenerate.
+
+2005-08-23 Paolo Bonzini <bonzini@gnu.org>
+
+ 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 <bonzini@gnu.org>
+
+ * 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 <mark@codesourcery.com>
+
+ * hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
+
+2005-08-23 J"orn Rennecke <joern.rennecke@st.com>
+
+ * 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 <pop@cri.ensmp.fr>
+
+ * 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 <pop@cri.ensmp.fr>
+
+ 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 <jakub@redhat.com>
+
+ 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 <amodra@bigpond.net.au>
+
+ 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 <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (eq<mode>): Use output operand instead
+ of scratch intermediates.
+ (eq<mode>_compare): Same.
+ (neg_eq0<mode>): New.
+ (neg_eq<mode>): Convert to define_insn_and_split.
+
+2005-08-23 Alan Modra <amodra@bigpond.net.au>
+
+ 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 <jakub@redhat.com>
+
+ 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 <pinskia@physics.uc.edu>
+
+ 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 <aldyh@redhat.com>
+
+ * 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 <irar@il.ibm.com>
+
+ * config/rs6000/altivec.md (xorv4sf3): New.
+ (negv4sf2, neg<mode>2): Likewise.
+
+2005-08-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/23485
+ * config/ia64/ia64.md (divsi3): Check divide by zero.
+ (udivsi3): Likewise.
+ (divdi3): Likewise.
+ (udivdi3): Likewise.
+
+2005-08-21 Jakub Jelinek <jakub@redhat.com>
+
+ * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
+ up to elem_bitsize bits, not max_bitsize.
+
+2005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
+
+ 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 <pop@cri.ensmp.fr>
+
+ 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 <dorit@il.ibm.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ 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 <jakub@redhat.com>
+
+ * 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 <richard.earnshaw@arm.com>
+
+ * 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 <edelsohn@gnu.org>
* config/rs6000/rs6000.md (gt0<mode>): Delete.
* c-typeck.c (c_finish_loop): Likewise.
2005-08-16 J"orn Rennecke <joern.rennecke@st.com>
- Richard Shann <rshann@superh.com>
+ Richard Shann <rshann@superh.com>
PR middle-end/20396:
* optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.