OSDN Git Service

2006-02-26 Roger Sayle <roger@eyesopen.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 955e41a..ead872d 100644 (file)
@@ -1,3 +1,256 @@
+2006-02-26  Roger Sayle  <roger@eyesopen.com>
+           James A. Morrison  <phython@gcc.gnu.org>
+
+       PR middle-end/21137
+       * fold-const.c (fold_binary) <EQ_EXPR>:  Fold ((X>>C1)&C2) eq/ne 0,
+       when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the
+       new constant C2<<C1, or as (X<0) or (X,false) depending upon the
+       signedness of the shift operation.
+
+2006-02-26  Dorit Nuzman  <dorit@il.ibm.com>
+
+       PR tree-optimization/26359
+       * tree-ssa-alias.c (new_type_alias): Set fields for new tag.
+
+2006-02-25  Roger Sayle  <roger@eyesopen.com>
+
+       * simplify-rtx.c (simplify_relational_operation_1):  Simplify
+       (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y.  Simplify (X^Y) == Y
+       as X == 0, and some symmetry related transformations.
+       Simplify (X^C1) == C2 as X == (C1^C2).  Split long comment line.
+
+2006-02-25  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/23673
+       * fold-const.c (fold_binary) <EQ_EXPR>:  Fold (X^Y) == 0 as X == Y
+       and (X^Y) != 0 as X != Y.  Fold (X^Y) == Y as X == 0, and some
+       symmetry related transformations.  Fold (X^C1) == C2 as
+       X == (C1^C2).
+
+2006-02-25  Juergen Weigert  <jw@suse.de>
+       Richard Guenther  <rguenther@suse.de>
+
+       * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF.
+
+2006-02-24  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * combine.c (gen_lowpart_or_truncate): Call
+       simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE.
+
+2006-02-24  Diego Novillo  <dnovillo@redhat.com>
+
+       * doc/invoke.texi: Move -fopenmp description to "Options for
+       Code Generation".
+       Remove reference to -lgomp.
+
+2006-02-24  David Edelsohn  <edelsohn@gnu.org>
+
+       * doc/install.texi: Require GNU tar version 1.14.
+
+2006-02-24  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS.
+       * doc/invoke.texi (C++ Dialect Options): Document 
+       -fno-use-cxa-get-exception-ptr.
+       * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1.
+       * configure: Regenerate.
+       * c.opt (fuse-cxa-get-exception-ptr): New.
+       * c-opts.c (c_common_handle_option): Handle
+       OPT_fuse_cxa_get_exception_ptr.
+       * c-common.c (flag_use_cxa_atexit): Update documentation.
+       (flag_use_cxa_get_exception_ptr): New.
+       * c-common.h (flag_use_cxa_get_exception_ptr): New.
+       * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve
+       documentation.
+       (C_COMMON_OVERRIDE_OPTIONS): New.
+
+2006-02-24  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/24952
+       * combine.c (try_combine): Explicitly check whether GET_CODE is
+       a SET or a CLOBBER, instead on checking that it isn't a USE.
+
+2006-02-24  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold_comparison): New subroutine of fold_binary
+       containing transformations common to both the equality and
+       ordering relational operators, factored out of fold_binary.
+       (fold_binary): Separate out the equality operators (EQ_EXPR
+       and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR,
+       LE_EXPR and GE_EXPR), calling fold_comparison to perform the
+       transformations common to both.
+       (fold_div_compare): Fix latent bugs in the previously unreachable 
+       LT_EXPR and GE_EXPR cases.
+
+2006-02-24  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_init_builtins): Change
+       decl libname for clog to __clog on AIX.
+
+       * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define.
+
+2006-02-24  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/26453
+       * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
+       output traceback table for thunks.  Localise rs6000_stack_info call.
+
+2006-02-23  Roger Sayle  <roger@eyesopen.com>
+           Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * gthr-posix.h (__gthrw): Fix typo in comment.
+
+2006-02-23  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/cpp.texi (Character sets): Document that we do support
+       input files to be in any character set.
+
+2006-02-23  Jeff Law  <law@redhat.com>
+
+       * tree.h (PHI_ARG_NONZERO): Remove.
+       * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO.
+       (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old
+       node to the new node.
+
+       PR tree-optimization/26425
+       * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL
+       min/max, then assume its varying.
+
+2006-02-23  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/26316
+       * rtlanal.c (enum may_trap_p_flags): New.
+       (may_trap_p_1): Take flags instead of unaligned_mems argument.  Ignore
+       MEM_NOTRAP_P if flags & MTP_AFTER_MOVE.
+       (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1.
+       (may_trap_after_code_motion_p): New function.
+       * loop-invariant.c (find_identical_invariants): Fix dump formating.
+       (find_invariant_insn): Use may_trap_after_code_motion_p.
+       * rtl.h (may_trap_after_code_motion_p): Declare.
+
+2006-02-23  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * emit-rtl.c (immed_double_const): Cleanup.
+
+2006-02-23  Daniel Berlin  <dberlin@dberlin.org>
+       
+       Fix PR tree-optimization/26376
+       * tree-ssa-structalias.c (find_func_aliases):  Use get_id_for_tree,
+       remove assert.
+
+2006-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/26412
+       * gimplify.c (omp_add_variable): Guard variable size decl test with
+       DECL_SIZE (decl) check.
+
+2006-02-23  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/26439
+       * tree-ssa-structalias.c (find_func_aliases): Handle complex types
+       like aggregate types.
+
+2006-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac: Add --with{,out}-long-double-128 configure option.
+       (TARGET_DEFAULT_LONG_DOUBLE_128): New test.
+       * configure: Rebuilt.
+       * config.in: Rebuilt.
+       * doc/install.texi (Options specification): Document
+       --with-long-double-128.
+
+       * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128]
+       (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
+       * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128]
+       (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
+
+2006-02-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/s390/s390.c (override_options): Handle
+       TARGET_DEFAULT_LONG_DOUBLE_128.
+
+       * config/alpha/alpha.c (override_options): Handle
+       TARGET_DEFAULT_LONG_DOUBLE_128.
+
+       * config/sparc/sparc.c (sparc_override_options): Handle
+       TARGET_DEFAULT_LONG_DOUBLE_128.
+
+2006-02-22  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR).
+       (real-install-headers-tar, real-install-headers-cpio)
+       (real-install-headers-cp): New targets.
+
+2006-02-22  Richard Sandiford  <richard@codesourcery.com>
+
+       * tree.h (variable_section): Delete.
+       * varasm.c (variable_section): Delete.
+
+2006-02-22  Paolo Bonzini  <bonzini@gnu.org>
+
+       * install.texi: Add notes on install.texi2html.
+       (Building in parallel): Do not use footnotes.
+
+2006-02-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR libgomp/26234
+       * doc/install.texi (Configuration): Document --disable-libgomp.
+
+2006-02-21  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New.
+
+2006-02-21  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/i386/sse.md (vec_extractv2df_1_sse): New.
+       (vec_extractv2df_0_sse): New.
+
+2006-02-21  Alexandre Oliva  <aoliva@redhat.com>
+
+       * defaults.h (CFA_FRAME_BASE_OFFSET): Define.
+       * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override.
+       * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document.
+       * dwarf2out.c (build_cfa_loc): New offset parameter.  Add it
+       to the result of the expression.
+       (def_cfa_1): Adjust.
+       (frame_pointer_cfa_offset): Rename to...
+       (frame_pointer_fb_offset): ... this.  Adjust all uses.
+       (convert_cfa_to_loc_list): Rename to...
+       (convert_cfa_to_fb_loc_list): ... this.  New offset parameter.
+       Pass it on to build_cfa_loc.
+       (compute_frame_pointer_to_cfa_displacement): Rename to...
+       (compute_frame_pointer_to_fb_displacement): ... this.  New
+       offset parameter.  Use it in computation.
+       (gen_subprogram_die): Compute cfa_fb_offset with the new
+       macro, and use it to compute the fb loc list and the
+       displacement.
+
+2006-02-21  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/predicates.md (cc_operand): Delete predicate.  All uses
+       replaced with register_operand.
+       * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any
+       non-DREG is expensive.
+       * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed.
+       * config/bfin/bfin.md (movbi): Fix constraints and template for moves
+       involving memory.
+
+2006-02-21  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * doc/install.texi2html: Use set -e.
+
+2006-02-21  Richard Sandiford  <richard@codesourcery.com>
+
+       * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
+       (ASM_OUTPUT_SHARED_LOCAL): Delete.
+       * doc/invoke.texi (-fshared-data): Delete.
+       * common.opt (fshared-data): Delete.
+       * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling.
+       (assemble_static_space): Remove #if 0 code.
+       * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
+       (ASM_OUTPUT_SHARED_LOCAL): Poison.
+       * config/cris/cris.h: Remove FIXME.
+
 2006-02-21  Paolo Bonzini  <bonzini@gnu.org>
 
        * doc/sourcebuild.texi (Front End Directory): No more double-colon