OSDN Git Service

* config/v850/v850.c (ep_memory_operand): Return FALSE if TARGET_EP is not
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ea13f38..72e78c4 100644 (file)
@@ -1,3 +1,358 @@
+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.
+       (gt0<mode>_compare): Delete.
+       (neg_gt0<mode>): Delete.
+
 2005-08-19  Eric Christopher  <echristo@apple.com>
 
        * optabs.h: Change CTI_ to COI_.
        * 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.