OSDN Git Service

* opts.c (decode_options): Disable CSE skip blocks.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 670536c..d2d011d 100644 (file)
@@ -1,3 +1,288 @@
+2006-10-31  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * opts.c (decode_options): Disable CSE skip blocks.
+
+2006-10-30  Dirk Mueller  <dmueller@suse.de>
+
+       * c-common.h (strict_aliasing_warning): Fix whitespace.
+       * c-decl (start_function): Move code for main decl warning ..
+       * c-common.c (check_main_parameter_types): .. here.
+       * c-common.h (check_main_parameter_types): Declare.
+2006-10-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       PR middle-end/29335
+       * builtins.c (fold_builtin_1): Evaluate tgamma using MPFR.
+
+2006-10-30  Pete Steinmetz  <steinmtz@us.ibm.com>
+
+       * recog.c (store_data_bypass_p): Add support to allow IN_INSN to
+       be a PARALLEL containing sets.  Return false when out_pat is not
+       a PARALLEL insn.
+
+2006-10-30  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.md (mul<mode>3): Split into...
+       (mulsi3, muldi3): ...these separate patterns.
+
+2006-10-30  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/linux64.h (DRIVER_SELF_SPECS): Use a single spec,
+       but with each set of options separated by spaces.
+
+2006-10-30  J"orn Rennecke  <joern.rennecke@st.com>
+
+       * unwind-dw2.c (uw_init_context_1): Fix test that checks if
+       dwarf_reg_size_table has been initialized.
+
+2006-10-30  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (expand_builtin_mathfn_3): Correct coding style.
+       * ddg.c (print_ddg_edge): Likewise.
+       * dwarf2out.c (prune_unused_types_walk): Likewise.
+       * ifcvt.c (noce_try_cmove_arith): Likewise.
+       * langhooks.c (add_builtin_function): Likewise.
+       * reg-stack.c (subst_stack_regs_pat): Likewise.
+       * tree.c (expanded_location): Likewise.
+       * tree-dump.c (dequeue_and_dump): Likewise.
+
+2006-10-30  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error.
+
+2006-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/29637
+       * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
+       of the innertype is the innertype itself.
+
+2006-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * dwarf2out.c (file_name_acquire): Correct typo.
+
+2006-10-29  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree.h (tree_value_handle): Remove struct value_set declaration.      
+       Change value_set to bitmap_set.
+       * tree-pretty-print.c (dump_generic_node): Use has_stmt_ann.
+       * tree-vn.c (get_value_handle): Made inline and moved to
+       tree-flow-inline.h.
+       * tree-flow-inline.h: (has_stmt_ann): New function.
+       * tree-ssa-pre.c (expressions): New variable.
+       (next_expression_id): Ditto.
+       (alloc_expression_id): New function.
+       (struct value_set): Remove.
+       (get_expression_id): New function.
+       (get_or_alloc_expression_id): Ditto.
+       (expression_for_id): Ditto.
+       (clear_expression_ids): Ditto.
+       (FOR_EACH_EXPR_ID_IN_SET): New macro.
+       (bb_value_sets): Renamed to bb_bitmap_sets.
+       All value sets replaced with bitmap_sets.
+       Add visited member.
+       (BB_VISITED): New macro.
+       (postorder): New variable.
+       (add_to_value): Removed.
+       (value_exists_in_set_bitmap): Ditto.
+       (value_insert_into_set_bitmap): Ditto.
+       (set_new): Ditto.
+       (set_copy): Ditto.
+       (set_remove): Ditto.
+       (set_contains_value): Ditto.
+       (insert_into_set): Ditto.
+       (set_equal): Ditto.
+       (find_leader): Ditto.
+       (bitmap_set_subtract_from_value_set): Ditto.
+       (value_insert_into_set): Ditto.
+       (print_value_set): Ditto.
+       (debug_value_set): Ditto.
+       (constant_expr_p): New function.
+       (bitmap_remove_from_set): Ditto.
+       (bitmap_insert_into_set): Ditto.
+       (bitmap_set_free): Ditto.
+       (vh_compare): Ditto.
+       (sorted_array_from_bitmap_set): Ditto.
+       (bitmap_set_subtract): Ditto.
+       (bitmap_set_equal): Ditto.
+       (debug_bitmap_set): Ditto.
+       (find_leader_in_sets): Ditto.
+       (bitmap_set_replace_value): Modify for bitmapped sets.
+       (phi_translate): Ditto.
+       (phi_translate_set): Ditto.
+       (bitmap_find_leader): Ditto.
+       (valid_in_sets): Ditto.
+       (union_contains_value): Ditto.
+       (clean): Ditto.
+       (compute_antic_aux): Ditto.  Mark changed blocks.
+       (compute_antic): Ditto. Iterate in postorder and only over
+       changing blocks.
+       (compute_rvuse_and_antic_safe): Reuse postorder.
+       (create_component_ref_by_pieces): Modify for bitmapped sets.
+       (find_or_generate_expression): Ditto.
+       (create_expression_by_pieces): Ditto.
+       (insert_into_preds_of_block): Ditto.
+       (changed_blocks): New variable.
+       (do_regular_insertion): Broken out from insert_aux.
+       (insert_aux): Modified for bitmapped sets.
+       (find_existing_value_expr): New function.
+       (create_value_expr_from): Use it.
+       (insert_extra_phis): Removed.
+       (print_bitmap_set): Renamed from bitmap_print_value_set.
+       (compute_avail): Handle RETURN_EXPR.
+       (init_pre): Modify for bitmapped sets.
+       * tree-flow.h (has_stmt_ann): New function.
+       
+2006-10-29  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (fold_builtin_floor): Check for the availability of
+       the C99 trunc function before transforming floor into trunc.
+
+2006-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (fold_builtin_hypot): Rearrange recursive
+       transformation before others, and also do ABS_EXPR.  When
+       necessary, check flag_unsafe_math_optimizations.  When necessary,
+       add fabs.
+
+2006-10-29  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
+       Fold ~X op C as X op' ~C, where op' is the swapped comparison.
+       (fold_binary): ~X eq/ne C is now handled in fold_comparison.
+       Fold -X eq/ne -Y as X eq/ne Y.
+
+2006-10-29  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than
+       GENERATE_MULT3_<MODE>.  Restrict the test to SImode.  Use ISA_HAS_MUL3
+       rather than GENERATE_MULT3_SI in the various define_peephole2s.
+       (mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI.
+       Use an inclusive test for "mult" rather than "mul".
+       (rotr<mode>3): Depend on ISA_HAS_ROR.
+       * config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of
+       ISA_HAS_MUL3.
+       (GENERATE_MULT3_DI): Delete.
+       (ISA_HAS_64BIT_REGS): Use consistent formatting.
+       (ISA_HAS_MUL3): New macro.
+       (ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting.
+       (ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise.
+       (ISA_HAS_CLZ_CLO): Likewise.
+       (ISA_HAS_DCLZ_DCLO): Delete.
+       (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16.
+       (ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just
+       the VR4120 and VR4130.
+       (ISA_HAS_MACCHI): Use consistent formatting.
+       (ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of...
+       (ISA_HAS_ROR): ...this new macro.
+       (ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting.
+       (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise.
+       (ISA_HAS_LOAD_DELAY): Use ISA_MIPS1.
+
+2006-10-29  Roger Sayle  <roger@eyesopen.com>
+
+       PR tree-optimization/15458
+       * fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C
+       is a constant.
+
+2006-10-29  Richard Guenther  <rguenther@suse.de>
+
+       * config/i386/i386-protos.h (ix86_expand_trunc): Declare.
+       (ix86_expand_truncdf_32): Likewise.
+       * config/i386/i386.c (ix86_expand_trunc): New function expanding
+       trunc inline for SSE math and -fno-trapping-math and if not
+       optimizing for size.
+       (ix86_expand_truncdf_32): Same for DFmode on 32bit archs.
+       * config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders
+       for expanding btrunc inline for SSE math.
+
+2006-10-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
+       Handle tuning for bi-arch i[34567]86-*-linux* like that for
+       i[34567]86-*-solaris2.1[0-9]*.
+       * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
+       Define conditionally depending on TARGET_64BIT_DEFAULT.
+       (SPEC_32, SPEC_64): Define.
+       (LINK_SPEC): Use them.
+       * doc/install.texi (--enable-targets=all): Document for x86-linux.
+
+2006-10-29  Richard Guenther  <rguenther@suse.de>
+
+       * config/i386/i386-protos.h (ix86_expand_round): Declare.
+       (ix86_expand_rounddf_32): Likewise.
+       * config/i386/i386.c (ix86_expand_round): New function expanding
+       round inline for SSE math and -fno-trapping-math and if not
+       optimizing for size.
+       (ix86_expand_rounddf_32): Same for DFmode on 32bit archs.
+       * config/i386/i386.md (rounddf2, roundsf2): New pattern expanding
+       round via ix86_expand_round.
+
+2006-10-29  Richard Guenther  <rguenther@suse.de>
+
+       * config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
+       (ix86_expand_floorceildf_32): Likewise.
+       * config/i386/i386.c (ix86_expand_sse_compare_mask): New
+       static helper function.
+       (ix86_expand_floorceil): Expander for floor and ceil to SSE
+       math.
+       (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
+       * config/i386/i386.md (floordf2): Adjust to enable floor
+       expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
+       -fno-trapping-math is enabled and if not optimizing for size.
+       (floorsf2, ceildf2, ceilsf2): Likewise.
+       * config/i386/sse.md (sse_maskcmpsf3): New insn.
+       (sse2_maskcmpdf3): Likewise.
+
+2006-10-29  Richard Guenther  <rguenther@suse.de>
+
+       * builtins.c (expand_builtin_mathfn): Expand nearbyint as
+       rint in case -fno-trapping-math is enabled.
+       * config/i386/i386-protos.h (ix86_expand_rint): Declare.
+       * config/i386/i386.c (ix86_gen_TWO52): New static helper function.
+       (ix86_expand_sse_fabs): Likewise.
+       (ix86_expand_rint): New function expanding rint to x87 or SSE math.
+       * config/i386/i386.md (rintdf2): Enable for SSE math if
+       -fno-trapping-math is enabled, use ix86_expand_rint for expansion.
+       (rintsf2): Likewise.
+
+2006-10-29  Richard Guenther  <rguenther@suse.de>
+
+       * genopinit.c (optabs): Change lfloor_optab and lceil_optab
+       to conversion optabs.
+       * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab
+       as conversion optab.
+       * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil.
+       (enum convert_optab_index): Add COI_lfloor and COI_lceil.
+       (lfloor_optab, lceil_optab): Adjust defines.
+       * builtins.c (expand_builtin_int_roundingfn): Adjust for
+       lfloor and lceil optabs now being conversion optabs.
+       * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare.
+       * config/i386/i386.c (ix86_expand_sse_compare_and_jump):
+       New static helper function.
+       (ix86_expand_lfloorceil): New function to expand lfloor and
+       lceil inline.
+       * config/i386/i386.md (lfloor<mode>2): Split into ...
+       (lfloorxf<mode>2): ... x87 variant
+       (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants
+       using ix86_expand_lfloorceil.
+       (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2):
+       Likewise.
+       * doc/md.texi (lfloorMN, lceilMN): Document.
+
+2006-10-29  Richard Sandiford  <richard@codesourcery.com>
+
+       * configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE.  Test for the
+       -mno-shared assembler option on mips targets.
+       * configure, config.in: Regenerate.
+       * config/mips/linux.h (NO_SHARED_SPECS): New macro.
+       (DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty.
+       * config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS.
+
+2006-10-29  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
+       as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.
+
 2006-10-29  Kazu Hirata  <kazu@codesourcery.com>
 
        * config/darwin.c, config/darwin.opt, config/ia64/itanium1.md,
 
 2006-10-06  Danny Smith  <dannysmith@users.sourceforge.net>
 
-       config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
+       config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
 
 2006-10-06  Jakub Jelinek  <jakub@redhat.com>