+2007-08-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree-flow-inline.h (is_exec_stmt): Remove.
+ (is_label_stmt): Remove.
+ * tree-flow.h: Remove prototypes for is_exec_stmt, get_filename, and
+ is_label_stmt.
+
+2007-08-10 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * lower-subreg.c (resolve_shift_zext): Don't adjust
+ src_reg_num for wordmode operands.
+
+2007-08-10 Sandra Loosemore <sandra@codesourcery.com>
+ David Ung <davidu@mips.com>
+
+ * config/mips/mips.c (TARGET_SCHED_INIT): Define.
+ (TARGET_SCHED_REORDER2): Define.
+ (mips_maybe_swap_ready): New.
+ (mips_last_74k_agen_insn): New.
+ (mips_74k_agen_init): New.
+ (mips_74k_agen_reorder): New function to group loads and stores
+ in the ready queue.
+ (mips_sched_init): New.
+ (mips_sched_reorder): Don't do initialization here. Call
+ mips_74k_agen_reorder.
+ (mips_variable_issue): Call mips_74k_agen_init.
+
+2007-08-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree-flow-inline.h (get_filename): Remove.
+
+2007-08-10 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips-protos.h (mips_address_insns): Add a boolean
+ argument.
+ (mips_fetch_insns): Delete in favor of...
+ (mips_load_store_insns): ...this new function.
+ * config/mips/mips.c (mips_address_insns): Add a boolean argument
+ to say whether multiword moves _might_ be split.
+ (mips_fetch_insns): Delete in favor of...
+ (mips_load_store_insns): ...this new function.
+ (mips_rtx_costs): Update the call to mips_address_insns.
+ (mips_address_cost): Likewise.
+ * config/mips/mips.md (length): Use mips_load_store_insns instead
+ of mips_fetch_insns.
+ * config/mips/constraints.md (R): Use mips_address_insns rather
+ than mips_fetch_insns. Assume that the move never needs to be split.
+
+2007-08-09 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/mips/mips.opt (mhard-float, msoft-float): Make these
+ control TARGET_HARD_FLOAT_ABI and TARGET_SOFT_FLOAT_ABI, rather
+ than TARGET_HARD_FLOAT and TARGET_SOFT_FLOAT.
+ * config/mips/mips.h (mips16_hard_float): Delete.
+ (TARGET_HARD_FLOAT_ABI, TARGET_SOFT_FLOAT_ABI): Delete these
+ definitions, and replace with....
+ (TARGET_HARD_FLOAT, TARGET_SOFT_FLOAT): Define.
+ * config/mips/mips.c (mips16_hard_float): Delete. Replace
+ all references with (TARGET_MIPS16 && TARGET_HARD_FLOAT_ABI).
+ (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Update comments.
+ (override_options): Replace MASK_SOFT_FLOAT references with
+ MASK_SOFT_FLOAT_ABI. Delete twiddling with MASK_SOFT_FLOAT
+ and mips16_hard_float when TARGET_MIPS16.
+
+2007-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR c/32796
+ * c-typeck.c (build_binary_op): Check for non pointer types before
+ calling int_fits_type_p.
+
+2007-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR middle-end/32813
+ * fold-const.c (omit_one_operand): Return only the ommitted expression
+ if the result is an empty statement.
+ (pedantic_omit_one_operand): Likewise.
+
+2007-08-09 Daniel Berlin <dberlin@dberlin.org>
+
+ * c-typeck.c (readonly_error): Improve error for assignment.
+
+ * c-pretty-print.c (pp_c_additive_expression): Handle pointer-plus
+ expression.
+ (pp_c_expression): Ditto.
+
+2007-08-09 Simon Baldwin <simonb@google.com>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Removed erroneous
+ break that was preventing simplify_associative_operation() for xor.
+
+2007-08-09 Sandra Loosemore <sandra@codesourcery.com>
+ Nigel Stephens <nigel@mips.com>
+
+ * doc/tm.texi (CLZ_DEFINED_VALUE_AT_ZERO, CTZ_DEFINED_VALUE_AT_ZERO):
+ Document change in interpretation of value from boolean to
+ tri-state integer.
+ * optabs.c (expand_ffs, expand_ctz): New functions to compute
+ ffs and ctz using clz.
+ (expand_unop): Call them.
+ * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix its
+ result value.
+ (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
+ * config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Likewise, to
+ enable the new ffs expansion on this target.
+
+2007-08-09 Jan Hubicka <jh@suse.cz>
+
+ * optabs.c (expand_widen_pattern_expr): Use optabs accestors.
+ (expand_ternary_op): Likewise.
+ (expand_vec_shift_expr): Likewise.
+ (expand_binop_directly): Likewise.
+ (expand_binop): Likewise.
+ (sign_expand_binop): Likewise.
+ (expand_twoval_unop): Likewise.
+ (expand_twoval_binop): Likewise.
+ (expand_twoval_binop_libfunc): Likewise.
+ (widen_clz): Likewise.
+ (widen_bswap): Likewise.
+ (expand_parity): Likewise.
+ (expand_unop): Likewise.
+ (expand_abs_nojump): Likewise.
+ (expand_copysign): Likewise.
+ (emit_no_conflict_block): Likewise.
+ (emit_libcall_block): Likewise.
+ (can_compare_p): Likewise.
+ (prepare_cmp_insn): Likewise.
+ (emit_cmp_and_jump_insn_1): Likewise.
+ (prepare_float_lib_cmp): Likewise.
+ (emit_conditional_add): Likewise.
+ (gen_add2_insn): Likewise.
+ (have_add2_insn): Likewise.
+ (gen_sub2_insn): Likewise.
+ (have_sub2_insn): Likewise.
+ (can_extend_p): Likewise.
+ (can_fix_p): Likewise.
+ (can_float_p): Likewise.
+ (expand_float): Likewise.
+ (expand_fix): Likewise.
+ (expand_sfix_optab): Likewise.
+ (new_optab): Likewise.
+ (new_convert_optab): Likewise.
+ (init_libfuncs): Likewise.
+ (init_interclass_conv_libfuncs): Likewise.
+ (init_intraclass_conv_libfuncs): Likewise.
+ (set_conv_libfunc): Likewise.
+ (init_optabs): Likewise.
+ (debug_optab_libfuncs): Likewise.
+ (gen_cond_trap): Likewise.
+ * optabs.h (optab_handler, convert_optab_hanlder): New.
+ * genopinit.c: Update optabs generation table.
+ * reload.c (find_reloads_address_1): Use optabs accestors.
+ * builtins.c (expand_builtin_mathfn): Likewise.
+ (expand_builtin_mathfn_2): Likewise.
+ (expand_builtin_mathfn_3): Likewise.
+ (expand_builtin_interclass_mathfn): Likewise.
+ (expand_builtin_sincos): Likewise.
+ (expand_builtin_cexpi): Likewise.
+ (expand_builtin_powi): Likewise.
+ (expand_builtin_strlen): Likewise.
+ * dojump.c (do_jump): Likewise.
+ * expr.c (convert_move): Likewise.
+ (move_by_pieces): Likewise.
+ (move_by_pieces_ninsns): Likewise.
+ (can_store_by_pieces): Likewise.
+ (store_by_pieces_1): Likewise.
+ (emit_move_via_integer): Likewise.
+ (emit_move_complex): Likewise.
+ (emit_move_ccmode): Likewise.
+ (emit_move_insn_1): Likewise.
+ (emit_single_push_insn): Likewise.
+ (store_constructor): Likewise.
+ (expand_expr_real_1): Likewise.
+ (do_store_flag): Likewise.
+ * ada/misc.c (gnat_compute_largest_alignment): Likewise.
+ (enumerate_modes): Likewise.
+ * tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
+ (supportable_widening_operation): Likewise.
+ (supportable_narrowing_operation): Likewise.
+ * expmed.c (store_bit_field_1): Likewise.
+ (extract_bit_field_1): Likewise.
+ (expand_mult_highpart_optab): Likewise.
+ (expand_smod_pow2): Likewise.
+ (expand_divmod): Likewise.
+ (emit_store_flag): Likewise.
+ * tree-vect-patterns.c
+ (vect_pattern_recog_1): Likewise.
+ * tree-ssa-loop-prefetch.c
+ (nontemporal_store_p): Likewise.
+ * tree-vect-transform.c (vect_model_reduction_cost): Likewise.
+ (vect_create_epilog_for_reduction): Likewise.
+ (vectorizable_reduction): Likewise.
+ (vectorizable_operation): Likewise.
+ (vect_strided_store_supported): Likewise.
+ (vectorizable_store): Likewise.
+ (vect_strided_load_supported): Likewise.
+ (vectorizable_load): Likewise.
+ * combine.c (simplify_comparison): Likewise.
+ * tree-vect-generic.c
+ (type_for_widest_vector_mode): Likewise.
+ (expand_vector_operations_1): Likewise.
+ * config/spu/spu.c (spu_expand_mov): Likewise.
+ (spu_emit_vector_compare): Likewise.
+ * config/rs6000/rs6000.c
+ (rs6000_emit_vector_compare): Likewise.
+ * stmt.c (add_case_node): Likewise.
+ * reload1.c (gen_reload):
+
+2007-08-09 Michael Matz <matz@suse.de>
+
+ * tree.h (fixed_zerop): Declare as taking a const_tree.
+ * tree.c (fixed_zerop): Take a const_tree.
+
+2007-08-09 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vect-transform.c (vectorizable_store): Remove call to
+ copy_virtual_operands() and call mark_symbols_for_renaming() for
+ the created vector store.
+ (vect_setup_realignment): Don't call copy_virtual_operands() and
+ update_vuses_to_preheader().
+ (vectorizable_load): Don't call copy_virtual_operands().
+ (update_vuses_to_preheader): Remove.
+
+2007-08-08 Chao-ying Fu <fu@mips.com>
+
+ * tree.def (FIXED_POINT_TYPE): New type.
+ (FIXED_CST): New constant.
+ (FIXED_CONVERT_EXPR): New expr.
+ * doc/c-tree.texi (Types): Document FIXED_POINT_TYPE.
+ (Expressions): Document FIXED_CST and FIXED_CONVERT_EXPR.
+ * tree.h (struct tree_base): Add saturating_flag.
+ Remove one bit of spare for saturating_flag.
+ (NUMERICAL_TYPE_CHECK): Support FIXED_POINT_TYPE.
+ (NON_SAT_FIXED_POINT_TYPE_P, SAT_FIXED_POINT_TYPE_P,
+ FIXED_POINT_TYPE_P): Define.
+ (TYPE_SATURATING): Define.
+ (TREE_FIXED_CST_PTR, TREE_FIXED_CST): Define.
+ (struct tree_fixed_cst): New.
+ (TYPE_IBIT, TYPE_FBIT): Define.
+ (tree_node): Add fixed_cst.
+ (enum tree_index): Add new enumeration values of
+ TI_SAT_SFRACT_TYPE, TI_SAT_FRACT_TYPE, TI_SAT_LFRACT_TYPE,
+ TI_SAT_LLFRACT_TYPE, TI_SAT_USFRACT_TYPE, TI_SAT_UFRACT_TYPE,
+ TI_SAT_ULFRACT_TYPE, TI_SAT_ULLFRACT_TYPE, TI_SFRACT_TYPE,
+ TI_FRACT_TYPE, TI_LFRACT_TYPE, TI_LLFRACT_TYPE, TI_USFRACT_TYPE,
+ TI_UFRACT_TYPE, TI_ULFRACT_TYPE, TI_ULLFRACT_TYPE,
+ TI_SAT_SACCUM_TYPE, TI_SAT_ACCUM_TYPE, TI_SAT_LACCUM_TYPE,
+ TI_SAT_LLACCUM_TYPE, TI_SAT_USACCUM_TYPE, TI_SAT_UACCUM_TYPE,
+ TI_SAT_ULACCUM_TYPE, TI_SAT_ULLACCUM_TYPE, TI_SACCUM_TYPE,
+ TI_ACCUM_TYPE, TI_LACCUM_TYPE, TI_LLACCUM_TYPE, TI_USACCUM_TYPE,
+ TI_UACCUM_TYPE, TI_ULACCUM_TYPE, TI_ULLACCUM_TYPE,
+ TI_QQ_TYPE, TI_HQ_TYPE,_TYPE, TI_SQ_TYPE, TI_DQ_TYPE, TI_TQ_TYPE,
+ TI_UQQ_TYPE, TI_UHQ_TYPE, TI_USQ_TYPE, TI_UDQ_TYPE, TI_UTQ_TYPE,
+ TI_SAT_QQ_TYPE, TI_SAT_HQ_TYPE, TI_SAT_SQ_TYPE, TI_SAT_DQ_TYPE,
+ TI_SAT_TQ_TYPE, TI_SAT_UQQ_TYPE, TI_SAT_UHQ_TYPE, TI_SAT_USQ_TYPE,
+ TI_SAT_UDQ_TYPE, TI_SAT_UTQ_TYPE, TI_HA_TYPE, TI_SA_TYPE, TI_DA_TYPE,
+ TI_TA_TYPE, TI_UHA_TYPE, TI_USA_TYPE, TI_UDA_TYPE, TI_UTA_TYPE,
+ TI_SAT_HA_TYPE, TI_SAT_SA_TYPE, TI_SAT_DA_TYPE, TI_SAT_TA_TYPE,
+ TI_SAT_UHA_TYPE, TI_SAT_USA_TYPE, TI_SAT_UDA_TYPE, TI_SAT_UTA_TYPE.
+ (sat_short_fract_type_node, sat_fract_type_node,
+ sat_long_fract_type_node, sat_long_long_fract_type_node,
+ sat_unsigned_short_fract_type_node, sat_unsigned_fract_type_node,
+ sat_unsigned_long_fract_type_node,
+ sat_unsigned_long_long_fract_type_node, short_fract_type_node,
+ fract_type_node, long_fract_type_node, long_long_fract_type_node,
+ unsigned_short_fract_type_node, unsigned_fract_type_node,
+ unsigned_long_fract_type_node, unsigned_long_long_fract_type_node,
+ sat_short_accum_type_node, sat_accum_type_node,
+ sat_long_accum_type_node, sat_long_long_accum_type_node,
+ sat_unsigned_short_accum_type_node, sat_unsigned_accum_type_node,
+ sat_unsigned_long_accum_type_node,
+ sat_unsigned_long_long_accum_type_node, short_accum_type_node,
+ accum_type_node, long_accum_type_node, long_long_accum_type_node,
+ unsigned_short_accum_type_node, unsigned_accum_type_node,
+ unsigned_long_accum_type_node, unsigned_long_long_accum_type_node,
+ qq_type_node, hq_type_node, sq_type_node, dq_type_node, tq_type_node,
+ uqq_type_node, uhq_type_node, usq_type_node, udq_type_node,
+ utq_type_node, sat_qq_type_node, sat_hq_type_node, sat_sq_type_node,
+ sat_dq_type_node, sat_tq_type_node, sat_uqq_type_node,
+ sat_uhq_type_node, sat_usq_type_node, sat_udq_type_node,
+ sat_utq_type_node, ha_type_node, sa_type_node, da_type_node,
+ ta_type_node, uha_type_node, usa_type_node, uda_type_node,
+ uta_type_node, sat_ha_type_node, sat_sa_type_node, sat_da_type_node,
+ sat_ta_type_node, sat_uha_type_node, sat_usa_type_node,
+ sat_uda_type_node, sat_uta_type_node): New macro.
+ (make_fract_type, make_accum_type): Declare.
+ (make_signed_fract_type, make_unsigned_fract_type,
+ make_sat_signed_fract_type, make_sat_unsigned_fract_type,
+ make_signed_accum_type, make_unsigned_accum_type,
+ make_sat_signed_accum_type, make_sat_unsigned_accum_type,
+ make_or_reuse_signed_fract_type, make_or_reuse_unsigned_fract_type,
+ make_or_reuse_sat_signed_fract_type,
+ make_or_reuse_sat_unsigned_fract_type, make_or_reuse_signed_accum_type,
+ make_or_reuse_unsigned_accum_type, make_or_reuse_sat_signed_accum_type,
+ make_or_reuse_sat_unsigned_accum_type): New macro.
+ (fixed_zerop): Declare.
+ * defaults.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
+ LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
+ SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
+ LONG_LONG_ACCUM_TYPE_SIZE): Define.
+ * treestruct.def: Add TS_FIXED_CST.
+ * Makefile.in (c-pretty-print.o): Add dependence on fixed-value.h.
+ (tree.o): Likewise.
+ (tree-dump.o): Likewise.
+ (print-tree.o): Likewise.
+ (tree-pretty-print.o): Likewise.
+ (fold-const.o): Likewise.
+ * tree-complex.c (some_nonzerop): Handle FIXED_CST.
+ * tree-gimple.c (is_gimple_formal_tmp_rhs): Handle FIXED_CST.
+ (is_gimple_min_invariant): Handle FIXED_CST.
+ * stor-layout.c (int_mode_for_mode): Handle MODE_FRACT, MODE_UFRACT,
+ MODE_ACCUM, MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT,
+ MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
+ (layout_type): Handle FIXED_POINT_TYPE.
+ (make_fract_type, make_accum_type): New functions.
+ * tree-browser.c (browse_tree): Handle FIXED_POINT_TYPE.
+ * tree-dump.c (fixed-value.h): New include.
+ (dump_fixed): New function.
+ (dequeue_and_dump): Handle FIXED_POINT_TYPE and FIXED_CST.
+ * tree-inline.c (remap_type_1): Handle FIXED_POINT_TYPE.
+ (estimate_num_insns_1): Handle FIXED_CST and FIXED_CONVERT_EXPR.
+ * tree-pretty-print.c (fixed-value.h): New include.
+ (dump_generic_node): Handle FIXED_POINT_TYPE, FIXED_CST, and
+ FIXED_CONVERT_EXPR.
+ * tree-scalar-evolution.c (get_scalar_evolution): Handle FIXED_CST.
+ * tree-ssa-loop-im.c (for_each_index): Handle FIXED_CST.
+ * tree-ssa-pre.c (poolify_tree): Handle FIXED_CST.
+ * tree-ssa-reassoc.c (break_up_subtract_bb): We can do reassociation
+ for non-saturating fixed-point types.
+ (reassociate_bb): Likewise.
+ * emit-rtl.c (fixed-value.h): New include.
+ (fconst0, fconst1): New array.
+ (init_emit_once): Initialize fconst0 and fconst1 for fixed-point modes.
+ * tree-vect-generic.c expand_vector_operation): Support
+ MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, and
+ MODE_VECTOR_UACCUM.
+ (type_for_widest_vector_mode): Add one parameter for the
+ saturating flag.
+ Check scalar FRACT, UFRACT, ACCUM, and UACCUM mode to select their
+ vector mode.
+ Pass the satp parameter to type_for_mode for fixed-point types.
+ (expand_vector_operations_1): Pass the saturating flag to
+ type_for_widest_vector_mode.
+ Support MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
+ and MODE_VECTOR_UACCUM.
+ * tree-vect-transform.c (vect_is_simple_cond): Support FIXED_CST.
+ (vectorizable_condition): Likewise.
+ * tree.c (fixed-value.h): New include.
+ (tree_code_size): Support FIXED_CST.
+ (build_fixed): New function.
+ (build_one_cst): Support FIXED_POINT_TYPE for accum types.
+ (fixed_zerop): New function.
+ (tree_node_structure): Support FIXED_CST.
+ (type_contains_placeholder_1): Support FIXED_POINT_TYPE.
+ (build_type_attribute_qual_variant): Handle FIXED_POINT_TYPE.
+ (type_hash_eq): Handle FIXED_POINT_TYPE.
+ (simple_cst_equal): Support FIXED_CST.
+ (iterative_hash_expr): Handle FIXED_CST.
+ (get_unwidened): Make sure type is not FIXED_POINT_TYPE.
+ (get_narrower): Likewise.
+ (variably_modified_type_p): Handle FIXED_POINT_TYPE.
+ (make_or_reuse_fract_type, make_or_reuse_accum_type): New functions.
+ (build_common_tree_nodes_2): Use MAKE_FIXED_TYPE_NODE_FAMILY and
+ MAKE_FIXED_MODE_NODE macros to initialize fixed-point type
+ nodes.
+ (build_vector_type_for_mode): Handle MODE_VECTOR_FRACT,
+ MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
+ (initializer_zerop): Support FIXED_CST.
+ (walk_tree): Handle FIXED_CST and FIXED_POINT_TYPE.
+ * dwarf2out.c (base_type_die): Use DW_ATE_signed_fixed or
+ DW_ATE_unsigned_fixed to describe FIXED_POINT_TYPE.
+ (is_base_type): Handle FIXED_POINT_TYPE.
+ (add_type_attribute): Handle FIXED_POINT_TYPE.
+ (gen_type_die_with_usage): Handle FIXED_POINT_TYPE.
+ * print-tree.c (fixed-value.h): New include.
+ (print_node_brief): Support FIXED_CST.
+ (print_node): Support FIXED_POINT_TYPE and FIXED_CST.
+ * c-pretty-print.c (fixed-value.h): New include.
+ (pp_c_type_specifier): Handle FIXED_POINT_TYPE. Need to pass
+ TYPE_SATURATING to c_common_type_for_mode for fixed-point modes.
+ (pp_c_direct_abstract_declarator): Handle FIXED_POINT_TYPE.
+ Support fixed-point types for inner items in VECTOR_TYPE.
+ (pp_c_direct_declarator): Likewise.
+ (pp_c_declarator): Likewise.
+ (pp_c_fixed_constant): New function.
+ (pp_c_constant): Handle FIXED_CST.
+ (pp_c_primary_expression): Likewise.
+ (pp_c_expression): Likewise.
+ * fold-const.c (fixed-value.h): New include.
+ (negate_expr_p): Return true for FIXED_CST.
+ (fold_negate_expr): Support FIXED_CST.
+ (split_tree): Support FIXED_CST.
+ (const_binop): Support FIXED_CST.
+ (fold_convert_const_int_from_fixed): New function to convert from
+ fixed to int.
+ (fold_convert_const_real_from_fixed): New function to convert from
+ fixed to real.
+ (fold_convert_const_fixed_from_fixed): New function to convert from
+ fixed to another fixed.
+ (fold_convert_const_fixed_from_int): New function to convert from
+ int to fixed.
+ (fold_convert_const_fixed_from_real): New function to convert from
+ real to fixed.
+ (fold_convert_const): Support conversions from fixed to int, from
+ fixed to real, from fixed to fixed, from int to fixed, and from real
+ to fixed.
+ (fold_convert): Support FIXED_CST and FIXED_POINT_TYPE.
+ (operand_equal_p): Support FIXED_CST.
+ (make_range): For fixed-point modes, we need to pass the
+ saturating flag as the 2nd parameter.
+ (tree_swap_operands_p): Handle FIXED_CST.
+ (fold_plusminus_mult_expr): For fract modes, we cannot generate
+ constant 1.
+ (fold_unary): Support FIXED_CONVERT_EXPR.
+ (fold_binary): Handle FIXED_CST.
+ Make sure the type is not saturating, before associating operations.
+ Ex: A + B + C, A * B * C, (A1 * C1) +/- (A2 * C2).
+ (tree_expr_nonnegative_warnv_p): Handle FIXED_CST.
+ (fold_negate_const): Support FIXED_CST.
+ (fold_relational_const): Support FIXED_CST.
+ * gimplify.c (omp_firstprivatize_type_sizes): Handle FIXED_POINT_TYPE.
+ (gimplify_expr): Handle FIXED_CST.
+ (gimplify_type_sizes): Handle FIXED_POINT_TYPE.
+ * ipa-prop.c (ipa_callsite_compute_param): Support FIXED_CST.
+ * ipa-type-escape.c (type_to_consider): Handle FIXED_POINT_TYPE.
+ * doc/tm.texi (Type Layout): Document SHORT_FRACT_TYPE_SIZE,
+ FRACT_TYPE_SIZE, LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
+ SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
+ LONG_LONG_ACCUM_TYPE_SIZE.
+ * dbxout.c (dbxout_type): Handle FIXED_POINT_TYPE.
+ * c-aux-info.c (gen_type): Handle FIXED_POINT_TYPE.
+ * tree-sra.c (is_sra_scalar_type): Support FIXED_POINT_TYPE.
+ * expmed.c (extract_bit_field): Support MODE_FRACT, MODE_UFRACT,
+ MODE_ACCUM, and MODE_UACCUM.
+ * tree-vectorizer.c (vect_is_simple_reduction): Check for saturating
+ fixed-point types to disable reduction.
+ * explow.c (promote_mode): Support FIXED_POINT_TYPE.
+
+2007-08-08 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/x-rs6000: New file.
+ * config/rs6000/darwin.h (CC1_SPEC): Add cc1_cpu.
+ * config/rs6000/rs6000.h (EXTRA_SPECS): Add cc1_cpu.
+ (EXTRA_SPEC_FUNCTIONS): Define.
+ (HAVE_LOCAL_CPU_DETECT): Define.
+ (CC1_CPU_SPEC): Define.
+ * config/rs6000/driver-rs6000.c: New file.
+ * config/rs6000/aix.h (CC1_SPEC): Define.
+ * config/rs6000/sysv4.h (CC1_SPEC): Add cc1_cpu.
+ * config.host: Add x-rs6000 to host_xmake_file if host and target
+ are rs6000 or powerpc.
+
+2007-08-08 Paolo Bonzini <paolo.bonzini@lu.unisi.ch>
+
+ * config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Use +=.
+
+2007-08-08 Richard Sandiford <richard@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+ Chao-ying Fu <fu@mips.com>
+ Nigel Stephens <nigel@mips.com>
+ David Ung <davidu@mips.com>
+
+ * doc/invoke.texi (-mcode-readable): Document.
+ * config/mips/mips.opt (mcode-readable): New option.
+ * config/mips/mips-protos.h (SYMBOL_32_HIGH): New symbol type.
+ * config/mips/mips.h (mips_code_readable_setting): New enum.
+ (mips_code_readable): Declare.
+ (TARGET_MIPS16_TEXT_LOADS, TARGET_MIPS16_PCREL_LOADS): New macros.
+ (TARGET_MIPS16_SHORT_JUMP_TABLES): New macro.
+ (JUMP_TABLES_IN_TEXT_SECTION): Use it.
+ (CASE_VECTOR_MODE, CASE_VECTOR_PC_RELATIVE): Likewise. Remove
+ boiler-plate comments.
+ (ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
+ * config/mips/mips.c (mips_code_readable): New variable.
+ (mips_classify_symbol): Only return SYMBOL_PC_RELATIVE for
+ MIPS16 labels if TARGET_MIPS16_SHORT_JUMP_TABLES. Use both the
+ context and -mcode-readable setting to restrict the use of
+ SYMBOL_PC_RELATIVE for MIPS16 constant pool references.
+ Only return TARGET_FORCE_TO_MEM if PC-relative loads are allowed.
+ (mips_symbolic_constant_p): Handle SYMBOL_32_HIGH.
+ (mips_blocks_for_constant_p): Only return false for
+ TARGET_MIPS16_PCREL_LOADS.
+ (mips_symbol_insns_1): Treat HIGHs as 2 extended instructions
+ for MIPS16. Handle SYMBOL_32_HIGH.
+ (mips_const_insns): Allow HIGHs for MIPS16 too.
+ (mips_unspec_address_offset): New function, split out from...
+ (mips_unspec_address): ...here.
+ (mips_output_move): Handle MIPS16 HIGH moves. Use "li" to load
+ 16-bit symbolic constants. Assert approropiate conditions for
+ using the "la" and "dla" macros.
+ (mips_handle_option): Handle -mcode-readable=.
+ (override_options): Use %hi/%lo relocations for TARGET_MIPS16 too.
+ Set up mips_lo_relocs[SYMBOL_32_HIGH].
+ (mips_strip_unspec_address): New function, split out from...
+ (print_operand_reloc): ...here.
+ (print_operand): Pass constants through mips_strip_unspec_address.
+ (print_operand_address): Likewise.
+ (mips_output_mi_thunk): Remove guard of mips16_lay_out_constants.
+ (mips_select_rtx_section): Remove MIPS16 handling.
+ (mips16_gp_pseudo_reg): Check currently_expanding_to_rtl.
+ (mips16_rewrite_pool_refs): Wrap the labels in an address UNSPEC.
+ (mips16_lay_out_constants): Do nothing unless
+ TARGET_MIPS16_PCREL_LOADS.
+ (mips_avoid_hazards): Remove guard of mips16_lay_out_constants.
+ * config/mips/mips.md: Split HIGHs for MIPS16.
+ (tablejump): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
+
+2007-08-08 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips-protos.h (mips_emit_move): Declare.
+ * config/mips/mips.c (mips_emit_move): New function.
+ (mips_force_temporary): Use mips_emit_move instead of emit_move_insn.
+ (mips_legitimize_const_move): Likewise.
+ (mips_legitimize_move): Likewise.
+ (mips_split_64bit_move): Likewise.
+ (mips_restore_gp): Likewise.
+ (mips_load_call_address): Likewise.
+ (mips_emit_fcc_reload): Likewise.
+ (mips_set_return_address): Likewise.
+ (mips_block_move_straight): Likewise.
+ (mips_block_move_loop): Likewise.
+ (mips_setup_incoming_varargs): Likewise.
+ (mips_save_reg): Likewise.
+ (mips_expand_prologue): Likewise.
+ (mips_restore_reg): Likewise.
+ (mips_expand_epilogue): Likewise.
+ (mips_output_mi_thunk): Likewise.
+ (build_mips16_call_stub): Likewise.
+ (mips_builtin_branch_and_move): Likewise.
+ * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Likewise.
+ * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
+ (fixuns_truncdfdi2): Likewise.
+ (fixuns_truncsfsi2): Likewise.
+ (fixuns_truncsfdi2): Likewise.
+ (loadgp_absolute): Likewise.
+ (builtin_setjmp_setup): Likewise.
+ (builtin_longjmp): Likewise.
+ (untyped_call): Likewise.
+
+2007-08-08 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips-protos.h (mips_split_symbol): Add a mode and
+ an "rtx *" argument. Return a bool.
+ * config/mips/mips.c (mips_split_symbol): Accept arbitrary source
+ values and return true if they can be split. Take the same kind of
+ mode argument as mips_symbol_insns. Add a "lo_sum_out" parameter
+ and store the lo_sum there if nonnull. Use the symbol type to
+ determine whether a $gp or HIGH is needed.
+ (mips_legitimize_address): Update call to mips_split_symbol and
+ simplify accordingly.
+ (mips_legitimize_const_move): Likewise.
+ * config/mips/mips.md: In the combine define_split,
+ check mips_split_symbol instead of splittable_symbolic_operand.
+ Update use of mips_split_symbol in the generator code.
+ * config/mips/predicates.md (splittable_symbolic_operand): Delete.
+
+2007-08-08 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.c (mips_symbolic_address_p): Delete.
+ (mips_symbol_insns_1): New function, split out from...
+ (mips_symbol_insns): ...here. Take a mode argument. Treat loads
+ and stores separately from load addresses.
+ (mips_classify_address): Replace uses of mips_symbolic_address_p
+ with uses of mips_symbol_insns.
+ (mips_address_insns): Update calls to mips_symbol_insns.
+ (mips_const_insns): Likewise.
+ (mips_legitimize_address): Likewise.
+
+2007-08-08 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): New symbol type.
+ * config/mips/mips.c (mips_classify_symbol): Skip TARGET_ABICALLS
+ block for locally-binding symbols if TARGET_ABSOLUTE_ABICALLS.
+ Return SYMBOL_FORCE_TO_MEM instead of SYMBOL_ABSOLUTE for
+ non-call contexts if TARGET_MIPS16.
+ (mips_symbolic_constant_p): Handle SYMBOL_FORCE_TO_MEM.
+ (mips_symbolic_address_p): Likewise. Remove special TARGET_MIPS16
+ code for SYMBOL_ABSOLUTE.
+ (mips_symbol_insns): Likewise.
+
+2007-08-08 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips-protos.h (mips_symbol_context): New enumeration.
+ * config/mips/mips.c (mips_classify_symbol): Take a context argument.
+ (mips_symbolic_constant_p): Likewise. Update the call to
+ mips_classify_symbol.
+ (mips_classify_address): Update the calls to mips_symbolic_constant_p.
+ (mips_const_insns): Likewise. Update the call to mips_classify_symbol.
+ (mips_legitimize_address): Update the call to mips_symbolic_constant_p.
+ (print_operand_reloc): Add a context argument. Update the call to
+ mips_symbolic_constant_p.
+ (print_operand): Update the calls to print_operand_reloc.
+ (print_operand_address): Use print_operand_reloc rather than
+ print_operand.
+ (mips_rewrite_small_data_p): Add a context argument. Update the call
+ to mips_symbolic_constant_p.
+ (mips_small_data_pattern_1): Make DATA the containing mem.
+ Update the call to mips_rewrite_small_data_p.
+ (mips_rewrite_small_data_1): Likewise.
+ (mips_use_anchors_for_symbol_p): Update the call to
+ mips_symbolic_constant_p.
+ * config/mips/predicates.md (const_call_insn_operand): Likewise.
+ (splittable_symbolic_operand): Likewise.
+ (move_operand): Likewise.
+ (absolute_symbolic_operand): Likewise.
+ (got_disp_operand): Likewise.
+ (got_page_ofst_operand): Likewise.
+
+2007-08-08 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips-protos.h (SYMBOL_GENERAL): Rename to...
+ (SYMBOL_ABSOLUTE): ...this.
+ (SYMBOL_SMALL_DATA): Rename to...
+ (SYMBOL_GP_RELATIVE): ...this.
+ (SYMBOL_CONSTANT_POOL): Rename to...
+ (SYMBOL_PC_RELATIVE): ...this.
+ * config/mips/mips.c (mips_classify_symbol, mips_symbolic_constant_p)
+ (mips_symbolic_address_p, mips_symbol_insns, override_options)
+ (mips_rewrite_small_data_p, mips_use_anchors_for_symbol_p): Update
+ after above changes.
+ * config/mips/predicates.md (const_call_insn_operand): Likewise.
+ (general_symbolic_operand): Rename to...
+ (absolute_symbolic_operand): ...this.
+ * config/mips/mips.md: Update after above changes.
+
+2007-08-08 Vladimir Yanovsky <yanov@il.ibm.com>
+ Revital Eres <eres@il.ibm.com>
+
+ * ddg.c (print_ddg): Add dump information.
+ * modulo-sched.c (print_node_sched_params): Add parameter and
+ verbosity.
+ (calculate_maxii): Remove function.
+ (undo_generate_reg_moves): Likewise.
+ (undo_permute_partial_schedule): Likewise.
+ (kernel_number_of_cycles): Likewise.
+ (MAXII_FACTOR): New definition to calculate the upper bound of II.
+ (sms_schedule): Use it. Remove profitability checks.
+ (sms_schedule_by_order): Fix order of nodes within the cycle.
+
+2007-08-08 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * gcc/config/i386/gnu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add
+ -profile option, add pie support.
+ (ENDFILE_SPEC): New spec.
+ * gcc/config/gnu.h (LIB_SPEC): Add -profile option.
+
+2007-08-08 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * gcc/config/i386/gnu.h (CPP_SPEC): Add -pthread option.
+ * gcc/config/gnu.h (LIB_SPEC): Likewise.
+
+2007-08-07 Yaz Saito <saito@google.com>
+ Ian Lance Taylor <iant@google.com>
+
+ * common.opt (finstrument-functions-exclude-function-list): New
+ option.
+ (finstrument-functions-exclude-file-list): New option.
+ * opts.c (char_p): Define and DEF_VEC.
+ (flag_instrument_functions_exclude_functions): New static
+ variable.
+ (flag_instrument_functions_exclude_files): New static variable.
+ (add_instrument_functions_exclude_list): New static function.
+ (flag_instrument_functions_exclude_p): New function.
+ (common_handle_option): Handle new options.
+ * flags.h (flag_instrument_functions_exclude_p): Declare.
+ * gimplify.c (gimplify_function_tree): Call
+ flag_instrument_functions_exclude_p.
+ * doc/invoke.texi (Option Summary): Mention new options.
+ (Code Gen Options): Document new options.
+
+2007-08-07 Ian Lance Taylor <iant@google.com>
+
+ PR rtl-optimization/32776
+ * lower-subreg.c (resolve_clobber): Call resolve_reg_notes.
+ (resolve_use): Likewise.
+ (decompose_multiword_subregs): Remove "changed" local variable.
+
+2007-08-07 Carlos O'Donell <carlos@codesourcery.com>
+
+ * configure.ac: Define HAVE_GNU_AS if $gas_flag is yes.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * gcc.c [HAVE_GNU_AS]: Add "%{v} %{w:-W} %{I*} " to asm_options
+ spec string.
+
+2007-08-07 Ian Lance Taylor <iant@google.com>
+
+ * lower-subreg.c (resolve_clobber): If the clobber has a LIBCALL
+ note, just delete the insn.
+
+2007-08-07 Andreas Schwab <schwab@suse.de>
+
+ PR bootstrap/32973
+ * gengtype-lex.l: Ignore backslash/newline pair while scanning a
+ struct definition.
+
+2007-08-07 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * lower-subreg.c (resolve_subreg_use): Remove assertion.
+ (find_decomposable_shift_zext, resolve_shift_zext): New functions.
+ (decompose_multiword_subregs): Use the functions above to decompose
+ multiword shifts and zero-extends.
+
+2007-08-07 Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ * doc/sourcebuild.texi (Test Directives): Fix "compile" and
+ "assemble" descriptions which were swapped.
+
+2007-08-06 Chao-ying Fu <fu@mips.com>
+
+ * fixed-value.h: New file.
+ * fixed-value.c: New file.
+ * Makefile.in (OBJS-common): Add fixed-value.o.
+ (fixed-value.o): New rule.
+ (GTFILES): Add fixed-value.h.
+ * double-int.c (double_int_scmp): We should use unsigned HOST_WIDE_INT
+ to compare a.low and b.low.
+ * gengtype.c (main): Handle FIXED_VALUE_TYPE type as scalar typedef.
+
+2007-08-06 H.J. Lu <hongjiu.lu@intel.com>
+ Daniel Jacobowitz <dan@codesourcery.com>
+
+ PR target/31868
+ * config.gcc (x86_64-*-freebsd*): Add i386/t-crtstuff to
+ tmake_file.
+ (x86_64-*-netbsd*): Likewise.
+ (x86_64-*-linux*): Likewise.
+ (x86_64-*-kfreebsd*-gnu): Likewise.
+ (x86_64-*-knetbsd*-gnu): Likewise.
+ (i[34567]86-*-solaris2.1[0-9]*): Likewise.
+
+ * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Removed.
+
+ * config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Update comments.
+ Add -fno-asynchronous-unwind-tables.
+
+ * config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
+ * config/t-libc-ok (CRTSTUFF_T_CFLAGS_S): Likewise.
+ * config/t-lynx (CRTSTUFF_T_CFLAGS_S): Likewise.
+ * config/t-netbsd (CRTSTUFF_T_CFLAGS_S): Likewise.
+ * config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Likewise.
+
+2007-08-06 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_c_mode_for_suffix): New.
+ (TARGET_C_MODE_FOR_SUFFIX): New.
+
+2007-08-06 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/div.md (m2subrf4_cond): Change 'g' to 'G'.
+
+2007-08-06 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.h (MODES_TIEABLE_P): Fix typo.
+
+2007-08-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md: Check TARGET_ macros and optimize_size
+ before checking function returns in conditional expressions.
+
+2007-08-06 Alfred Minarik <a.minarik@aon.at>
+
+ PR pch/13676
+ * doc/invoke.texi: Add .hp, .hxx, .hpp, .h, .HPP, .tcc as c++ header.
+
+2008-08-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR middle-end/32988
+ * tree.c (build2_stat): Instead of checking for INTEGER_TYPE, check
+ for INTEGRAL_TYPE_P.
+
+2008-08-05 Paolo Bonzini <bonzini@gnu.org>
+
+ * configure.ac: Remove --enable-checking=df from default settings.
+ * tree-pass.h (TODO_df_verify): New. Shift TODO_mark_first_instance.
+ * df-core.c (df_finish_pass) [ENABLE_CHECKING]: Schedule verification
+ if the parameter is true.
+ (df_analyze) [!ENABLE_DF_CHECKING]: Also do verification if the
+ DF_VERIFY_SCHEDULED flag is true.
+ * df.h (enum df_changeable_flags): Add DF_VERIFY_SCHEDULED.
+ (df_finish_pass): Adjust prototype.
+ * passes.c (execute_todo): Schedule verification if TODO_df_verify is
+ true.
+
+ * see.c (pass_see): Add TODO_df_verify.
+ * loop-init.c (pass_rtl_move_loop_invariants): Add TODO_df_verify.
+ * global.c (rest_of_handle_global_alloc): Schedule verification
+ after the pass.
+ * local-alloc.c (rest_of_handle_local_alloc): Schedule verification
+ before the pass.
+ * function.c (pass_thread_prologue_and_epilogue): Add TODO_df_verify.
+ * gcse.c (rest_of_handle_gcse): Adjust call to df_finish_pass.
+ * loop-iv.c (iv_analysis_done): Schedule verification after the pass.
+
+ * config/sh/sh.c (sh_output_mi_thunk): Remove dead code.
+ * config/ia64/ia64.c (ia64_reorg): Adjust call to df_finish_pass.
+ * config/bfin/bfin.c (bfin_reorg): Adjust call to df_finish_pass.
+
+2007-08-05 Vladimir Yanovsky <yanov@il.ibm.com>
+ Revital Eres <eres@il.ibm.com>
+
+ * doc/invoke.texi (-fmodulo-sched-allow-regmoves): Document new
+ flag.
+ * ddg.c (create_ddg_dependence): Rename to...
+ (create_ddg_dep_from_intra_loop_link): This. Do not check
+ for interloop edges. Do not create anti dependence edge when
+ a true dependence edge exists in the opposite direction and
+ -fmodulo-sched-allow-regmoves is set.
+ (build_intra_loop_deps): Call create_ddg_dep_from_intra_loop_link.
+ (add_cross_iteration_register_deps): Create anti dependence edge
+ when -fno-modulo-sched-allow-regmoves is set.
+ * common.opt (-fmodulo-sched-allow-regmoves): New flag.
+
+2007-08-04 Richard Sandiford <richard@codesourcery.com>
+
+ * config/arm/arm.md (movsi): Add braces.
+
+2007-08-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR middle-end/32780
+ * fold-const.c (fold_binary <case MINUS_EXPR>): Fix the type of operands
+ for the folding of "A - (A & B)" into "~B & A"; cast them to type.
+
+2007-08-03 Zdenek Dvorak <ook@ucw.cz>
+
+ * tree-ssa-threadupdate.c (thread_through_all_blocks): Use loops' state
+ accessor functions.
+ * cfgloopmanip.c (remove_path, create_preheaders,
+ force_single_succ_latches, fix_loop_structure): Ditto.
+ * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
+ tree_duplicate_loop_to_header_edge): Ditto.
+ * cfgloopanal.c (mark_irreducible_loops): Ditto.
+ * loop-init.c (loop_optimizer_init, loop_optimizer_finalize):
+ Ditto.
+ * tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures,
+ cleanup_tree_cfg): Ditto.
+ * tree-cfg.c (tree_merge_blocks): Ditto.
+ * cfgloop.c (rescan_loop_exit, record_loop_exits,
+ release_recorded_exits, get_loop_exit_edges, verify_loop_structure,
+ loop_preheader_edge, single_exit): Ditto.
+ (flow_loops_find): Do not clear loops->state.
+ * cfgloop.h (loops_state_satisfies_p, loops_state_set,
+ loops_state_clear): New functions.
+
+2007-08-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR middle-end/32399
+ * tree-ssa-address.c (add_to_parts): Use POINTER_PLUS_EXPR
+ when adding to the base and convert ELT to sizetype instead of type.
+
+2007-08-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR middle-end/32304
+ * ipa-reference.c (has_proper_scope_for_analysis): Return false when
+ the decl's type has TYPE_NEEDS_CONSTRUCTING set.
+
+2007-08-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR middle-end/32935
+ * fold-convert.c (fold_negate_expr <NOP_EXPR>): Convert back to the
+ correct type the negate expression.
+
+2007-08-03 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (setup_incoming_varargs_64): Tolerate 64bit preferred
+ stack boundary.
+
+2007-08-03 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (struct processor_cost): Change
+ l1_cache_lines to l1_cache_size. Add l2_cache_size.
+ (*_cost): Convert l1 cache information to kilobytes. Add l2 cache
+ information.
+ (rios1_costs, rios2_cost): Correct cache line size.
+ (rs6000_override_options): Set l2-cache-size parameter.
+
+2007-08-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
+ Diego Novillo <dnovillo@google.com>
+
+ PR 31521
+ * tree-vrp.c (simplify_div_or_mod_using_ranges): Also simplify
+ if the range includes 0.
+
+2007-08-03 Ben Elliston <bje@au.ibm.com>
+
+ * config/spu/spu.md (dftsv, dftsv_celledp): Attach the appropriate
+ mode to unspec expressions to silence a warning from the generator
+ programs.
+
+2007-08-02 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/constraints.md ("U"): Make constraint vector only.
+
+2007-08-02 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR middle-end/25446
+ * c-objc-common.c (c_cannot_inline_tree_fn): Check for an
+ always_inline attribute on the function decl.
+
+2007-08-02 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR middle-end/25445
+ * varasm.c (default_binds_local_p_1): Consult flag_whole_program
+ if we are compiling with -fPIC.
+
+2007-08-02 Sandra Loosemore <sandra@codesourcery.com>
+ Nigel Stephens <nigel@mips.com>
+
+ * longlong.h [__mips__] (count_leading_zeros, COUNT_LEADING_ZEROS_0):
+ Define for MIPS32 and MIPS64.
+
+2007-08-02 Nick Clifton <nickc@redhat.com>
+
+ * config/host-hpux.c: Change copyright header to refer to version
+ 3 of the GNU General Public License and to point readers at the
+ COPYING3 file and the FSF's license web page.
+ * config/alpha/predicates.md, config/alpha/vms-ld.c,
+ config/alpha/linux.h, config/alpha/alpha.opt,
+ config/alpha/linux-elf.h, config/alpha/vms.h, config/alpha/elf.h,
+ config/alpha/vms-unwind.h, config/alpha/ev4.md,
+ config/alpha/ev6.md, config/alpha/alpha.c, config/alpha/vms-cc.c,
+ config/alpha/alpha.h, config/alpha/sync.md,
+ config/alpha/openbsd.h, config/alpha/alpha.md,
+ config/alpha/alpha-modes.def, config/alpha/ev5.md,
+ config/alpha/alpha-protos.h, config/alpha/freebsd.h,
+ config/alpha/osf5.h, config/alpha/netbsd.h, config/alpha/vms64.h,
+ config/alpha/constraints.md, config/alpha/osf.h,
+ config/alpha/xm-vms.h, config/alpha/unicosmk.h, config/linux.h,
+ config/frv/predicates.md, config/frv/frv.h, config/frv/linux.h,
+ config/frv/frv.md, config/frv/frv.opt, config/frv/frv-modes.def,
+ config/frv/frv-asm.h, config/frv/frv-protos.h,
+ config/frv/frv-abi.h, config/frv/frv.c, config/s390/tpf.h,
+ config/s390/s390.c, config/s390/predicates.md, config/s390/s390.h,
+ config/s390/linux.h, config/s390/tpf.md, config/s390/tpf.opt,
+ config/s390/2064.md, config/s390/2084.md, config/s390/s390.md,
+ config/s390/s390.opt, config/s390/s390-modes.def,
+ config/s390/fixdfdi.h, config/s390/constraints.md,
+ config/s390/s390-protos.h, config/s390/s390x.h, config/elfos.h,
+ config/dbxcoff.h, config/m32c/predicates.md, config/m32c/cond.md,
+ config/m32c/m32c.c, config/m32c/minmax.md, config/m32c/blkmov.md,
+ config/m32c/m32c-pragma.c, config/m32c/m32c.h,
+ config/m32c/prologue.md, config/m32c/m32c.abi,
+ config/m32c/muldiv.md, config/m32c/bitops.md, config/m32c/mov.md,
+ config/m32c/addsub.md, config/m32c/m32c.md, config/m32c/m32c.opt,
+ config/m32c/t-m32c, config/m32c/m32c-modes.def,
+ config/m32c/jump.md, config/m32c/shift.md,
+ config/m32c/m32c-protos.h, config/libgloss.h,
+ config/spu/spu-protos.h, config/spu/predicates.md,
+ config/spu/spu-builtins.h, config/spu/spu.c,
+ config/spu/spu-builtins.def, config/spu/spu-builtins.md,
+ config/spu/spu.h, config/spu/spu-elf.h, config/spu/constraints.md,
+ config/spu/spu.md, config/spu/spu-c.c, config/spu/spu.opt,
+ config/spu/spu-modes.def, config/spu/t-spu-elf, config/interix.h,
+ config/sparc/hypersparc.md, config/sparc/predicates.md,
+ config/sparc/linux.h, config/sparc/sp64-elf.h,
+ config/sparc/supersparc.md, config/sparc/cypress.md,
+ config/sparc/openbsd1-64.h, config/sparc/openbsd64.h,
+ config/sparc/niagara.md, config/sparc/sparc.md,
+ config/sparc/long-double-switch.opt, config/sparc/ultra3.md,
+ config/sparc/sparc.opt, config/sparc/sync.md,
+ config/sparc/sp-elf.h, config/sparc/sparc-protos.h,
+ config/sparc/ultra1_2.md, config/sparc/biarch64.h,
+ config/sparc/sparc.c, config/sparc/little-endian.opt,
+ config/sparc/sysv4-only.h, config/sparc/sparc.h,
+ config/sparc/linux64.h, config/sparc/freebsd.h,
+ config/sparc/sol2.h, config/sparc/rtemself.h,
+ config/sparc/netbsd-elf.h, config/sparc/vxworks.h,
+ config/sparc/sparc-modes.def, config/sparc/sparclet.md,
+ config/sparc/sysv4.h, config/vx-common.h, config/netbsd-aout.h,
+ config/flat.h, config/m32r/m32r.md, config/m32r/predicates.md,
+ config/m32r/little.h, config/m32r/m32r.c, config/m32r/m32r.opt,
+ config/m32r/linux.h, config/m32r/constraints.md,
+ config/m32r/m32r.h, config/m32r/m32r-protos.h, config/vxworks.opt,
+ config/darwin-c.c, config/darwin.opt, config/i386/i386.h,
+ config/i386/cygming.h, config/i386/linux.h, config/i386/cygwin.h,
+ config/i386/i386.md, config/i386/netware-crt0.c,
+ config/i386/sco5.h, config/i386/mmx.md, config/i386/vx-common.h,
+ config/i386/kaos-i386.h, config/i386/winnt-stubs.c,
+ config/i386/netbsd64.h, config/i386/djgpp.h, config/i386/gas.h,
+ config/i386/sol2.h, config/i386/constraints.md,
+ config/i386/netware-libgcc.c, config/i386/sysv5.h,
+ config/i386/predicates.md, config/i386/geode.md,
+ config/i386/x86-64.h, config/i386/kfreebsd-gnu.h,
+ config/i386/freebsd64.h, config/i386/vxworksae.h,
+ config/i386/pentium.md, config/i386/lynx.h, config/i386/i386elf.h,
+ config/i386/rtemself.h, config/i386/netbsd-elf.h,
+ config/i386/ppro.md, config/i386/k6.md, config/i386/netware.c,
+ config/i386/netware.h, config/i386/i386-modes.def,
+ config/i386/sysv4-cpp.h, config/i386/i386-interix.h,
+ config/i386/cygwin1.c, config/i386/djgpp.opt, config/i386/uwin.h,
+ config/i386/unix.h, config/i386/ptx4-i.h, config/i386/xm-djgpp.h,
+ config/i386/att.h, config/i386/winnt.c, config/i386/beos-elf.h,
+ config/i386/sol2-10.h, config/i386/darwin64.h, config/i386/sse.md,
+ config/i386/i386.opt, config/i386/bsd.h, config/i386/cygming.opt,
+ config/i386/xm-mingw32.h, config/i386/linux64.h,
+ config/i386/openbsdelf.h, config/i386/xm-cygwin.h,
+ config/i386/sco5.opt, config/i386/darwin.h, config/i386/mingw32.h,
+ config/i386/winnt-cxx.c, config/i386/i386-interix3.h,
+ config/i386/nwld.c, config/i386/nwld.h, config/i386/host-cygwin.c,
+ config/i386/cygwin2.c, config/i386/i386-protos.h,
+ config/i386/sync.md, config/i386/openbsd.h,
+ config/i386/host-mingw32.c, config/i386/i386-aout.h,
+ config/i386/nto.h, config/i386/biarch64.h,
+ config/i386/i386-coff.h, config/i386/freebsd.h,
+ config/i386/driver-i386.c, config/i386/knetbsd-gnu.h,
+ config/i386/host-i386-darwin.c, config/i386/vxworks.h,
+ config/i386/crtdll.h, config/i386/i386.c, config/i386/sysv4.h,
+ config/darwin-protos.h, config/linux.opt, config/sol2.c,
+ config/sol2.h, config/sh/symbian.c, config/sh/sh-protos.h,
+ config/sh/linux.h, config/sh/elf.h, config/sh/superh.h,
+ config/sh/sh4.md, config/sh/coff.h, config/sh/newlib.h,
+ config/sh/embed-elf.h, config/sh/symbian-pre.h, config/sh/rtems.h,
+ config/sh/kaos-sh.h, config/sh/sh4a.md, config/sh/constraints.md,
+ config/sh/sh64.h, config/sh/sh.opt, config/sh/symbian-post.h,
+ config/sh/sh-c.c, config/sh/predicates.md, config/sh/sh.c,
+ config/sh/sh.h, config/sh/shmedia.md, config/sh/sh-modes.def,
+ config/sh/little.h, config/sh/sh1.md, config/sh/sh4-300.md,
+ config/sh/superh64.h, config/sh/rtemself.h,
+ config/sh/netbsd-elf.h, config/sh/sh.md, config/sh/vxworks.h,
+ config/usegas.h, config/svr3.h, config/pdp11/pdp11-protos.h,
+ config/pdp11/2bsd.h, config/pdp11/pdp11.md, config/pdp11/pdp11.c,
+ config/pdp11/pdp11.opt, config/pdp11/pdp11-modes.def,
+ config/pdp11/pdp11.h, config/avr/rtems.h, config/avr/avr-protos.h,
+ config/avr/predicates.md, config/avr/constraints.md,
+ config/avr/avr.md, config/avr/avr.c, config/avr/avr.opt,
+ config/avr/avr.h, config/sol2-protos.h, config/dbxelf.h,
+ config/lynx.opt, config/crx/crx.h, config/crx/crx-protos.h,
+ config/crx/crx.md, config/crx/crx.c, config/crx/crx.opt,
+ config/c4x/c4x-c.c, config/c4x/c4x.c, config/c4x/c4x.opt,
+ config/c4x/c4x-modes.def, config/c4x/rtems.h,
+ config/c4x/predicates.md, config/c4x/c4x.h,
+ config/c4x/c4x-protos.h, config/c4x/c4x.md, config/kfreebsd-gnu.h,
+ config/xtensa/predicates.md, config/xtensa/xtensa.c,
+ config/xtensa/linux.h, config/xtensa/xtensa.h,
+ config/xtensa/elf.h, config/xtensa/xtensa.md,
+ config/xtensa/xtensa.opt, config/xtensa/constraints.md,
+ config/xtensa/xtensa-protos.h, config/dbx.h,
+ config/stormy16/predicates.md, config/stormy16/stormy16.md,
+ config/stormy16/stormy16.c, config/stormy16/stormy16.opt,
+ config/stormy16/stormy16.h, config/stormy16/stormy16-protos.h,
+ config/host-solaris.c, config/fr30/fr30.h,
+ config/fr30/predicates.md, config/fr30/fr30-protos.h,
+ config/fr30/fr30.md, config/fr30/fr30.c, config/fr30/fr30.opt,
+ config/vxworksae.h, config/sol2-c.c, config/lynx.h,
+ config/m68hc11/m68hc11-protos.h, config/m68hc11/predicates.md,
+ config/m68hc11/m68hc11.md, config/m68hc11/m68hc11.c,
+ config/m68hc11/m68hc11.opt, config/m68hc11/m68hc11.h,
+ config/m68hc11/m68hc12.h, config/openbsd-oldgas.h,
+ config/host-linux.c, config/interix3.h, config/cris/cris.c,
+ config/cris/predicates.md, config/cris/linux.h,
+ config/cris/cris.h, config/cris/aout.h, config/cris/cris.md,
+ config/cris/linux.opt, config/cris/cris.opt, config/cris/elf.opt,
+ config/cris/aout.opt, config/cris/cris-protos.h,
+ config/vxworks-dummy.h, config/netbsd.h, config/netbsd-elf.h,
+ config/iq2000/iq2000.h, config/iq2000/predicates.md,
+ config/iq2000/iq2000-protos.h, config/iq2000/iq2000.md,
+ config/iq2000/iq2000.c, config/iq2000/iq2000.opt,
+ config/host-darwin.c, config/mt/mt.md, config/mt/mt.c,
+ config/mt/mt.opt, config/mt/t-mt, config/mt/mt.h,
+ config/mt/mt-protos.h, config/svr4.h, config/host-darwin.h,
+ config/chorus.h, config/mn10300/mn10300.c,
+ config/mn10300/mn10300.opt, config/mn10300/predicates.md,
+ config/mn10300/mn10300.h, config/mn10300/linux.h,
+ config/mn10300/constraints.md, config/mn10300/mn10300-protos.h,
+ config/mn10300/mn10300.md, config/ia64/predicates.md,
+ config/ia64/itanium1.md, config/ia64/unwind-ia64.h,
+ config/ia64/ia64-c.c, config/ia64/sync.md, config/ia64/ia64.c,
+ config/ia64/itanium2.md, config/ia64/ia64.h, config/ia64/vect.md,
+ config/ia64/freebsd.h, config/ia64/ia64.md,
+ config/ia64/ia64-modes.def, config/ia64/constraints.md,
+ config/ia64/hpux.h, config/ia64/ia64-protos.h, config/windiss.h,
+ config/gofast.h, config/rtems.h, config/sol2-10.h,
+ config/m68k/predicates.md, config/m68k/m68k.md,
+ config/m68k/linux.h, config/m68k/m68k-modes.def,
+ config/m68k/print-sysroot-suffix.sh, config/m68k/m68k-protos.h,
+ config/m68k/coff.h, config/m68k/m68k-none.h, config/m68k/ieee.opt,
+ config/m68k/openbsd.h, config/m68k/m68k-aout.h,
+ config/m68k/m68k.opt, config/m68k/m68020-elf.h,
+ config/m68k/m68kelf.h, config/m68k/m68k-devices.def,
+ config/m68k/uclinux-oldabi.h, config/m68k/m68k.c,
+ config/m68k/constraints.md, config/m68k/rtemself.h,
+ config/m68k/netbsd-elf.h, config/m68k/m68k.h,
+ config/m68k/uclinux.h, config/rs6000/power4.md,
+ config/rs6000/host-darwin.c, config/rs6000/6xx.md,
+ config/rs6000/linux.h, config/rs6000/eabi.h,
+ config/rs6000/aix41.opt, config/rs6000/xcoff.h,
+ config/rs6000/secureplt.h, config/rs6000/linuxspe.h,
+ config/rs6000/eabialtivec.h, config/rs6000/8540.md,
+ config/rs6000/darwin8.h, config/rs6000/kaos-ppc.h,
+ config/rs6000/windiss.h, config/rs6000/603.md,
+ config/rs6000/aix41.h, config/rs6000/cell.md,
+ config/rs6000/mpc.md, config/rs6000/aix43.h, config/rs6000/beos.h,
+ config/rs6000/gnu.h, config/rs6000/rtems.h, config/rs6000/aix.opt,
+ config/rs6000/darwin.md, config/rs6000/darwin64.h,
+ config/rs6000/default64.h, config/rs6000/7xx.md,
+ config/rs6000/darwin.opt, config/rs6000/spe.md,
+ config/rs6000/rs6000.opt, config/rs6000/rs6000-c.c,
+ config/rs6000/rios2.md, config/rs6000/linuxaltivec.h,
+ config/rs6000/7450.md, config/rs6000/linux64.h,
+ config/rs6000/constraints.md, config/rs6000/440.md,
+ config/rs6000/darwin.h, config/rs6000/host-ppc64-darwin.c,
+ config/rs6000/rs6000.c, config/rs6000/aix52.h,
+ config/rs6000/rs6000.h, config/rs6000/power6.md,
+ config/rs6000/predicates.md, config/rs6000/altivec.md,
+ config/rs6000/aix64.opt, config/rs6000/rios1.md,
+ config/rs6000/rs6000-modes.def, config/rs6000/rs64.md,
+ config/rs6000/eabisim.h, config/rs6000/sysv4le.h,
+ config/rs6000/darwin7.h, config/rs6000/dfp.md,
+ config/rs6000/linux64.opt, config/rs6000/sync.md,
+ config/rs6000/vxworksae.h, config/rs6000/power5.md,
+ config/rs6000/lynx.h, config/rs6000/biarch64.h,
+ config/rs6000/rs6000.md, config/rs6000/sysv4.opt,
+ config/rs6000/eabispe.h, config/rs6000/e500.h,
+ config/rs6000/freebsd.h, config/rs6000/rs6000-protos.h,
+ config/rs6000/netbsd.h, config/rs6000/e500-double.h,
+ config/rs6000/aix.h, config/rs6000/vxworks.h,
+ config/rs6000/40x.md, config/rs6000/aix51.h,
+ config/rs6000/sysv4.h, config/arc/arc-protos.h, config/arc/arc.md,
+ config/arc/arc.c, config/arc/arc.opt, config/arc/arc-modes.def,
+ config/arc/arc.h, config/mcore/mcore-elf.h,
+ config/mcore/mcore-protos.h, config/mcore/predicates.md,
+ config/mcore/mcore.md, config/mcore/mcore.c,
+ config/mcore/mcore.opt, config/mcore/mcore.h,
+ config/mcore/mcore-pe.h, config/darwin.c, config/freebsd-nthr.h,
+ config/score/predicates.md, config/score/score-version.h,
+ config/score/score-protos.h, config/score/misc.md,
+ config/score/elf.h, config/score/score.c, config/score/mac.md,
+ config/score/score7.md, config/score/score.h,
+ config/score/score-conv.h, config/score/score-mdaux.c,
+ config/score/score.md, config/score/score.opt,
+ config/score/score-modes.def, config/score/score-mdaux.h,
+ config/score/mul-div.S, config/arm/uclinux-elf.h,
+ config/arm/semi.h, config/arm/ecos-elf.h, config/arm/arm1020e.md,
+ config/arm/symbian.h, config/arm/linux-elf.h,
+ config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
+ config/arm/elf.h, config/arm/aout.h, config/arm/arm.c,
+ config/arm/thumb2.md, config/arm/vec-common.md, config/arm/coff.h,
+ config/arm/strongarm-pe.h, config/arm/arm.h,
+ config/arm/cortex-a8-neon.md, config/arm/semiaof.h,
+ config/arm/cortex-a8.md, config/arm/uclinux-eabi.h,
+ config/arm/arm-modes.def, config/arm/linux-eabi.h,
+ config/arm/rtems-elf.h, config/arm/neon-schedgen.ml,
+ config/arm/arm-cores.def, config/arm/arm-protos.h,
+ config/arm/vfp.md, config/arm/aof.h, config/arm/linux-gas.h,
+ config/arm/wince-pe.h, config/arm/neon.md,
+ config/arm/constraints.md, config/arm/neon.ml,
+ config/arm/xscale-elf.h, config/arm/strongarm-coff.h,
+ config/arm/arm.opt, config/arm/arm926ejs.md,
+ config/arm/predicates.md, config/arm/iwmmxt.md,
+ config/arm/arm_neon.h, config/arm/unknown-elf.h,
+ config/arm/kaos-arm.h, config/arm/bpabi.h, config/arm/pe.opt,
+ config/arm/neon-testgen.ml, config/arm/arm.md,
+ config/arm/xscale-coff.h, config/arm/pe.c,
+ config/arm/arm-generic.md, config/arm/pe.h,
+ config/arm/kaos-strongarm.h, config/arm/freebsd.h,
+ config/arm/neon-docgen.ml, config/arm/netbsd.h, config/arm/fpa.md,
+ config/arm/strongarm-elf.h, config/arm/cirrus.md,
+ config/arm/netbsd-elf.h, config/arm/vxworks.h,
+ config/arm/neon-gen.ml, config/kaos.h, config/darwin-driver.c,
+ config/pa/predicates.md, config/pa/pa64-hpux.h,
+ config/pa/pa-hpux.opt, config/pa/som.h, config/pa/pa-hpux1010.opt,
+ config/pa/pa-hpux1111.opt, config/pa/pa-pro-end.h,
+ config/pa/elf.h, config/pa/fptr.c, config/pa/pa64-linux.h,
+ config/pa/pa.md, config/pa/pa.opt, config/pa/pa-hpux.h,
+ config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
+ config/pa/pa-hpux1010.h, config/pa/pa-protos.h,
+ config/pa/pa-osf.h, config/pa/pa-hpux1111.h, config/pa/pa-64.h,
+ config/pa/milli64.S, config/pa/pa.c, config/pa/pa-linux.h,
+ config/pa/pa.h, config/pa/pa32-linux.h, config/pa/pa64-hpux.opt,
+ config/pa/pa64-regs.h, config/pa/pa-modes.def,
+ config/pa/constraints.md, config/darwin9.h, config/mips/4100.md,
+ config/mips/linux.h, config/mips/elfoabi.h, config/mips/elf.h,
+ config/mips/sdb.h, config/mips/windiss.h, config/mips/rtems.h,
+ config/mips/3000.md, config/mips/iris5.h, config/mips/5000.md,
+ config/mips/7000.md, config/mips/9000.md, config/mips/4600.md,
+ config/mips/linux64.h, config/mips/elforion.h,
+ config/mips/constraints.md, config/mips/generic.md,
+ config/mips/predicates.md, config/mips/4300.md,
+ config/mips/mips-ps-3d.md, config/mips/iris.h, config/mips/24k.md,
+ config/mips/mips.md, config/mips/mips.opt, config/mips/4k.md,
+ config/mips/5k.md, config/mips/vr4120-div.S,
+ config/mips/openbsd.h, config/mips/iris6.h, config/mips/4000.md,
+ config/mips/mips-protos.h, config/mips/6000.md,
+ config/mips/mips.c, config/mips/mips.h, config/mips/r3900.h,
+ config/mips/74k.md, config/mips/netbsd.h, config/mips/vxworks.h,
+ config/mips/mips-modes.def, config/mips/vr.h,
+ config/soft-fp/t-softfp, config/openbsd.h, config/ptx4.h,
+ config/freebsd-spec.h, config/vax/vax.c, config/vax/openbsd.h,
+ config/vax/vax.h, config/vax/elf.h, config/vax/vax.md,
+ config/vax/bsd.h, config/vax/vax.opt, config/vax/vax-modes.def,
+ config/vax/openbsd1.h, config/vax/netbsd.h,
+ config/vax/vax-protos.h, config/vax/netbsd-elf.h,
+ config/vax/vaxv.h, config/vax/ultrix.h, config/freebsd.h,
+ config/h8300/rtems.h, config/h8300/predicates.md,
+ config/h8300/h8300.c, config/h8300/h8300.h, config/h8300/elf.h,
+ config/h8300/h8300.md, config/h8300/h8300.opt,
+ config/h8300/coff.h, config/h8300/h8300-protos.h,
+ config/v850/v850.md, config/v850/predicates.md,
+ config/v850/v850-c.c, config/v850/v850.c, config/v850/v850.opt,
+ config/v850/v850.h, config/v850/v850-protos.h, config/vxworks.c,
+ config/knetbsd-gnu.h, config/sol2-6.h, config/vxworks.h,
+ config/mmix/mmix.h, config/mmix/predicates.md,
+ config/mmix/mmix-protos.h, config/mmix/mmix.md,
+ config/mmix/mmix.c, config/mmix/mmix.opt,
+ config/mmix/mmix-modes.def, config/bfin/bfin.opt,
+ config/bfin/rtems.h, config/bfin/bfin-modes.def,
+ config/bfin/predicates.md, config/bfin/bfin-protos.h,
+ config/bfin/bfin.c, config/bfin/bfin.h, config/bfin/bfin.md:
+ Likewise.
+
+2007-08-02 Richard Sandiford <richard@codesourcery.com>
+
+ * emit-rtl.c (reset_used_decls): Rename to...
+ (set_used_decls): ...this. Set the used flag rather than clearing it.
+ (unshare_all_rtl_again): Update accordingly. Set flags on argument
+ DECL_RTLs rather than resetting them.
+
+2007-08-02 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.md ("*xordi3_cconly"): Change xr to xg.
+
+2007-08-01 Sandra Loosemore <sandra@codesourcery.com>
+
+ * reload.c (find_reloads_address_part): Pass correct MEMREFLOC
+ argument to find_reloads_address.
+
+2007-08-01 Daniel Jacobowitz <dan@codesourcery.com>
+
+ PR tree-optimization/32919
+ * tree-ssa-sccvn.c (visit_phi): Do not visit abnormal PHIs.
+ * tree-ssa-coalesce.c (ssa_conflicts_dump): New.
+ (coalesce_ssa_name): Call it.
+
+2007-08-01 Sandra Loosemore <sandra@codesourcery.com>
+ David Ung <davidu@mips.com>
+
+ * config/mips/mips16.S (__mips16_unordsf2, __mips16_floatunsisf): New.
+ (__mips16_unorddf2, __mips16_floatunsidf): New.
+ * config/mips/mips.c (mips_init_libfuncs): Add optab entries for
+ above functions.
+ * config/mips/t-libgcc-mips16 (LIB1ASMFUNCS): Add new functions.
+
+2007-08-01 Zdenek Dvorak <ook@ucw.cz>
+
+ * tree-pretty-print.c (dump_generic_node): Dump OMP_SECTIONS_SWITCH.
+ Display new operands of OMP_SECTIONS and OMP_CONTINUE.
+ * tree.h (OMP_SECTIONS_CONTROL): New macro.
+ (OMP_DIRECTIVE_P): Add OMP_SECTIONS_SWITCH.
+ * omp-low.c (get_ws_args_for, determine_parallel_type,
+ expand_omp_for_generic, expand_omp_for_static_nochunk,
+ expand_omp_for_static_chunk, expand_omp_for, expand_omp_sections):
+ Work with more precise CFG.
+ (build_omp_regions_1): Handle OMP_SECTIONS_SWITCH.
+ (lower_omp_sections): Emit OMP_SECTIONS_SWITCH. Add arguments to
+ OMP_CONTINUE.
+ * tree-gimple.c (is_gimple_stmt): Handle OMP_SECTIONS_SWITCH.
+ * gimple-low.c (lower_stmt): Ditto.
+ * tree-inline.c (estimate_num_insns_1): Ditto.
+ * tree.def (OMP_SECTIONS, OMP_CONTINUE): Added new operands.
+ (OMP_SECTIONS_SWITCH): New.
+ * tree-cfgcleanup.c (cleanup_omp_return): New.
+ (cleanup_tree_cfg_bb): Call cleanup_omp_return.
+ * tree-cfg.c (make_edges): Create back edges for OMP_CONTINUE
+ and exit edge for OMP_FOR. Handle OMP_SECTIONS_SWITCH.
+ (tree_redirect_edge_and_branch): Handle omp constructs.
+
+ * fortran/trans-openmp.c (gfc_trans_omp_sections): Build OMP_SECTIONS
+ with three arguments.
+
+2007-08-01 Zdenek Dvorak <ook@ucw.cz>
+
+ * tree-cfg.c (tree_merge_blocks): Preserve loop exit phi nodes only
+ in loop closed ssa.
+
+2007-08-01 Zdenek Dvorak <ook@ucw.cz>
+
+ * tree-ssa-threadupdate.c (thread_through_all_blocks): Record that
+ the loop structures may need fixing.
+ * tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
+ New functions.
+ (cleanup_tree_cfg_loop): Removed.
+ (cleanup_tree_cfg): If loops need fixing, call repair_loop_structures.
+ * tree-predcom.c (tree_predictive_commoning): Return TODO_cleanup_cfg
+ instead of running cleanup_tree_cfg_loop.
+ * cfgloop.h (LOOPS_NEED_FIXUP): New constant.
+ * tree-flow.h (cleanup_tree_cfg_loop): Declaration removed.
+ (tree_predictive_commoning): Declaration changed.
+ * passes.c (execute_function_todo): Do not use cleanup_tree_cfg_loop.
+
+2007-08-01 Zdenek Dvorak <ook@ucw.cz>
+
+ * doc/invoke.texi (l1-cache-size): Update documentation.
+ (l2-cache-size): Document.
+ * params.h (L2_CACHE_SIZE): New macro.
+ * tree-ssa-loop-prefetch.c (L1_CACHE_SIZE_BYTES): Reflect
+ that L1_CACHE_SIZE is in kB now.
+ (L2_CACHE_SIZE_BYTES): New macro.
+ (tree_ssa_prefetch_arrays): Show size in kB.
+ * config/i386/i386.h (struct processor_costs): Add l1_cache_size
+ and l2_cache_size fields.
+ * config/i386/driver-i386.c (describe_cache): Detect cache size
+ in kB.
+ * config/i386/i386.c (size_cost, i386_cost, i486_cost,pentium_cost,
+ pentiumpro_cost, geode_cost, k6_cost, athlon_cost, k8_cost,
+ amdfam10_cost, pentium4_cost, nocona_cost, core2_cost,
+ generic64_cost, generic32_cost): Add l1_cache_size and l2_cache_size.
+ (override_options): Set l1-cache-size and l2-cache-size to default
+ values if not specified otherwise.
+ * params.def (PARAM_L1_CACHE_SIZE): Change to set in kB.
+ (PARAM_L2_CACHE_SIZE): New.
+
+2007-08-01 Nigel Stephens <nigel@mips.com>
+ David Ung <davidu@mips.com>
+ Thiemo Seufer <ths@mips.com>
+ Chris Dearman <chris@mips.com>
+ Richard Sandiford <richard@codesourcery.com>
+
+ * config.gcc (mips*-sde-elf*): New stanza.
+ (mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
+ (mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
+ (mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*, mips-*-elf*)
+ (mipsel-*-elf*, mips64-*-elf*, mips64el-*-elf*, mips64orion-*-elf*)
+ (mips64orionel-*-elf*, mips*-*-rtems*, mips-wrs-windiss)
+ (mipstx39-*-elf*, mipstx39el-*-elf*): Add mips/t-libgcc-mips16
+ to tmake_file.
+ * config/mips/sde.h: New file.
+ * config/mips/t-libgcc-mips16: Likewise.
+ * config/mips/t-sde: Likewise.
+ * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Remove settings
+ of _ABIN32, _ABI64, _ABIO32, _MIPS_SIM, _MIPS_SZLONG, _MIPS_SZPTR,
+ _MIPS_FPSET and _MIPS_SZINT.
+ * config/mips/iris.h (TARGET_OS_CPP_BUILTINS): Likewise.
+ * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Remove separate
+ insertion of a default -mips option. Use MIPS_32BIT_OPTION_SPEC.
+ * config/mips/t-isa3264 (LIB1ASMSRC, LIB1ASMFUNCS): Delete.
+ * config/mips/t-r3900 (LIB1ASMSRC, LIB1ASMFUNCS): Likewise.
+ * config/mips/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Likewise.
+ * config/mips/mips.h (TARGET_CPU_CPP_BUITINS): Define _ABIO32,
+ _ABIN32, _ABI64, _ABIO64, _MIPS_SIM, _MIPS_SZINT, _MIPS_SZLONG,
+ _MIPS_SZPTR and _MIPS_FPSET.
+ (MIPS_ISA_LEVEL_SPEC): Inject the default -mips option if no
+ architecture is specified.
+ (MIPS_32BIT_OPTION_SPEC): New macro.
+
+2007-07-31 Dan Hipschman <dsh@google.com>
+
+ * gcc.c (end_going_arg): New function.
+ (do_spec_2): Use it.
+ (do_spec_1): Use it.
+
+2007-07-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ddg.c (add_cross_iteration_register_deps): Declare bb_info
+ only if ENABLE_CHECKING is defined.
+
+2007-07-31 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * df.h (DF_RU, DF_RU_BB_INFO, df_ru_bb_info, df_ru,
+ df_ru_add_problem, df_ru_get_bb_info): Removed.
+ (DF_RD, DF_UREC, DF_CHAIN, DF_NOTE): Renumbered.
+ * df-problems.c (df_ru_problem_data, df_ru_set_bb_info,
+ df_ru_free_bb_info, df_ru_alloc,
+ df_ru_bb_local_compute_process_def,
+ df_ru_bb_local_compute_process_use, df_ru_bb_local_compute,
+ df_ru_local_compute, df_ru_init_solution, df_ru_confluence_n,
+ df_ru_transfer_function, df_ru_free, df_ru_start_dump,
+ df_ru_top_dump, df_ru_bottom_dump, df_problem problem_RU,
+ df_ru_add_problem): Removed.
+
+2007-07-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/32847
+ * pa.md (casesi32): Use match_scratch. Revise insn condition.
+ (casesi32p, casesi64p): Likewise.
+ (casesi): Adjust for above.
+
+2007-07-31 Richard Sandiford <richard@codesourcery.com>
+
+ * mode-switching.c (create_pre_exit): Don't search past calls.
+
+2007-07-31 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/mips/mips.h (ISA_HAS_SYNCI): Add !TARGET_MIPS16 test.
+
+2007-07-31 Revital Eres <eres@il.ibm.com>
+
+ * ddg.c (add_deps_for_def): Rename to...
+ (add_cross_iteration_register_deps): This. Change implementation
+ to use only reaching def and def-use chains to construct the
+ inter loop dependencies.
+ (add_deps_for_use): Remove function.
+ (build_inter_loop_deps): Call add_cross_iteration_register_deps
+ function to build the inter loop dependencies.
+ * modulo-sched.c (sms_schedule): Build only
+ reaching def and def-use chains for the propose of the ddg
+ construction.
+
+2007-07-31 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/neon.md (vec_set<mode>_internal, vec_setv2di_internal):
+ New define_insns. Use correct RTL.
+ (vec_set<mode>): Write as expander.
+
+2007-07-31 Razya Ladelsky <razya@il.ibm.com>
+
+ * matrix-reorg.c (analyze_matrix_allocation_site): Avoid referring
+ to an unallocated space.
+
+2007-07-30 Jan Sjodin <jan.sjodin@amd.com>
+
+ * tree-data-ref.c
+ (split_constant_offset): Enable split_constant_offset to extract
+ constants from other statements.
+ * tree-vect-transform.c
+ (vect_create_addr_base_for_vector_ref): Generate data_ref_base
+ to a temp var. Force base_offset to be simple.
+
2007-07-30 Seongbae Park <seongbae.park@gmail.com>
* df-scan.c (df_scan_verify): Remove artificial limit on
* doc/invoke.texi: Follow spelling conventions.
2007-07-29 Vladimir Yanovsky <yanov@il.ibm.com>
- Revital Eres <eres@il.ibm.com>
+ Revital Eres <eres@il.ibm.com>
* modulo-sched.c (sms_schedule): Avoid loops which includes
auto-increment instructions.
2007-07-16 Sandra Loosemore <sandra@codesourcery.com>
David Ung <davidu@mips.com>
- * config/mips/mips.h (TUNE_24K): Define.
+ * config/mips/mips.h (TUNE_24K): Define.
(TUNE_MACC_CHAINS): Add TUNE_24K.
- * config/mips/mips.md: (*mul_acc_si, *mul_sub_si): Change type to
- imadd.
- * config/mips/74k.md (r74k_int_mult): Split madd/msub to ..
- (r74k_int_madd): .. this new reservation.
- (define_bypass): Fixed bypasses for r74k_int_madd to use
+ * config/mips/mips.md: (*mul_acc_si, *mul_sub_si): Change type to
+ imadd.
+ * config/mips/74k.md (r74k_int_mult): Split madd/msub to ..
+ (r74k_int_madd): .. this new reservation.
+ (define_bypass): Fixed bypasses for r74k_int_madd to use
mips_linked_madd_p.
- * config/mips/24k.md (define_bypass): Define new
- r24k_int_mul3->r24k_int_madd bypass using mips_linked_madd_p.
+ * config/mips/24k.md (define_bypass): Define new
+ r24k_int_mul3->r24k_int_madd bypass using mips_linked_madd_p.
2007-07-16 Sandra Loosemore <sandra@codesourcery.com>
Nigel Stephens <nigel@mips.com>
* doc/tm.texi (DOLLARS_IN_IDENTIFIERS): Update.
2007-07-06 Ian Lance Taylor <iant@google.com>
- Zack Weinberg <zackw@panix.com>
+ Zack Weinberg <zackw@panix.com>
PR middle-end/32441
* builtins.c (std_expand_builtin_va_start): Don't use make_tree.
after \.
2007-07-04 David Ung <davidu@mips.com>
- Joseph Myers <joseph@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
* config/mips/mips.md (type): Add logical, signext and move.
(one_cmpl<mode>2, *and<mode>3, *and<mode>3_mips16, *ior<mode>3,
2007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
- * tree.def (VEC_WIDEN_MULT_LO_EXPR): Corrected string name.
+ * tree.def (VEC_WIDEN_MULT_LO_EXPR): Corrected string name.
2007-06-26 Steve Ellcey <sje@cup.hp.com>
2007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
- * df-problems.c (df_note_bb_compute): Made computation of live
+ * df-problems.c (df_note_bb_compute): Made computation of live
info consistent with df_lr.
2007-06-21 Richard Guenther <rguenther@suse.de>
(epilogue_reit): Rename to epilogue_reit_24.
2007-06-20 Seongbae Park <seongbae.park@gmail.com>
- Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+ Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
* dbgcnt.def (global_alloc_at_func, global_alloc_at_reg):
New counters.
(Intel 386 and AMD x86_64 Options): Document -mrecip.
2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
- Zdenek Dvorak <dvorakz@suse.cz>
- Richard Guenther <rguenther@suse.de>
- Kaz Kojima <kkojima@gcc.gnu.org>
+ Zdenek Dvorak <dvorakz@suse.cz>
+ Richard Guenther <rguenther@suse.de>
+ Kaz Kojima <kkojima@gcc.gnu.org>
* tree-vrp.c (compare_values_warnv): Convert val2 to
the type of val1.
(vect_estimate_min_profitable_iterations): New function to estimate
mimimimum iterartions required for vector version of loop to be
profitable over scalar version.
- (vect_model_reduction_cost): New function.
+ (vect_model_reduction_cost): New function.
(vect_model_induction_cost): New function.
(vect_model_simple_cost): New function.
(vect_cost_strided_group_size): New function.
* langhooks.h (struct lang_hooks): Removed field
'can_use_bit_fields_p'.
-2007-01-10 Ralf CorsÃ\83©pius <ralf.corsepius@rtems.org>
+2007-01-10 Ralf Corsépius <ralf.corsepius@rtems.org>
* config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
* config/frv/predicates.md (reg_or_0_operand): Accept
CONST_DOUBLEs.
-2007-01-08 Ralf CorsÃ\83©pius <ralf.corsepius@rtems.org>
+2007-01-08 Ralf Corsépius <ralf.corsepius@rtems.org>
* config/bfin/rtems.h, config/bfin/t-rtems: New.
* config.gcc: Add bfin*-rtems*.