+2006-11-09 Eric Christopher <echristo@apple.com>
+
+ PR bootstrap/26892
+ PR bootstrap/27814
+ PR other/28994
+ * configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks.
+ * config.gcc (powerpc64-*-darwin*): New target.
+ * config.host: Ditto.
+ * config/rs6000/darwin64.h: New file.
+ * config/rs6000/x-darwin64: Ditto.
+ * config/rs6000/host-ppc64-darwin.c: Ditto.
+
+2006-11-09 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode
+ routines for integer division.
+
+2006-11-09 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/arm/t-linux (LIBGCC2_DEBUG_CFLAGS): Delete.
+
+2006-11-09 Serge Belyshev <belyshev@depni.sinp.msu.ru>
+
+ PR middle-end/29726
+ * fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name.
+
+2006-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * simplify-rtx.c (avoid_constant_pool_reference): Avoid calling
+ simplify_subreg with BLKmode outer mode.
+
+2006-11-08 Brooks Moses <brooks.moses@codesourcery.com>
+
+ * doc/invoke.texi: Minor formatting fixes in option lists.
+
+2006-11-08 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/29738
+ * tree-ssa-ccp.c: Remove UNKNOWN_VAL from comments.
+ (ccp_lattice_t): Remove UNKNOWN_VAL.
+ (dump_lattice_value, ccp_lattice_meet, ccp_visit_phi_node):
+ Do not handle UNKNOWN_VAL.
+ (get_default_value): Set initial value of virtual operands to
+ VARYING.
+ (get_value): Always use get_default_value on uninitialized
+ operands.
+ (set_value_varying, surely_varying_stmt_p): New functions.
+ (set_lattice_value): Do not pass argument to get_value.
+ Do not handle UNKNOWN_VAL.
+ (likely_value): Follow the semantics described in the comment.
+ (ccp_initialize): Use surely_varying_stmt_p. Do not mark
+ phi nodes DONT_SIMULATE_AGAIN.
+ (ccp_fold): Do not pass argument to get_value.
+ (fold_const_aggregate_ref, visit_assignment): Ditto. Do not
+ handle UNKNOWN_VAL.
+
+2006-11-08 Andrew Pinski <Andrew_Pinski@playstation.sony.com>
+
+ * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
+ HOST_WIDE_INT_PRINT_DOUBLE_HEX instead of format buffer.
+
+2006-11-08 Roger Sayle <roger@eyesopen.com>
+
+ * tree-ssa-propagate.c (set_rhs): Restructure validity tests as a
+ test for inclusion rather than as a test for exclusion.
+ * tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify
+ the condition after calling fold_binary.
+ * fold-const.c (fold_inf_compare): Remove in_gimple_form check.
+ (fold_binary) <LT_EXPR, GT_EXPR, LE_EXPR, GE_EXPR>: Likewise.
+ * builtins.c (fold_builtin_isascii): Likewise.
+ (fold_builtin_isdigit): Likewise.
+
+2006-11-08 Carlos O'Donell <carlos@codesourcery.com>
+
+ * configure.ac: Do not set PREFIX_INCLUDE_DIR if $prefix is NONE.
+ * configure: Regenerate.
+
+2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p): Take
+ enum argument instead of bool.
+ (vect_analyze_operations): Call vectorizable_type_promotion.
+ * tree-vectorizer.h (type_promotion_vec_info_type): New enum
+ stmt_vec_info_type value.
+ (supportable_widening_operation, vectorizable_type_promotion): New
+ function declarations.
+ * tree-vect-transform.c (vect_gen_widened_results_half): New function.
+ (vectorizable_type_promotion): New function.
+ (vect_transform_stmt): Call vectorizable_type_promotion.
+ * tree-vect-analyze.c (supportable_widening_operation): New function.
+ * tree-vect-patterns.c (vect_recog_dot_prod_pattern):
+ Add implementation.
+ * tree-vect-generic.c (expand_vector_operations_1): Consider correct
+ mode.
+
+ * tree.def (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR):
+ (VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR): New tree-codes.
+ * tree-inline.c (estimate_num_insns_1): Add cases for above new
+ tree-codes.
+ * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
+ * expr.c (expand_expr_real_1): Likewise.
+ * optabs.c (optab_for_tree_code): Likewise.
+ (init_optabs): Initialize new optabs.
+ * genopinit.c (vec_widen_umult_hi_optab, vec_widen_smult_hi_optab,
+ vec_widen_smult_hi_optab, vec_widen_smult_lo_optab,
+ vec_unpacks_hi_optab, vec_unpacks_lo_optab, vec_unpacku_hi_optab,
+ vec_unpacku_lo_optab): Initialize new optabs.
+ * optabs.h (OTI_vec_widen_umult_hi, OTI_vec_widen_umult_lo):
+ (OTI_vec_widen_smult_h, OTI_vec_widen_smult_lo, OTI_vec_unpacks_hi,
+ OTI_vec_unpacks_lo, OTI_vec_unpacku_hi, OTI_vec_unpacku_lo): New
+ optab indices.
+ (vec_widen_umult_hi_optab, vec_widen_umult_lo_optab):
+ (vec_widen_smult_hi_optab, vec_widen_smult_lo_optab):
+ (vec_unpacks_hi_optab, vec_unpacku_hi_optab, vec_unpacks_lo_optab):
+ (vec_unpacku_lo_optab): New optabs.
+ * doc/md.texi (vec_unpacks_hi, vec_unpacks_lo, vec_unpacku_hi):
+ (vec_unpacku_lo, vec_widen_umult_hi, vec_widen_umult_lo):
+ (vec_widen_smult_hi, vec_widen_smult_lo): New.
+ * doc/c-tree.texi (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR):
+ (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR, VEC_UNPACK_HI_EXPR):
+ (VEC_UNPACK_LO_EXPR, VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New.
+
+ * config/rs6000/altivec.md (UNSPEC_VMULWHUB, UNSPEC_VMULWLUB):
+ (UNSPEC_VMULWHSB, UNSPEC_VMULWLSB, UNSPEC_VMULWHUH, UNSPEC_VMULWLUH):
+ (UNSPEC_VMULWHSH, UNSPEC_VMULWLSH): New.
+ (UNSPEC_VPERMSI, UNSPEC_VPERMHI): New.
+ (vec_vperm_v8hiv4si, vec_vperm_v16qiv8hi): New patterns used to
+ implement the unsigned unpacking patterns.
+ (vec_unpacks_hi_v16qi, vec_unpacks_hi_v8hi, vec_unpacks_lo_v16qi):
+ (vec_unpacks_lo_v8hi): New signed unpacking patterns.
+ (vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi):
+ (vec_unpacku_lo_v8hi): New unsigned unpacking patterns.
+ (vec_widen_umult_hi_v16qi, vec_widen_umult_lo_v16qi):
+ (vec_widen_smult_hi_v16qi, vec_widen_smult_lo_v16qi):
+ (vec_widen_umult_hi_v8hi, vec_widen_umult_lo_v8hi):
+ (vec_widen_smult_hi_v8hi, vec_widen_smult_lo_v8hi): New widening
+ multiplication patterns.
+
+ * target.h (builtin_mul_widen_even, builtin_mul_widen_odd): New.
+ * target-def.h (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN):
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
+ * config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): New.
+ (rs6000_builtin_mul_widen_odd): New.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined.
+ * tree-vectorizer.h (enum vect_relevant): New enum type.
+ (_stmt_vec_info): Field relevant chaned from bool to enum
+ vect_relevant.
+ (STMT_VINFO_RELEVANT_P): Updated.
+ (STMT_VINFO_RELEVANT): New.
+ * tree-vectorizer.c (new_stmt_vec_info): Use STMT_VINFO_RELEVANT
+ instead of STMT_VINFO_RELEVANT_P.
+ * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p):
+ Replace calls to STMT_VINFO_RELEVANT_P with STMT_VINFO_RELEVANT,
+ and boolean variable with enum vect_relevant.
+ (vect_mark_stmts_to_be_vectorized): Likewise + update documentation.
+ * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): New.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
+
+ 2006-11-08 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (vec_widen_umult_hi_v8hi,
+ vec_widen_umult_lo_v8hi): New.
+ (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si,
+ vec_widen_umult_hi_v4si, vec_widen_umult_lo_v4si): New.
+
+ * config/i386/i386.c (ix86_expand_sse_unpack): New.
+ * config/i386/i386-protos.h (ix86_expand_sse_unpack): New.
+ * config/i386/sse.md (vec_unpacku_hi_v16qi, vec_unpacks_hi_v16qi,
+ vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi, vec_unpacku_hi_v8hi,
+ vec_unpacks_hi_v8hi, vec_unpacku_lo_v8hi, vec_unpacks_lo_v8hi,
+ vec_unpacku_hi_v4si, vec_unpacks_hi_v4si, vec_unpacku_lo_v4si,
+ vec_unpacks_lo_v4si): New.
+
+ 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-vect-transform.c (vectorizable_type_demotion): New function.
+ (vect_transform_stmt): Add case for type_demotion_vec_info_type.
+ (vect_analyze_operations): Call vectorizable_type_demotion.
+ * tree-vectorizer.h (type_demotion_vec_info_type): New enum
+ stmt_vec_info_type value.
+ (vectorizable_type_demotion): New function declaration.
+ * tree-vect-generic.c (expand_vector_operations_1): Consider correct
+ mode.
+
+ * tree.def (VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New tree-codes.
+ * expr.c (expand_expr_real_1): Add case for VEC_PACK_MOD_EXPR and
+ VEC_PACK_SAT_EXPR.
+ * tree-iniline.c (estimate_num_insns_1): Likewise.
+ * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
+ * optabs.c (optab_for_tree_code): Likewise.
+
+ * optabs.c (expand_binop): In case of vec_pack_*_optabs the mode
+ compared against the predicate of the result is not 'mode' (the input
+ to the function) but a mode with half the size of 'mode'.
+ (init_optab): Initialize new optabs.
+ * optabs.h (OTI_vec_pack_mod, OTI_vec_pack_ssat, OTI_vec_pack_usat):
+ New optab indices.
+ (vec_pack_mod_optab, vec_pack_ssat_optab, vec_pack_usat_optab): New
+ optabs.
+ * genopinit.c (vec_pack_mod_optab, vec_pack_ssat_optab):
+ (vec_pack_usat_optab): Initialize new optabs.
+ * doc/md.texi (vec_pack_mod, vec_pack_ssat, vec_pack_usat): New.
+ * config/rs6000/altivec.md (vec_pack_mod_v8hi, vec_pack_mod_v4si): New.
+
+ 2006-11-08 Richard Henderson <rth@redehat.com>
+
+ * config/i386/sse.md (vec_pack_mod_v8hi, vec_pack_mod_v4si):
+ (vec_pack_mod_v2di, vec_interleave_highv16qi, vec_interleave_lowv16qi):
+ (vec_interleave_highv8hi, vec_interleave_lowv8hi):
+ (vec_interleave_highv4si, vec_interleave_lowv4si):
+ (vec_interleave_highv2di, vec_interleave_lowv2di): New.
+
+ 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-vect-transform.c (vectorizable_reduction): Support multiple
+ datatypes.
+ (vect_transform_stmt): Removed redundant code.
+
+ 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-vect-transform.c (vectorizable_operation): Support multiple
+ datatypes.
+
+ 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-vect-transform.c (vect_align_data_ref): Removed.
+ (vect_create_data_ref_ptr): Added additional argument - ptr_incr.
+ Updated function documentation. Return the increment stmt in ptr_incr.
+ (bump_vector_ptr): New function.
+ (vect_get_vec_def_for_stmt_copy): New function.
+ (vect_finish_stmt_generation): Create a stmt_info to newly created
+ vector stmts.
+ (vect_setup_realignment): Call vect_create_data_ref_ptr with additional
+ argument.
+ (vectorizable_reduction, vectorizable_assignment): Not supported yet if
+ VF is greater than the number of elements that can fit in one vector
+ word.
+ (vectorizable_operation, vectorizable_condition): Likewise.
+ (vectorizable_store, vectorizable_load): Support the case that the VF
+ is greater than the number of elements that can fit in one vector word.
+ (vect_transform_loop): Don't fail in case of multiple data-types.
+ * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't fail
+ in case of multiple data-types; the smallest type determines the VF.
+ (vect_analyze_data_ref_dependence): Don't record datarefs as same_align
+ if they are of different sizes.
+ (vect_update_misalignment_for_peel): Compare misalignments in terms of
+ number of elements rather than number of bytes.
+ (vect_enhance_data_refs_alignment): Fix/Add dump printouts.
+ (vect_can_advance_ivs_p): Fix a dump printout
+
+2006-11-07 Eric Christopher <echristo@apple.com>
+
+ * libgcc2.c (__bswapdi2): Rename from bswapDI2.
+ (__bswapsi2): Ditto.
+ * libgcc2.h: Remove transformation of bswap routines.
+ * config/i386/i386.md (bswapsi2): New.
+ (bswapdi2): Ditto.
+
+2006-11-07 Jakub Jelinek <jakub@redhat.com>
+
+ * c-common.c (c_common_attributes): Add gnu_inline attribyte.
+ (handle_gnu_inline_attribute): New function.
+ * c-decl.c (diagnose_mismatched_decls): Handle gnu_inline attribute.
+ (merge_decls, start_decl, start_function): Likewise.
+ * doc/extend.texi: Document gnu_inline attribute.
+
+2006-11-07 Steve Ellcey <sje@cup.hp.com>
+
+ PR other/25028
+ * config/ia64/t-hpux (LIB1ASMFUNCS): Filter out _fixtfdi,
+ _fixunstfdi, and _floatditf
+
+2006-11-06 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr-protos.h (mask_one_bit_p, const_int_pow2_p): Remove
+ prototype.
+ * config/avr/avr.c (mask_one_bit_p, const_int_pow2_p): Remove.
+ (output_movhi, ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out,
+ lshrhi3_out, lshrsi3_out): Remove unnecessary code for handling value
+ which start in an odd register.
+
+2006-11-07 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.h (ISA_HAS_PREFETCHX): Fix typo.
+
+2006-11-07 Josh Conner <jconner@apple.com>
+
+ * doc/invoke.texi (fstrict-aliasing): Move implementation
+ details...
+ * doc/tree-ssa.texi (Alias analysis): ...here.
+
+2006-11-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/29610
+ * tree-cfgcleanup.c (cleanup_control_flow): Honor return value
+ of tree_purge_dead_eh_edges as it may free dominators.
+
+ * g++.dg/other/pr29610.C: New testcase.
+
+2006-11-07 David Ung <davidu@mips.com>
+
+ * config/mips/mips.c (mips_rtx_cost_optimize_size): New table of
+ costs when optimizing for size.
+ (override_options): Use mips_rtx_cost_optimize_size table for cost
+ calculations.
+
+2006-11-07 Jie Zhang <jie.zhang@analog.com>
+
+ * gcc.c (process_command): Treat -b as normal switch if its argument
+ has no dash.
+
+2006-11-07 David Ung <davidu@mips.com>
+
+ * config/mips/mips.h (ISA_HAS_PREFETCHX): Add ISA_MIPS32R2 to the
+ list.
+
+2006-11-06 Eric Christopher <echristo@apple.com>
+
+ * config.gcc: Add x86_64-darwin host support.
+ * config.host: Ditto.
+ * config/i386/darwin64.h: New file.
+ * config/i386/t-darwin64: Ditto.
+
+2006-11-06 Janis Johnson <janis187@us.ibm.com>
+
+ * gcc/doc/sourcebuild.texi (Test Directives): Add output-exists
+ and output-exists-not.
+
+2006-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR tree-opt/29439
+ * tree-vrp.c (vrp_int_const_binop): Use the correct tree when
+ checking for overflow.
+
+2006-11-06 Jan van Dijk <jan@etpmod.phys.tue.nl>
+
+ * configure.ac: Fixed typo in case statement: :: changed to ;;
+
+2006-11-06 Bob Wilson <bob.wilson@acm.org>
+
+ * longlong.h (__xtensa__): Add definitions for umul_ppmm, __umulsidi3,
+ count_leading_zeros, and count_trailing_zeros.
+ * config/xtensa/xtensa.c (TARGET_INIT_BUILTINS): Define.
+ (TARGET_FOLD_BUILTIN): Define.
+ (TARGET_EXPAND_BUILTIN): Define.
+ (xtensa_init_builtins): New.
+ (xtensa_fold_builtin): New.
+ (xtensa_expand_builtin): New.
+ (xtensa_rtx_costs): Add CTZ and CLZ. Adjust costs for MULT.
+ * config/xtensa/xtensa.h (TARGET_MUL32_HIGH): Define.
+ (CLZ_DEFINED_VALUE_AT_ZERO): Define.
+ (CTZ_DEFINED_VALUE_AT_ZERO): Define.
+ * config/xtensa/xtensa.md (UNSPEC_NSAU): Remove.
+ (any_extend): New code macro.
+ (u, su): New code attributes.
+ (<u>mulsidi3, <u>mulsi3_highpart, clzsi2, ctzsi2): New.
+ (nsau): Remove; replaced by clzsi2.
+ (ffssi2): Use clzsi2.
+ * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _umulsidi3,
+ _clzsi2, _ctzsi2, and _ffssi2. Rename _nsau to _clz.
+ * config/xtensa/lib1funcs.asm (__mulsi3): Support Mul32 option.
+ (__umulsidi3, __clzsi2, __ctzsi2, __ffssi2): New.
+ (__nsau_data): Guard with ifdef L_clz instead of L_nsau.
+
+2006-11-06 Vladimir Prus <vladimir@codesourcery.com>
+
+ * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do no
+ set inhibit_libc.
+ * config/arm/t-strongarm-elf: Likewise.
+ * config/arm/t-pe: Likewise.
+ * config/arm/t-arm-elf: Likewise.
+ * config/arm/t-xscale-elf: Likewise.
+ * config/arm/t-arm-coff: Likewise.
+ * config/arm/t-xscale-coff: Likewise.
+ * config/arm/t-wince-pe: Likewise.
+
+2006-11-05 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/lib1funcs-4-300.asm: Guard entire file with
+ #if !__SHMEDIA__ .
+
+2006-11-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/29695
+ * fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
+ simplification.
+
+2006-11-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/26915
+ * config/i386/i386.c (standard_80387_constant_p): Treat -0.0 and -1.0
+ as a valid 80387 constant.
+ (standard_80387_constant_opcode): Return "#" for -0.0 and -1.0.
+ * config/i386/i386.md (unnamed splitter): Split the load of
+ constant -0.0 or -1.0 into the load of 0.0 or 1.0, followed
+ by negation.
+
+2006-11-04 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (thumb_legitimate_addres_p): Allow any constant offset
+ from the soft-frame, argument and virtual registers.
+
+2006-11-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movxf_nointeger, *movxf_integer): Enable
+ patterns for standard 80387 constants.
+
+2006-11-03 Paolo Bonzini <bonzini@gnu.org>
+ Steven Bosscher <steven@gcc.gnu.org>
+
+ * fwprop.c: New file.
+ * Makefile.in: Add fwprop.o.
+ * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New.
+ * passes.c (init_optimization_passes): Schedule forward propagation.
+ * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second
+ parameter.
+ * timevar.def (TV_FWPROP): New.
+ * common.opt (-fforward-propagate): New.
+ * opts.c (decode_options): Enable forward propagation at -O2.
+ * gcse.c (one_cprop_pass): Do not run local cprop unless touching jumps.
+ * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1, find_best_addr,
+ canon_for_address, table_size): Remove.
+ (new_basic_block, insert, remove_from_table): Remove references to
+ table_size.
+ (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make
+ simplification loop more straightforward by not calling fold_rtx
+ recursively.
+ (equiv_constant): Move here a small part of fold_rtx_subreg,
+ do not call fold_rtx. Call avoid_constant_pool_reference
+ to process MEMs.
+ * recog.h (canonicalize_change_group): New.
+
+ * doc/invoke.texi (Optimization Options): Document fwprop.
+ * doc/passes.texi (RTL passes): Document fwprop.
+
+2006-11-03 Geoffrey Keating <geoffk@apple.com>
+
+ * c-decl.c (WANT_C99_INLINE_SEMANTICS): New, set to 1.
+ (merge_decls): Implement WANT_C99_INLINE_SEMANTICS.
+ (grokdeclarator): Likewise.
+
+2006-11-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree-dump.c (dump_enable_all): Rename local variable
+ ir_type to avoid name conflicts.
+ * cfgloopmanip.c (lv_adjust_loop_entry_edge): Check for IR_GIMPLE
+ instead of using ir_type().
+ * profile.c (tree_register_profile_hooks): Likewise.
+ * value-prof.c (tree_register_value_prof_hooks): Likewise.
+ * basic-block.h (struct edge_def): Likewise.
+ * config/arm/arm.c (legitimize_pic_address): Likewise.
+ * coretypes.h (ir_type): New enum of all intermediate languages
+ used in GCC.
+ * cfghooks.c (ir_type): Rename to...
+ (current_ir_type): ...this. Distinguish between cfgrtl and
+ cfglayout mode when the current IR is RTL. Return enum ir_type.
+ * cfghooks.h (ir_type): Replace with current_ir_type prototype.
+
+2006-11-03 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (arm_file_start): New function.
+ (TARGET_ASM_FILE_START): Define.
+ (arm_default_cpu): New variable.
+ (arm_override_options): Set arm_default_cpu.
+
+2006-11-03 David Ung <davidu@mips.com>
+
+ * config/mips/mips.h (processor_type): Removed PROCESSOR_24K, add
+ PROCESSOR_24KC and PROCESSOR_24KF.
+ * config/mips/mips.c (mips_cpu_info_table): Add processor names
+ and aliases for 4kec/4kem/4kep/24kec/24kef/24kex/34kc/34kf/34kx.
+ (mips_rtx_cost_data): Add costs for the 24kc.
+ * config/mips/mips.md ("cpu"): Remove 24k, add 24kc and 24kf.
+ * config/mips/24k.md: Remove references to 24k and replace with
+ uses of 24kc/24kf in the appropriate reservations.
+ * doc/invoke.texi (MIPS Options): Updated.
+
+2006-11-03 J"orn Rennecke <joern.rennecke@st.com>
+
+ * config/sh/crt1.asm: Fix #ifdef indent.
+
+2006-11-03 J"orn Rennecke <joern.rennecke@st.com>
+ Merged from STMicroelectronics sources:
+ 2006-10-06 Andrew Stubbs <andrew.stubbs@st.com>
+ * config/sh/crt1.asm (vbr_600): Add missing #if.
+ 2006-08-03 J"orn Rennecke <joern.rennecke@st.com>
+ * sh.opt (mfused-madd): New option.
+ * sh.md (mac_media, macsf3): Make conditional on TARGET_FMAC.
+ 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com>
+ * config/sh/crt1.asm (vbr_start): Move to new section .test.vbr.
+ Remove pointless handler at VBR+0.
+ (vbr_200, vbr_300, vbr_500): Remove pointless handler.
+ (vbr_600): Save and restore mach and macl, fpul and fpscr and fr0 to
+ fr7. Make sure the timer handler is called with the correct FPU
+ precision setting, according to the ABI.
+ 2006-06-14 J"orn Rennecke <joern.rennecke@st.com>
+ * config/sh/sh.opt (m2a-single, m2a-single-only): Fix Condition.
+ * config/sh/sh.h (SUPPORT_SH2A_NOFPU): Fix condition.
+ (SUPPORT_SH2A_SINGLE_ONLY, SUPPORT_SH2A_SINGLE_ONLY): Likewise.
+ 2006-06-09 J"orn Rennecke <joern.rennecke@st.com>
+ * sh.md (cmpgeusi_t): Change into define_insn_and_split. Accept
+ zero as second operand.
+ 2006-04-28 J"orn Rennecke <joern.rennecke@st.com>
+ * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
+ Fixed some bugs related to negative values, in particular -0
+ and overflow at -0x80000000.
+ * config/sh/divcost-analysis: Added sh4-300 figures.
+ 2006-04-27 J"orn Rennecke <joern.rennecke@st.com>
+ * config/sh/t-sh (MULTILIB_MATCHES): Add -m4-300* / -m4-340 options.
+ 2006-04-26 J"orn Rennecke <joern.rennecke@st.com>
+ * config/sh/t-sh (OPT_EXTRA_PARTS): Add libgcc-4-300.a.
+ ($(T)div_table-4-300.o, $(T)libgcc-4-300.a): New rules.
+ * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
+ New files.
+ * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-4-300 for -m4-300* /
+ -m4-340.
+ 2006-04-24 J"orn Rennecke <joern.rennecke@st.com>
+ SH4-300 scheduling description & fixes to SH4-[12]00 description:
+ * sh.md: New instruction types: fstore, movi8, fpscr_toggle, gp_mac,
+ mac_mem, mem_mac, dfp_mul, fp_cmp.
+ (insn_class, dfp_comp, any_fp_comp): Update.
+ (push_fpul, movsf_ie, fpu_switch, toggle_sz, toggle_pr): Update type.
+ (cmpgtsf_t, "cmpeqsf_t, cmpgtsf_t_i4, cmpeqsf_t_i4): Likewise.
+ (muldf3_i): Likewise.
+ (movsi_i): Split rI08 alternative into two separate alternatives.
+ Update type.
+ (movsi_ie, movsi_i_lowpart): Likewise.
+ (movqi_i): Split ri alternative into two separate alternatives.
+ Update type.
+ * sh1.md (sh1_load_store, sh1_fp): Update.
+ * sh4.md (sh4_store, sh4_mac_gp, fp_arith, fp_double_arith): Update.
+ (mac_mem, sh4_fpscr_toggle): New insn_reservations.
+ * sh4a.md (sh4a_mov, sh4a_load, sh4a_store, sh4a_fp_arith): Update.
+ (sh4a_fp_double_arith): Likewise.
+ * sh4-300.md: New file.
+ * sh.c (sh_handle_option): Handle m4-300* options.
+ (sh_adjust_cost): Fix latency of auto-increments.
+ Handle SH4-300 differently than other SH4s. Check for new insn types.
+ * sh.h (OVERRIDE_OPTIONS): Initilize sh_branch_cost if it has not
+ been set by an option.
+ * sh.opt (m4-300, m4-100-nofpu, m4-200-nofpu): New options.
+ (m4-300-nofpu, -m4-340, m4-300-single, m4-300-single-only): Likewise.
+ (mbranch-cost=): Likewise.
+ * superh.h (STARTFILE_SPEC): Take -m4-340 into account.
+
+ * sh.md (mulsf3): Remove special expansion code.
+ (mulsf3_ie): Now a define_insn_and_split.
+ (macsf3): Allow for TARGET_SH4.
+
+ * sh.md (cbranchsi4, cbranchdi4, cbranchdi4_i): New patterns.
+ * sh.c (prepare_cbranch_operands, expand_cbranchsi4): New functions.
+ (expand_cbranchdi4): Likewise.
+ (sh_rtx_costs): Give lower cost for certain CONST_INT values and for
+ CONST_DOUBLE if the outer code is COMPARE.
+ * sh.h (OPTIMIZATION_OPTIONS): If not optimizing for size, set
+ TARGET_CBRANCHDI4 and TARGET_EXPAND_CBRANCHDI4.
+ (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, clear TARGET_CBRANCHDI4.
+ (LEGITIMATE_CONSTANT_P): Also allow DImode and VOIDmode CONST_DOUBLEs.
+ Remove redundant fp_{zero,one}_operand checks.
+ * sh.opt (mcbranchdi, mexpand-cbranchdi, mcmpeqdi): New options.
+ * sh-protos.h (prepare_cbranch_operands, expand_cbranchsi4): Declare.
+ (expand_cbranchdi4): Likewise.
+ 2006-04-20 J"orn Rennecke <joern.rennecke@st.com>
+ * sh.h (LOCAL_ALIGNMENT): Use DATA_ALIGNMENT.
+
+2006-11-02 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ * doc/md.texi (RS6000 constraints): Document H, Z, a, t, and W
+ constraints.
+
+2006-11-02 Brooks Moses <brooks.moses@codesourcery.com>
+
+ * doc/invoke.texi: Fix mfp-trap-mode typo.
+
+2006-11-02 Carlos O'Donell <carlos@codesourcery.com>
+
+ * config/arm/linux-elf.h (NEED_INDICATE_EXEC_STACK): Define as 1.
+ * arm.c (arm_file_end): If NEED_INDICATE_EXEC_STACK call
+ file_end_indicate_exec_stack.
+ * arm.h [!NEED_INDICATE_EXEC_STACK] (NEED_INIDCATE_EXEC_STACK):
+ Define as 0.
+ * lib1funcs.asm [__ELF__ && __linux__]: Emit .note.GNU-stack section
+ for a non-executable stack.
+ * crti.asm: Likewise.
+ * crtn.asm: Likewise.
+ * libunwind.S: Likewise.
+
+2006-11-02 Ben Elliston <bje@au.ibm.com>
+
+ * tree-ssa.c (warn_uninit): Use expand_location variables for
+ locus and declaration locus.
+
+2006-11-02 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/27405
+ * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
+ (cmpsi{eq,gt,gtu}{si,di}_media): Rename to
+ cmp{eq,gt,gtu}{si,di}_media.
+ (*cmpne0si_media): Remove.
+ (*movsicc_umin): Adjust gen_cmp*_media call.
+ (unordered): Change the mode of unordered and operands[1] to
+ SImode.
+ (seq): Adjust gen_cmp*_media calls. Make the mode of
+ a temporary result of compare SImode if needed. If the mode
+ of operands[0] is DImode, extend the temporary result to DImode.
+ (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
+ (sunorderd): Change the mode of match_operand and unorderd to
+ SImode.
+ (cmpeq{sf,df}_media): Remove.
+ (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
+ (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
+ and compare operation to SImode.
+
+2006-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build
+ instructions.
+ (sparc64-sun-solaris2*): Likewise.
+
+2006-11-02 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED
+ from priority argument. Use different section for non-default
+ priority.
+ * config/arm/elf.h: Remove definition of SUPPORTS_INIT_PRIORITY.
+
+2006-11-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR other/29639
+ * except.c (switch_to_exception_section): Do not cache the section
+ if named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
+ and flag_function_sections is set.
+
+2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR middle-end/29335
+ * builtins.c (do_mpfr_sincos): New.
+ (fold_builtin_1): Use it to fold builtin sincos.
+
+2006-11-01 Roger Sayle <roger@eyesopen.com>
+
+ * config/darwin.h (CPP_SPEC): Handle -pthread, transforming
+ it into -D_REENTRANT.
+
+2006-11-01 Roger Sayle <roger@eyesopen.com>
+
+ * configure.ac (HAVE_AS_IX86_DIFF_SECT_DELTA): New test to determine
+ whether the assembler supports taking the difference of symbols in
+ different sections. On x86/Solaris, GAS does but Solaris as doesn't.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/i386/sol2-10.h (JUMP_TABLES_IN_TEXT_SECTION): Define if
+ the assembler doesn't support taking the difference of symbols in
+ different sections, i.e. we're using the native solaris assembler.
+
+2006-11-01 Pete Steinmetz <steinmtz@us.ibm.com>
+ Peter Bergner <bergner@vnet.ibm.com>
+
+ * doc/invoke.texi: Add cpu_type power6x
+ (RS/6000 and PowerPC Options): Add -mmfpgpr.
+ * config.gcc: Add cpu_type power6x.
+ * configure.ac: Add test for mf{t,f}gpr instructions.
+ (HAVE_AS_MFPGPR): New.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6x.
+ * config/rs6000/rs6000.md (define_attr "type"): Add insert_dword,
+ shift,trap,var_shift_rotate,cntlz,exts, var_delayed_compare, mffgpr
+ and mftgpr attributes.
+ (define_attr "cpu"): Add power6.
+ Change instruction sequences to use new attributes.
+ (floatsidf2,fix_truncdfsi2): use TARGET_MFPGPR.
+ (fix_truncdfsi2_mfpgpr): New.
+ (floatsidf_ppc64_mfpgpr): New.
+ (floatsidf_ppc64): Added !TARGET_MFPGPR condition.
+ (movdf_hardfloat64_mfpgpr,movdi_mfpgpr): New.
+ (movdf_hardfloat64): Added !TARGET_MFPGPR condition.
+ (movdi_internal64): Added !TARGET_MFPGPR and related conditions.
+ (fix_truncdfsi2): Use gpc_reg_operand constraint.
+ * config/rs6000/{6xx.md,power4.md,8540.md,603.md,mpc.md,
+ 7xx.md,rios2.md,7450.md,440.md,rios1.md,rs64.md,power5.md,40x.md}:
+ Add descriptions for insert_dword, shift,trap,var_shift_rotate,
+ cntlz,exts and var_delayed_compare.
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+ _ARCH_PWR6X, if features enabled.
+ * config/rs6000/rs6000.opt (mmfpgpr): New.
+ * config/rs6000/rs6000.c (rs6000_align_branch_targets): New variable.
+ (cached_can_issue_more): New variable.
+ (processor_costs): Add power6_cost.
+ (rs6000_sched_init): New function.
+ (is_dispatch_slot_restricted): Deleted.
+ (set_to_load_agen): New function.
+ (is_load_insn,is_store_insn): New functions.
+ (adjacent_mem_locations): New function.
+ (insn_must_be_first_in_group): New function.
+ (insn_must_be_last_in_group): New function.
+ (rs6000_sched_reorder): New function.
+ (rs6000_sched_reorder2): New function.
+ (TARGET_SCHED_INIT,TARGET_SCHED_REORDER,
+ TARGET_SCHED_REORDER2): Define.
+ (processor_target_table): Use PROCESSOR_POWER6 for power6.
+ Add power6x. Add MASK_MFPGPR for power6x.
+ (POWERPC_MASKS): Add MASK_MFPGPR.
+ (rs6000_override_options): Set rs6000_always_hint to false
+ for power6. Set rs6000_align_branch_targets. Replace
+ rs6000_sched_groups check with rs6000_align_branch_targets.
+ Use PROCESSOR_POWER6.
+ (last_scheduled_insn): New variable.
+ (load_store_pendulum): New variable.
+ (rs6000_variable_issue): Set last_scheduled_insn and
+ cached_can_issue_more.
+ (rs6000_adjust_cost): Add power6 cost adjustments.
+ (rs6000_adjust_priority): Replace is_dispatch_slot_restricted
+ with insn_must_be_first_in_group. Add power6 priority adjustments.
+ (rs6000_issue_rate): Add CPU_POWER6.
+ (insn_terminates_group_p): Use insn_must_be_{first,last}_in_group.
+ * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER6.
+ (TARGET_MFPGPR): New.
+ (SECONDARY_MEMORY_NEEDED): Use TARGET_MFPGPR.
+ (ASM_CPU_SPEC): Add power6x.
+ (SECONDARY_MEMORY_NEEDED): Added mode!=DFmode and mode!=DImode
+ conditions.
+ * config/rs6000/power6.md: New file.
+
+2006-11-01 Adam Nemet <anemet@caviumnetworks.com>
+
+ * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
+ HOST_WIDE_INT_PRINT to print high and low parts. Use
+ HOST_BITS_PER_WIDE_INT for the width of HOST_WIDE_INT. When
+ printing a hexadecimal number prefix it with 0x.
+
+2006-11-01 Chris Johns <chris@contemporary.net.au>
+
+ PR bootstrap/28400
+ * Makefile.in (install-driver): Use exeext when installing
+ $target-gcc-$version.
+
+2006-11-01 Douglas Gregor <doug.gregor@gmail.com>
+
+ * c-common.c (flag_cpp0x): New.
+ * c-common.h (flag_cpp0x): New.
+ * c-cppbuiltin.c (c_cpp_builtins): If C++0x extensions are
+ supported, define __GXX_EXPERIMENTAL_CPP0X__.
+ * c-opts.c (set_std_cxx0x): New.
+ (c_common_handle_option): Handle -std=c++0x, -std=gnu++0x.
+ * c.opt (std=c++0x): Document.
+ (std=gnu++0x): Ditto.
+ * doc/cpp.texi: Document __GXX_EXPERIMENTAL_CPP0X__.
+ * doc/invoke.texi: Document -std=c++0x, -std=gnu++0x.
+
+2006-11-01 Richard Guenther <rguenther@suse.de>
+
+ * config/i386/i386.c (ix86_expand_rint): Fix issues with
+ signed zeros.
+ (ix86_expand_floorceildf_32): Likewise.
+ (ix86_expand_floorceil): Likewise.
+ (ix86_expand_trunc): Likewise.
+
+2006-10-31 Andrew Pinski <pinskia@gmail.com>
+
+ * doc/invoke.texi (-fkeep-inline-functions): Change "GNU C"
+ to "GNU C89".
+
+2006-11-01 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * target.h (targetm.cxx.use_atexit_for_cxa_atexit): New target
+ hook.
+ * target-def.h: (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Define
+ default.
+ * config/i386/mingw32.h (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT):
+ Override default.
+ * doc/tm.texi (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Document.
+ * configure.ac (use_cxa_atexit): As a special case, don't test
+ for libc definition of __cxa_atexit on mingw32
+ * configure: Regenerate.
+ * config.gcc (i[34567]86-pc-mingw32): Default to
+ enable__cxa_atexit=yes.
+
+2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
+
+2006-10-31 Geoffrey Keating <geoffk@apple.com>
+
+ PR 23067
+ * c-decl.c (start_struct): Don't create self-containing
+ structures.
+ * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
+ New.
+ * config/rs6000/rs6000-protos.h
+ (darwin_rs6000_special_round_type_align): New.
+ * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite.
+ (ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align.
+
+2006-10-31 Geoffrey Keating <geoffk@apple.com>
+
+ * toplev.c (compile_file): Call final_write_globals
+ even if there have been errors.
+
+2006-10-31 Eric Christopher <echristo@apple.com>
+ Falk Hueffner <falk@debian.org>
+
+ * doc/extend.texi (__builtin_bswap32): Document.
+ (__builtin_bswap64): Ditto.
+ * doc/libgcc.texi (bswapsi2): Document.
+ (bswapdi2): Ditto.
+ * doc/rtl.texi (bswap): Document.
+ * optabs.c (expand_unop): Don't widen a bswap.
+ (init_optabs): Init bswap. Set libfuncs explicitly
+ for bswapsi2 and bswapdi2.
+ * optabs.h (OTI_bswap): New.
+ (bswap_optab): Ditto.
+ * genopinit.c (optabs): Handle bswap_optab.
+ * tree.h (tree_index): Add TI_UINT32_TYPE and
+ TI_UINT64_TYPE.
+ (uint32_type_node): New.
+ (uint64_type_node): Ditto.
+ * tree.c (build_common_tree_nodes_2): Initialize
+ uint32_type_node and uint64_type_node.
+ * builtins.c (expand_builtin_bswap): New.
+ (expand_builtin): Call.
+ (fold_builtin_bswap): New.
+ (fold_builtin_1): Call.
+ * fold-const.c (tree_expr_nonnegative_p): Return true
+ for bswap.
+ * builtin-types.def (BT_UINT32): New.
+ (BT_UINT64): Ditto.
+ (BT_FN_UINT32_UINT32): Ditto.
+ (BT_FN_UINT64_UINT64): Ditto.
+ * builtins.def (BUILT_IN_BSWAP32): New.
+ (BUILT_IN_BSWAP64): Ditto.
+ * rtl.def (BSWAP): New.
+ * genattrtab.c (check_attr_value): New.
+ * libgcc2.c (__bswapSI2): New.
+ (__bswapDI2): Ditto.
+ * libgcc2.h (__bswapSI2): Declare.
+ (__bswapDI2): Ditto.
+ * mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2.
+ * simplify-rtx.c (simplify_const_unary_operation): Return
+ 0 for BSWAP.
+ * libgcc-std.ver (__bwapsi2): Add.
+ (__bswapdi2): Ditto.
+ * reload1.c (eliminate_regs_1): Add bswap.
+ (elimination_effects): Ditto.
+ * config/i386/i386.h (x86_bswap): New.
+ (TARGET_BSWAP): Use.
+ * config/i386/i386.c (x86_bswap): Set.
+
+2006-10-31 Geoffrey Keating <geoffk@apple.com>
+
+ * coverage.c (coverage_checksum_string): Update comment.
+ * dwarf2out.c (switch_to_eh_frame_section): Update for removal
+ of get_file_function_name.
+ * cgraphunit.c (cgraph_build_static_cdtor): Update for rename
+ of get_file_function_name_long.
+ * tree.c (get_file_function_name): Rename from
+ get_file_function_name_long; improve comment; handle 'I' and 'D'
+ specially when the target has ctor/dtor support; remove special
+ handling for 'F'.
+ (get_file_function_name): Remove.
+ * tree.h (get_file_function_name): Rename from
+ get_file_function_name_long.
+ (get_file_function_name): Remove prototype.
+
+2006-10-31 Geoffrey Keating <geoffk@apple.com>
+
+ * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Remove.
+ * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
+
+ * config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@.
+ Call dsymutil when compiling and linking one or more source files
+ in one step.
+
+2006-10-31 Geoffrey Keating <geoffk@apple.com>
+
+ PR 15834
+ * config/darwin.h (NO_IMPLICIT_EXTERN_C): Define.
+
+2006-10-31 Geoffrey Keating <geoffk@apple.com>
+
+ * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on
+ inline static functions in c99 mode.
+
+ PR 16622
+ * doc/extend.texi (Inline): Update.
+ * c-tree.h (struct language_function): Remove field 'extern_inline'.
+ * c-decl.c (current_extern_inline): Delete.
+ (pop_scope): Adjust test for an undefined nested function.
+ Add warning about undeclared inline function.
+ (diagnose_mismatched_decls): Update comments. Disallow overriding
+ of inline functions in a translation unit in C99. Allow inline
+ declarations in C99 at any time.
+ (merge_decls): Boolize variables. Handle C99 'extern inline'
+ semantics.
+ (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle
+ C99 inline semantics.
+ (start_function): Don't clear current_extern_inline. Don't set
+ DECL_EXTERNAL.
+ (c_push_function_context): Don't push current_extern_inline.
+ (c_pop_function_context): Don't restore current_extern_inline.
+
+ PR 11377
+ * c-typeck.c (build_external_ref): Warn about static variables
+ used in extern inline functions.
+ * c-decl.c (start_decl): Warn about static variables declared
+ in extern inline functions.
+
+2006-10-31 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/23470
+ * tree.h (tree_expr_nonnegative_p): Return "bool" instead of "int".
+ * fold-const.c (tree_expr_nonnegative_p): Likewise. Consider
+ pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative
+ or y is an even integer.
+
+2006-10-31 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/24071
+ * gthr-posix.h (__gthread_active_p): New implementation on Solaris.
+ * gthr-posix95.h (__gthread_active_p): Likewise.
+
+2006-10-31 Richard Guenther <rguenther@suse.de>
+
+ * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
+ acossf2, acosxf2, log1psf2, log1pdf2, log1pxf2, ilogbsi2,
+ expsf2, expdf2, expxf2, exp10sf2, exp10df2, exp10xf2,
+ exp2sf2, exp2df2, exp2xf2, expm1df2, expm1sf2, expm1xf2,
+ ldexpdf3, ldexpsf3, ldexpxf3, rintxf2, rintdf2, rintsf2,
+ lround<mode>di2, lround<mode>si2, floorxf2, floordf2, floorsf2,
+ lfloor<mode>di2, lfloor<mode>si2, ceilxf2, ceildf2, ceilsf2,
+ btruncxf2, btruncdf2, btruncsf2): Conditionalize expansion on
+ !optimize_size.
+
+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
2006-10-29 Daniel Berlin <dberlin@dberlin.org>
- * tree.h (tree_value_handle): Remove struct value_set declaration.
+ * 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
(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
* config/i386/i386.c (output_387_ffreep): Create output from a
template string for !HAVE_AS_IX86_FFREEP.
-
+
2006-10-27 Eric Christopher <echristo@apple.com>
* config/darwin.c: Fix formatting and grammar.
* config/darwin.h (CPP_SPEC): ... here.
2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
* ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
when choosing the minimum heapsize.
2006-10-24 Nathan Froyd <froydnj@codesourcery.com>
- * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
- (file_table_relative_p): Likewise.
- (dwarf2out_finish): Likewise.
- (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
+ * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
+ (file_table_relative_p): Likewise.
+ (dwarf2out_finish): Likewise.
+ (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
2006-10-25 Daniel Berlin <dberlin@dberlin.org>
2006-10-22 Ira Rosen <irar@il.ibm.com>
- * tree-vect-transform.c (vectorizable_load): Use the type of the
- return value of the mask_for_load builtin to create realign_load
- stmt.
+ * tree-vect-transform.c (vectorizable_load): Use the type of the
+ return value of the mask_for_load builtin to create realign_load
+ stmt.
2006-10-22 Richard Sandiford <richard@codesourcery.com>
2006-10-19 Chen Liqin <liqin@sunnorth.com.cn>
- * config/score/crti.asm: New file.
- * config/score/crtn.asm: New file.
- * config/score/elf.h: New file.
- * config/score/mac.md: New file.
- * config/score/misc.md: New file.
- * config/score/mul-div.S: New file.
- * config/score/predicates.md: New file.
- * config/score/score7.md: New file.
- * config/score/score.c: New file.
- * config/score/score-conv.h: New file.
- * config/score/score.h: New file.
- * config/score/score.md: New file.
- * config/score/score-mdaux.c: New file.
- * config/score/score-mdaux.h: New file.
- * config/score/score-modes.def: New file.
- * config/score/score.opt: New file.
- * config/score/score-protos.h: New file.
- * config/score/score-version.h: New file.
- * config/score/t-score-elf: New file.
- * config.gcc: Add score*-*-* configurations(Update before).
- * doc/invoke.texi (Score Options): New section.
- * doc/md.texi (Score family): New section to document constraints.
+ * config/score/crti.asm: New file.
+ * config/score/crtn.asm: New file.
+ * config/score/elf.h: New file.
+ * config/score/mac.md: New file.
+ * config/score/misc.md: New file.
+ * config/score/mul-div.S: New file.
+ * config/score/predicates.md: New file.
+ * config/score/score7.md: New file.
+ * config/score/score.c: New file.
+ * config/score/score-conv.h: New file.
+ * config/score/score.h: New file.
+ * config/score/score.md: New file.
+ * config/score/score-mdaux.c: New file.
+ * config/score/score-mdaux.h: New file.
+ * config/score/score-modes.def: New file.
+ * config/score/score.opt: New file.
+ * config/score/score-protos.h: New file.
+ * config/score/score-version.h: New file.
+ * config/score/t-score-elf: New file.
+ * config.gcc: Add score*-*-* configurations(Update before).
+ * doc/invoke.texi (Score Options): New section.
+ * doc/md.texi (Score family): New section to document constraints.
2006-10-19 Nick Clifton <nickc@redhat.com>
2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/contraints.md: New file.
- * config/s390/s390-protos.h (s390_mem_constraint,
+ * config/s390/s390-protos.h (s390_mem_constraint,
s390_O_constraint_str, s390_N_constraint_str,
s390_float_const_zero_p): Function prototypes added.
* config/s390/s390.c (s390_extra_constraint_str,
s390_const_double_ok_for_constraint_p,
s390_const_ok_for_constraint_p): Functions removed.
- (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
+ (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
s390_float_const_zero_p): New functions.
* config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
declared always_inline even when not inlining.
2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
- John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- Andrew Pinski <pinskia@gmail.com>
+ John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+ Andrew Pinski <pinskia@gmail.com>
PR middle-end/29111
* builtins.c (get_pointer_alignment): Return 0 if TER is not run.
2006-10-15 Jan Hubicka <jh@suse.cz>
- Richard Guenther <rguenther@suse.de>
+ Richard Guenther <rguenther@suse.de>
PR middle-end/29299
* cgraphunit.c (cgraph_finalize_compilation_unit): Call