OSDN Git Service

* optabs.c (expand_binop): When synthesizing double word rotates
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 638a149..9b4f247 100644 (file)
@@ -1,3 +1,152 @@
+2004-03-23  Olivier Hainque  <hainque@act-europe.fr>
+
+        * optabs.c (expand_binop): When synthesizing double word rotates
+        from single word shifts, use a new register target if the provided
+        target is not a REG already.
+
+2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
+       * c-common.c (handle_mode_attribute): Add extra arg to
+       build_pointer_type_for_mode and build_reference_type_for_mode.
+       * c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
+       for INTEGER_CST.
+       * tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
+       Chain pointers via TYPE_NEXT_PTR_TO.
+       (build_reference_type_for_mode): Similarly.
+       (build_type_no_quals): Add extra arg to build_pointer_type_for_mode
+       and build_reference_type_for_mode.
+       (tree_check4_failed): New function.
+       * tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
+       (TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
+       (TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
+       Add check.
+
+2004-03-23  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
+       A is nonnegative or B is nonnegative.  Similarly A|B is nonnegative
+       when both A and B are nonnegative.
+       (tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
+       nonzero.
+
+2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
+       VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.
+
+2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR optimization/14669
+       * fold-const.c (fold): Only unwiden integer comparisons for equality
+       and inequality operators, or when the signedness doesn't change.
+
+2004-03-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
+       * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
+       * config/sparc/t-linux: New file.
+
+2004-03-23  Richard Sandiford  <rsandifo@redhat.com>
+
+       * gcse.c (can_assign_to_reg_p): New function, split out from...
+       (want_to_gcse_p): ...here.
+       (compute_ld_motion_mems): Use can_assign_to_reg_p to validate
+       the rhs of a store.
+
+2004-03-22  Diego Novillo  <dnovillo@redhat.com>
+
+       * c-typeck.c (same_translation_unit_p): Fix pasto.
+
+2004-03-22  David Edelsohn  <edelsohn@gnu.org>
+
+       * params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
+       (PARAM_MAX_SCHED_REGION_INSNS): New.
+       * sched-rgn.c: Include params.h
+       (MAX_RGN_BLOCKS): Delete.
+       (MAX_RGN_INSNS): Delete.
+       (too_large): Return bool.  Convert to PARAM_VALUE.
+       * Makefile.in (sched-rgn.o): Depend on $(PARAMS_H).
+       * doc/invoke.texi (param): Document max-sched-region-blocks and
+       max-sched-region-insns.
+
+2004-03-22  Joel Brobecker  <brobecker@gnat.com>
+
+       * dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
+       for base types.
+
+2004-03-22  Joel Brobecker  <brobecker@gnat.com>
+
+       * dwarf2out.c (is_subrange_type): Minor code rework. No behavior
+       change.
+
+2004-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/14069
+       * c-decl.c (finish_struct): Change type of incorrect flexible array
+       field into error_mark_node.
+
+2004-03-22  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR target/14580
+       * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
+       who are not local for Darwin PIC.
+
+2004-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * regrename.c (regrename_optimize): Set regs_ever_live for all
+       registers introduced as replacement.
+
+2004-03-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/14470
+       * expr.c (mark_queue): New function.
+       (emit_insns_enqueued_after_mark): New function replacing
+       emit_queue.  Clear the body of emitted queued insns.
+       (emit_queue): Call emit_insns_enqueued_after_mark.
+       (store_expr): Mark the increment queue on entry.  Emit
+       only the incrementations queued when expanding the source.
+
+2004-03-22  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.ac: Allow --disable-coverage-flags (for the future benefit
+       of top level bootstrap, and consistency).  Reindent.
+       * configure: Regenerate.
+
+2004-03-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
+       ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
+       unnecessary casts.
+
+2004-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR target/14291
+       * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
+       __MINGW32__.
+
+2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
+       to nonimmediate_operand.
+       ("*doloop_di"): Likewise.
+
+2004-03-21  Alexandre Oliva  <aoliva@redhat.com>
+
+       * real.h (struct real_value): Use the same type for all
+       bitfields.  Rename exp to uexp.
+       (REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
+       Adjust all uses of exp...
+       * builtins.c: ... here, ...
+       * emit-rtl.c: ... here, and ...
+       * real.c: ... and here.
+
+2004-03-21  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * pretty-print.c (pp_base_maybe_space): New function.
+       * pretty-print.h (pp_base_maybe_space): Declare.
+       (pp_maybe_space): New macro.
+
 2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * config/s390/s390.md ("addti3", "subti3"): New insns and splitters.