+2007-01-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*sinxf2): Rename to *sinxf2_i387.
+ (*cosxf2): Rename to cosxf2_i387.
+
+ (*sindf2, *sinsf2): Extend operand 1 to XFmode. Macroize patterns
+ using X87MODEF12 mode macro. Rename patterns to
+ *sin_extend<mode>xf2_i387. Use SSE_FLOAT_MODE_P to disable patterns
+ for SSE math.
+ (*cosdf2, *cossf2): Ditto.
+ (sincosdf3, sincossf3): Ditto. Rewrite corresponding splitters
+ to match extended input operands.
+
+ (sincos<mode>3): New expander.
+
+ (*sinextendsfdf2, *cosextendsfdf2, *sincosextendsfdf3): Remove
+ insn patterns and corresponding splitters.
+
+2007-01-09 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Delete.
+ (SHLIB_MAPFILES, SHLIB_LINK, SHLIB_INSTALL): Likewise.
+
+2007-01-09 Nicolas Pitre <nico@cam.org>
+
+ PR target/30173
+ * arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
+
+2007-01-08 Geoffrey Keating <geoffk@apple.com>
+
+ * target.h (struct gcc_target): New field library_rtti_comdat.
+ * target-def.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): New.
+ (TARGET_CXX): Add TARGET_CXX_LIBRARY_RTTI_COMDAT.
+ * doc/tm.texi (C++ ABI): Document TARGET_CXX_LIBRARY_RTTI_COMDAT.
+ * config/darwin.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): Define.
+
+2007-01-08 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/invoke.texi (Optimize Options): Correct description of -O0.
+
+2007-01-08 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (force_fit_type_double): Export.
+ (force_fit_type): Remove.
+ * fold-const.c (force_fit_type_double): New function.
+ (force_fit_type): Remove.
+ (int_const_binop): Use it.
+ (fold_convert_const_int_from_int): Likewise.
+ (fold_convert_const_int_from_real): Likewise.
+ (fold_div_compare): Likewise.
+ (fold_sign_changed_comparison): Likewise.
+ (fold_unary): Likewise.
+ (fold_negate_const): Likewise.
+ (fold_abs_const): Likewise.
+ (fold_not_const): Likewise.
+ * c-common.c (shorten_compare): Use force_fit_type_double.
+ * convert.c (convert_to_pointer): Likewise.
+
+2007-01-08 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (build_int_cst_wide_type): Export.
+ * tree.c (build_int_cst_wide_type): New function.
+ (build_int_cst_wide): Fix comment.
+ * builtins.c (fold_builtin_object_size): Use build_int_cst
+ to build -1 or 0 of the correct type. Use fit_double_type
+ to check for overflow.
+ * fold-const.c (optimize_bit_field_compare): Use build_int_cst_type
+ to build the mask.
+ (decode_field_reference): Likewise.
+ (all_ones_mask_p): Likewise.
+ (native_interpret_int): Use build_int_cst_wide_type.
+ (fold_binary): Use build_int_cst_type to build an all-ones
+ value.
+ * stor-layout.c (set_sizetype): Use build_int_cst_wide_type.
+
+2007-01-08 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/pa/t-pa64 (libgcc_stub.a): Use $(T).
+
+2007-01-09 Ben Elliston <bje@au.ibm.com>
+
+ * genautomata.c (STATS_OPTION): New option.
+ (stats_flag): New flag.
+ (gen_automata_option): Handle it.
+ (initiate_automaton_gen): Ditto.
+ (write_automata): Output statistics only if stats_flag is
+ set. Likewise, output time statistics only if time_flag is set.
+ * doc/md.texi (Processor pipeline description): Document new flag.
+
+2007-01-08 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (fold_builtin_int_roundingfn): Use fit_double_type.
+ * tree.c (build_int_cst_type): Likewise.
+ (size_in_bytes): Don't call force_fit_type on the result.
+ (int_fits_type_p): Use fit_double_type.
+ * fold-const.c (fit_double_type): New function.
+ (force_fit_type): Use it.
+ * tree.h (fit_double_type): Export.
+
+2007-01-08 Jan Hubicka <jh@suse.cz>
+
+ * tree-vectorizer.c (gate_increase_alignment): Fix return type.
+ * ipa.c (function_and_variable_visibility): Fix return type.
+
+2007-01-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type
+ of offset to build the index.
+ * tree-pretty-print.c (dump_generic_node): Don't build negated
+ const just for printing.
+ * c-pretty-print.c (pp_c_integer_constant): Likewise.
+ * builtins.c (fold_builtin_int_roundingfn): Check if result
+ fits the type by using force_fit_type and comparing the result.
+ * predict.c (predict_loops): Use compare_tree_int for comparison.
+ * tree.c (build_int_cst): Fall back to integer_type_node for
+ NULL_TREE type.
+ (build_int_cst_wide): Assert type is non-null.
+
+2007-01-08 Roberto Costa <roberto.costa@st.com>
+
+ * tree-vrp.c (extract_range_from_cond_expr): New.
+ (extract_range_from_expr): Handle COND_EXPR nodes used as expressions.
+ * tree-ssa-ccp.c (get_maxval_strlen): Handle COND_EXPR nodes used
+ as expressions.
+ (fold_stmt): Bug fix, avoid infinite recursion when folding COND_EXPRs.
+ * tree-ssa-forwprop.c (simplify_cond, forward_propagate_into_cond,
+ tree_ssa_forward_propagate_single_use_vars): Handle COND_EXPR nodes
+ used as expressions.
+ * tree-object-size.c (cond_expr_object_size): New.
+ (collect_object_sizes_for): Handle COND_EXPR nodes used as expressions.
+
+2007-01-08 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-forwprop.c (forward_propagate_into_cond,
+ tree_ssa_forward_propagate_single_use_va): Release defs of propagated
+ statement.
+
+2007-01-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/23603
+ * tree-vrp.c (set_value_range_to_truthvalue): New function.
+ (extract_range_from_binary): Fall back to truthvalue instead of
+ varying for TRUTH_*_EXPR.
+ (extract_range_from_comparison): Fall back to truthvalue instead of
+ varying.
+ (vrp_visit_phi_node): Don't adjust new range bounds to +INF/-INF
+ if all visited PHI values were constant.
+
+2007-01-08 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_process_new_functions): Reset reachable flag.
+ (cgraph_analyze_function): break out from ...
+ (cgraph_finalize_compilation_unit): ... here.
+ (cgraph_expand_function): Remove forgoten commented out line.
+ (cgraph_optimize): Analyze functions.
+
+2007-01-08 Jan Hubicka <jh@suse.cz>
+
+ * tree-pas.h (TODO_remove_function): New flag.
+ (TODO_update*): Renumber.
+ (pass_ipa_increase_alignment,
+ pass_ipa_function_and_variable_visibility): New passes.
+ * cgraphunit.c (cgraph_increase_alignment): Move to tree-vectorizer.c
+ (cgraph_function_and_variable_visibility): Move to ipa.c
+ (cgraph_optimize): Don't call cgraph_function_and_variable_visibility,
+ cgraph_increase_alignment.
+ * ipa-inline.c (cgraph_decide_inlining): Don't push timevar.
+ (cgraph_decide_inlining_incrementally): Push TV_INTEGRATION before
+ calling tree-inline.
+ (cgraph_early_inlining): Do not call cgraph_remove_unreachable_nodes.
+ (pass_ipa_inline, pass_early_ipa_inlining): Set TODO_remove_functions
+ * tree-vectorizer.c (increase_alignment): Move here from cgraphunit.c
+ (gate_increase_alignment): New function.
+ (pass_ipa_increase_alignment): New pass.
+ * ipa.c: Inline tree-pass.h and timevar.h
+ (function_and_variable_visibility): Move here from cgraphunit.c
+ * tree-optimize.c (pass_early_local_passes): Add TODO_remove_functions.
+ * passes.c (init_optimization_passes): Add the two new passes.
+ (execute_todo): Handle cgraph_remove_functions.
+
+2007-01-08 Nick Clifton <nickc@redhat.com>
+
+ * config/frv/predicates.md (reg_or_0_operand): Accept
+ CONST_DOUBLEs.
+
+2007-01-08 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config/bfin/rtems.h, config/bfin/t-rtems: New.
+ * config.gcc: Add bfin*-rtems*.
+
+2007-01-08 Mark Shinwell <shinwell@codesourcery.com>
+
+ * c.opt: Add -flax-vector-conversions.
+ * c-typeck.c (convert_for_assignment): Pass flag to
+ vector_types_convertible_p to allow emission of note.
+ (digest_init): Likewise.
+ * c-opts.c: Handle -flax-vector-conversions.
+ * c-common.c (flag_lax_vector_conversions): New.
+ (vector_types_convertible_p): Unless -flax-vector conversions
+ has been passed, disallow conversions between vectors with
+ differing numbers of subparts and/or element types. If such
+ a conversion is disallowed, possibly emit a note on the first
+ occasion only to inform the user of -flax-vector-conversions.
+ The new last argument specifies this.
+ * c-common.h (flag_lax_vector_conversions): New.
+ (vector_types_convertible_p): Add extra argument.
+ * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
+ char_type_node for V*QI type vectors.
+ * config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
+ Update to satisfy new typechecking rules.
+ * config/rs6000/altivec.h (vec_cmple): Use vec_cmpge, for both
+ C and C++ variants.
+ * doc/invoke.texi (C Dialect Options): Document
+ -flax-vector-conversions.
+
+2007-01-08 Mark Shinwell <shinwell@codesourcery.com>
+
+ PR tree-optimization/29877
+ * tree-ssa-ter.c (is_replaceable_p): Deem assignments with
+ a register variable on the RHS to not be replaceable.
+
+2007-01-08 Chen Liqin <liqin@sunnorth.com.cn>
+ * config/score/t-score-elf (MULTILIB_OPTIONS): Change.
+ * config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
+ const_simm15, const_pow2, const_npow2): Added.
+ * config/score/misc.md (insv, extv, extzv, movmemsi,
+ move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
+ * config/score/score.c (score_address_cost, score_select_cc_mode):
+ Added.
+ Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
+ Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
+ Update score_print_operand.
+ * config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
+ Adjust register allocate order and update some macro define.
+ * config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
+ mdx_block_move_straight, mdx_block_move_loop_head,
+ mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
+ mdx_block_move): Added.
+ (mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
+ mdp_limm): Updated and fix some bug and typo.
+ * config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
+ (movsf, movdf, doloop_end): Added.
+
+2007-01-08 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
+ config/arm/thumb2.md: Fix comment typos.
+ * doc/extend.texi: Fix a typo.
+
+2007-01-07 Eric Christopher <echristo@apple.com>
+
+ * configure.ac: Check for __stack_chk_fail for darwin.
+ * configure: Regenerate.
+
+2007-01-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (extract_range_from_assert): CSE calls to
+ compare_values where possible.
+ (extract_range_from_unary_expr): Likewise.
+
+2007-01-07 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr-protos.h (call_insn_operand): Delete prototype.
+ * config/avr/avr.c (call_insn_operand): Delete function.
+ * config/avr/avr.md (*pushqi, *pushhi, *pushsi, *pushsf): Use REG_SP
+ instead of register number. Use predicates.
+ * config/avr/predicates.md (const0_operand, reg_or_0_operand,
+ call_insn_operand): Add.
+
+2007-01-06 Jan Hubicka <jh@suse.cz>
+
+ * tree-pass.h (pass_build_cgraph_edges): Declare.
+ * cgraphunit.c (record_refernece): Move to cgraphbuild.c
+ (visited_nodes): Remove.
+ (cgraph_create_edges): Move to cgraphbuild.c; rename to
+ build_cgrpah_edges; make visited_nodes local.
+ (cgraph_process_new_functions): DO not call initialize_inline_failed.
+ (record_references_in_initializer): Move to cgraphbuild.c
+ (initialize_inline_failed, rebuild_cgraph_edges,
+ pass_rebuild_cgraph_edges): Move to cgraphbuild.c.
+ (verify_cgraph_node): Make visited_nodes local.
+ (cgraph_analyze_function): Do not call cgraph_create_edges and
+ initialize_inline_failed.
+ (cgraph_expand_function): Do not call cgraph_lower_function;
+ assert that function is already lowered.
+ * Makefile.in (cgraphbuild.o): New.
+ * passes.c (init_optimization_passes): Add pass_build_cgraph_edges
+ at the end of lowering passes.
+
+2007-01-06 Steven Bosscher <steven@gcc.gnu.org>
+
+ * ifcvt.c (cond_move_convert_if_block): New function, code
+ factored out from...
+ (cond_move_process_if_block): ...here. Call the new function
+ on the THEN and ELSE blocks.
+ (merge_if_block): Do not copy global_live_at_end, merge_blocks
+ already takes care of this.
+
+2007-01-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR c/19978
+ * tree.h (TREE_OVERFLOW_P): New.
+ * c-typeck.c (parser_build_unary_op): Warn only if result
+ overflowed and operands did not.
+ (parser_build_binary_op): Likewise.
+ (convert_for_assignment): Remove redundant overflow_warning.
+ * c-common.c (overflow_warning): Don't check or set TREE_OVERFLOW.
+
+2007-01-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * c-typeck.c (store_init_value): Split over two lines to follow
+ the GNU coding style.
+
+2007-01-05 Benjamin Kosnik <bkoz@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): __GXX_EXPERIMENTAL_CPP0X__ to
+ __GXX_EXPERIMENTAL_CXX0X__.
+ * doc/cpp.texi: Same.
+
+2007-01-05 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/27826
+ * tree.c (get_narrower): Do not construct COMPONENT_REFs
+ with mismatched types. Instead explicitly build a
+ conversion NOP_EXPR.
+
+2007-01-05 Ian Lance Taylor <iant@google.com>
+
+ * c-common.c (decl_with_nonnull_addr_p): New function.
+ (c_common_truthvalue_conversion): Call it.
+ * c-typeck.c (build_binary_op): Likewise.
+ * c-common.h (decl_with_nonnull_addr_p): Declare.
+
+2007-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/30360
+ * libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
+ denom against 0.0.
+
+2007-01-05 Joel Brobecker <brobecker@adacore.com>
+
+ * doc/install.texi (Final install): Document the fact that
+ the GNAT runtime should not be stripped.
+
+2007-01-04 Jan Hubicka <jh@suse.cz>
+
+ * tree-inline.c (fold_marked_statements): Update operand caches
+ and EH after folding
+
+2007-01-04 Ian Lance Taylor <iant@google.com>
+
+ * c-common.c (check_function_nonnull): Whitespace fix.
+
+2007-01-04 Jan Hubicka <jh@suse.cz>
+
+ * tree-optimize.c (execute_fixup_cfg): Correct previously mistakely
+ comitted older version of patch.
+ (pass_fixup_cfg): Add TODOs to verify flow and statements, dump
+ function, celanup cfg and collect garbage.
+
+2007-01-04 Mike Stump <mrs@apple.com>
+
+ * Makefile.in (mostlyclean): Don't remove libgcc anymore.
+ (clean): Likewise.
+
+2007-01-04 Eric Christopher <echristo@apple.com>
+
+ * libgcc2.c (__bswapsi2): Use SItype.
+ (__bswapdi2): Use DItype.
+ * libgcc2.h: Update for above.
+
2007-01-04 Paul Brook <paul@codesourcery.com>
* config/arm/arm.md (arm_mulsi3, thumb_mulsi3, mulsi3_compare0,
2007-01-02 Steve Ellcey <sje@cup.hp.com>
* sbitmap.c (HOST_BITS_PER_LONG_LONG): Change to
- HOST_BITS_PER_LONGLONG
+ HOST_BITS_PER_LONGLONG
2007-01-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c/19977
* c-typeck.c (store_init_value): Don't emit pedantic overflow
warning for non-static initializers.
-
+
2007-01-02 Steven Bosscher <steven@gcc.gnu.org>
* config/alpha/alpha.md, arm/arm.c, darwin.c, frv/frv.md,
* c-opts.c (c_common_post_options): Enabled by -Wextra.
* c-decl.c (declspecs_add_scspec): Replace -Wextra with
-Wold-style-declaration.
-
+
2007-01-02 Kazu Hirata <kazu@codesourcery.com>
* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
* c-common.c(c_common_nodes_and_builtins): Since variants of
void_type_node get built before it is given a name, we need to
- give those variants the name, too.
+ give those variants the name, too.
(complete_array_type): We need to work with the canonical main
type of the array, from which we will build the qualified version.
* params.def (PARAM_VERIFY_CANONICAL_TYPES): New.
structural equality tests.
(build_array_type): Build the canonical form of an array type.
(build_function_type): Function types require structural equality,
- because they contain default arguments, attributes, etc.
+ because they contain default arguments, attributes, etc.
(build_method_type_directly): Ditto for method types.
(build_offset_type): Build the canonical offset type.
(build_complex_type): Build the canonical vector type.