X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=499acfe83176766b9233a8fb3d754583937e8a97;hp=125db40a8173eea5cd54fd189ec158a746b19384;hb=3459f6a629a7bf9e64cdd23cbd94349ea420980c;hpb=5e791c11a31829baf131d8a31fc43c22f59f2040 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 125db40a817..499acfe8317 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,663 @@ +2007-07-03 Kaz Kojima + + PR target/32506 + * config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand + predicate instead of target_operand. + (divsi3_i1_media, divsi3_media_2): Likewise. + +2007-07-02 Eric Botcazou + + * tree.h (alias_sets_might_conflict_p): Rename into + alias_sets_must_conflict_p. + * alias.c (alias_sets_might_conflict_p): Likewise. + (alias_sets_conflict_p): Use it. + (objects_must_conflict_p): Likewise. + * c-common.c (strict_aliasing_warning): Adjust. + +2007-07-02 Andrew Pinski + + * rtlhooks.c (gen_lowpart_if_possible): Check for + invalid subreg before calling gen_lowpart_SUBREG. + +2007-07-02 Geoffrey Keating + + * config/darwin9.h: Add copyright notice. + (LINK_COMMAND_SPEC): Add comment. + (DARWIN_LIBSYSTEM_HAS_UNWIND): Define. + * config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Conditionalise on + DARWIN_LIBSYSTEM_HAS_UNWIND. + +2007-07-02 Jakub Jelinek + + PR libgomp/32468 + * omp-low.c (check_combined_parallel): New function. + (lower_omp_parallel): Call it via walk_stmts, set + OMP_PARALLEL_COMBINED if appropriate. + (determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS + isn't the only statement in WS_ENTRY_BB or OMP_RETURN + the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED, + don't consider it as combined parallel. + +2007-07-02 Richard Sandiford + + * configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix). + (gcc_tooldir): Likewise. + * configure: Regenerate. + * Makefile.in (libsubdir_to_prefix): New variable, based on the + old configure.ac gcc_tooldir setting. + (prefix_to_exec_prefix): New variable. + (DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix) + rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX. + +2007-07-02 Daniel Berlin + + Fix PR tree-optimization/32583 + Fix PR tree-optimization/32584 + * tree-ssa-pre.c (phi_translate): Always pass seen bitmap. + (phi_translate_set): Use phi_translate directly now. + (make_values_for_stmt): Don't value number RHS if we already know + it is constant. + +2007-07-02 Steve Ellcey + Jim Wilson + + PR target/31684 + * haifa-sched.c (add_to_speculative_block): Change copy_rtx to + copy_insn. + +2007-07-02 Sandra Loosemore + Richard Sandiford + Nigel Stephens + + * config/mips/mips-protos.h (mips16e_save_restore_info): New struct. + (mips16e_output_save_restore): Declare. + (mips16e_save_restore_pattern_p): Likewise. + * config/mips/mips.h (GENERATE_MIPS16E_SAVE_RESTORE): New macro. + * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Return 0x7f8 + for GENERATE_MIPS16E_SAVE_RESTORE. Return 0x400 for TARGET_MIPS16 + && !GENERATE_MIPS16E_SAVE_RESTORE && !TARGET_64BIT. + (BITSET_P): New global macro, extracted from... + (mips_for_each_saved_reg): ...here. + (mips16e_save_restore_info): New struct. + (mips16e_s2_s8_regs, mips16e_a0_a3_regs): New variables. + (mips16e_save_restore_regs): New variable. + (mips_split_plus, mips16e_find_first_register): New functions. + (mips16e_mask_registers): New function. + (compute_frame_size): Expand the commentary before the function. + Enforce the MIPS16e save and restore register range restrictions. + Pad the general register save area at the low end. + (mips16e_save_restore_reg, mips16e_build_save_restore) + (mips16e_save_restore_pattern_p, mips16e_add_register_range) + (mips16e_output_save_restore, mips16e_collect_propagate_value) + (mips16e_collect_argument_save, mips16e_collect_argument_saves): + New functions. + (mips_expand_prologue, mips_expand_epilogue): Handle + GENERATE_MIPS16E_SAVE_RESTORE. + * config/mips/mips.md (*mips16e_save_restore): New pattern. + +2007-07-02 Uros Bizjak + + PR tree-optimization/31966 + PR tree-optimization/32533 + * tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not + "basic_block" description as its third argument. Update function + calls to get destination bb from "edge" argument. Save "cond" into + aux field of the edge. Update prototype for changed arguments. + (if_convertible_loop_p): Clear aux field of incoming edges if bb + contains phi node. + (find_phi_replacement_condition): Operate on incoming edges, not + on predecessor blocks. If there is a condition saved in the + incoming edge aux field, AND it with incoming bb predicate. + Return source bb of the first edge. + (clean_predicate_lists): Clean aux field of outgoing node edges. + (tree_if_conversion): Do not initialize cond variable. Move + variable declaration into the loop. + (replace_phi_with_cond_gimple_modify_stmt): Remove unneded + initializations of new_stmt, arg0 and arg1 variables. + +2007-07-02 Jakub Jelinek + + * tree-nrv.c (dest_safe_for_nrv_p): Grok any handled_component_p, + SSA_NAMEs, RESULT_DECLs and PARM_DECLs. + +2007-07-02 Richard Guenther + + * tree-ssa.c (useless_type_conversion_p): Document + future intent as defining the middle-end type system. + Re-structure to call langhook last, group by type class, + mark questionable parts. + +2007-07-02 Richard Guenther + + * tree-flow.h (types_compatible_p): Declare. + * tree-ssa.c (types_compatible_p): New function. + * ipa-type-escape.c (discover_unique_type): Use + types_compatible_p instead of lang_hooks.types_compatible_p. + * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise. + * tree-vn.c (expressions_equal_p): Likewise. + * tree.c (fields_compatible_p): Likewise. + * tree-ssa-dom.c (avail_expr_eq): Likewise. + (cprop_operand): Use useless_type_conversion_p instead of + lang_hooks.types_compatible_p. + * tree-inline.c (setup_one_parameter): Likewise. + (declare_return_variable): Likewise. + * tree-nrv.c (tree_nrv): Likewise. + * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise. + (maybe_fold_offset_to_component_ref): Likewise. + (maybe_fold_offset_to_reference): Likewise. + * tree-ssa-copy.c (may_propagate_copy): Likewise. + (merge_alias_info): Likewise. + * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise. + * tree-ssa-phiopt.c (conditional_replacement): Likewise. + * tree-ssa-reassoc.c (optimize_ops_list): Likewise. + * tree-tailcall.c (find_tail_calls): Likewise. + * tree-vect-generic.c (expand_vector_operations_1): Likewise. + * gimplify.c (canonicalize_addr_expr): Likewise. + (fold_indirect_ref_rhs): Likewise. + (gimplify_addr_expr): Likewise. Swap parameters to cpt_same_type. + (cpt_same_type): Likewise. + (check_pointer_types_r): Swap parameters to cpt_same_type + where appropriate. + * fold-const.c (fold_convert): Revert fix for PR15988. + * tree-inline.c (setup_one_parameter): Instead fix it here by + using fold_build1 instead of fold_convert and checking for + error_mark_node. Convert only if the conversion is necessary. + +2007-07-02 Joseph Myers + + * configure.ac: Check for .gnu_attribute on Power. + * configure: Regenerate. + * config/rs6000/rs6000.c (rs6000_file_start): If supported, output + attribute for floating-point ABI. + +2007-07-02 Ira Rosen + + PR tree-optimization/32230 + PR tree-optimization/32477 + * tree-vect-analyze.c (vect_analyze_data_refs): Fail if base + address is a constant. + +2007-07-02 Richard Sandiford + + * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*) + (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*) + (mipsisa64-*-elf*, mipsisa64el-*-elf*): Combine top-level + stanzas. Use the first part of the triplet to set MIPS_ISA_DEFAULT. + Remove redundant setting of MASK_FLOAT64 and MASK_64BIT for the + 64-bit targets. Add support for *-elfoabi*. + * config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Use + different settings if $(tm_defines) does not select the EABI. + (MULTILIB_EXCLUSIONS): Define in those circumstances. + * config/mips/mips.h (MIPS_ISA_LEVEL_OPTION_SPEC): New macro. + (MIPS_ARCH_OPTION_SPEC): Likewise. + (MIPS_ISA_LEVEL_SPEC): Likewise. + (OPTION_DEFAULT_SPECS): Use MIPS_ARCH_OPTION_SPEC. + * config/mips/elfoabi.h: New file. + +2007-07-02 Richard Guenther + + * tree-flow.h (tree_ssa_useless_type_conversion_1): Rename to ... + (useless_type_conversion_p): ... this. + * tree-ssa.c (tree_ssa_useless_type_conversion_1): Rename to ... + (useless_type_conversion_p): ... this. + * builtins.c (fold_builtin_memory_op): Rename + tree_ssa_useless_type_conversion_1 to useless_type_conversion_p. + * tree-cfg.c (verify_expr): Likewise. + * tree-ssa-address.c (tree_ssa_useless_type_conversion_1): Likewise. + * tree-ssa-ccp.c (ccp_fold): Likewise. + * tree-ssa-copy.c (may_propagate_copy): Likewise. + * tree-ssa-dom.c (eliminate_redundant_computations): Likewise. + * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise. + * tree-ssa-loop-niter.c (refine_bounds_using_guard): Likewise. + * tree-ssa-pre.c (eliminate): Likewise. + * tree-ssa.c (delete_tree_ssa): Likewise. + (tree_ssa_useless_type_conversion): Likewise. + * tree.c (build2_stat): Likewise. + +2007-07-01 Daniel Berlin + + Fix PR tree-optimization/32571 + * tree-ssa-sccvn.c (visit_use): Shortcut copies to avoid + simplifying them. + +2007-07-01 Daniel Berlin + + * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle constants + and other expected operations explicitly, change default to + gcc_unreachable. + +2007-07-01 Daniel Jacobowitz + + * config/arm/arm.c (arm_cannot_copy_insn_p): Do not expect a + PARALLEL. + * config/arm/arm.md (pic_add_dot_plus_four, pic_add_dot_plus_eight) + (tls_load_dot_plus_eight): Move the label number into the unspec. + * config/arm/thumb2.md (pic_load_dot_plus_four): Likewise. + +2007-07-01 Andreas Schwab + + * dwarf2out.c (initial_return_save): Define only if used. + +2007-07-01 Kenneth Zadeck + + Unreverting Richard's Revert of: + + 2007-06-27 Richard Sandiford + + * dce.c (deletable_insn_p_1): New function, split out from... + (deletable_insn_p): ...here. Only treat bare USEs and CLOBBERs + specially, not those inside PARALLELs. Remove BODY argument + and adjust recursive call accordingly. + (prescan_insns_for_dce): Update call to delete_insn_p. + +2007-07-01 Vladimir Yanovsky + Revital Eres + + * ddg.c (create_ddg_all_sccs): Fix missed + initialization of scc_nodes. + +2007-07-01 Uros Bizjak + + PR middle-end/32559 + * fold-const.c (fold-binary) [PLUS_EXPR]: Convert ~X + X to 1 or + X + ~X to 1 only for INTEGRAL_TYPE_P type. + +2007-06-30 Joseph Myers + + * configure.ac: Check for .gnu_attribute on MIPS. + * configure, config.in: Regenerate. + * config/mips/mips.c (mips_file_start): If supported, output + attribute for floating-point ABI. + +2007-06-30 Uros Bizjak + + PR target/32433 + * config/i386/i386.md (ffssi2): Expand as ffs_cmove for TARGET_CMOVE. + (ffs_cmove): New expander to expand using ctz pattern. + (*ffs_cmove): Remove pattern. + (*ffs_no_cmove): Enable only for !TARGET_CMOVE. + (ffsdi2): Expand using ctz pattern. + (*ffs_rex64): Remove pattern. + +2007-06-30 John David Anglin + + PR rtl-optimization/32296 + * pa.md (return): Delete pattern. + (return_internal): Remove "(const_int 1)" from pattern. + (epilogue): Use return_internal pattern for trivial returns. + * pa-protos.h (hppa_can_use_return_insn_p): Delete declaration. + * pa.c (hppa_can_use_return_insn_p): Delete function. Include "df.h". + +2007-06-30 Daniel Berlin + + * tree-ssa-pre.c (is_exception_related): New function + (can_value_number_operation): Use it. + +2007-06-30 Daniel Berlin + + Fix PR tree-optimization/32540 + Fix PR tree-optimization/31651 + + * tree-ssa-sccvn.c: New file. + + * tree-ssa-sccvn.h: Ditto. + + * tree-vn.c: Include tree-ssa-sccvn.h + (val_expr_paid_d): Removed. + (value_table): Ditto. + (vn_compute): Ditto. + (val_expr_pair_hash): Ditto. + (val_expr_pair_expr_eq): Ditto. + (copy_vuses_from_stmt): Ditto. + (vn_delete): Ditto. + (vn_init): Ditto. + (shared_vuses_from_stmt): Ditto. + (print_creation_to_file): Moved up. + (sort_vuses): Ditto. + (sort_vuses_heap): Ditto. + (set_value_handle): Make non-static. + (make_value_handle): Ditto. + (vn_add): Rewritten to use sccvn lookups. + (vn_add_with_vuses): Ditto. + (vn_lookup): Ditto (and second argument removed). + (vn_lookup_with_vuses): Ditto. + (vn_lookup_or_add): Ditto (and second argument removed); + (vn_lookup_or_add_with_vuses): Ditto. + (vn_lookup_with_stmt): New. + (vn_lookup_or_add_with_stmt): Ditto. + (create_value_handle_for_expr): Ditto. + + * tree-ssa-pre.c: Include tree-ssa-sccvn.h. + (seen_during_translate): New function. + (phi_trans_lookup): Use iterative_hash_expr, not vn_compute. + (phi_trans_add): Ditto. + (constant_expr_p): FIELD_DECL is always constant. + (phi_translate_1): Renamed from phi_translate, add seen bitmap. + Use constant_expr_p. + Avoid infinite recursion on mutually valued expressions. + Change callers of vn_lookup_or_add. + (phi_translate): New function. + (compute_antic_safe): Allow phi nodes. + (create_component_ref_by_pieces): Update for FIELD_DECL change. + (find_or_generate_expression): Rewrite slightly. + (create_expression_by_pieces): Updated for vn_lookup_or_add + change. + Update VN_INFO for new names. + (insert_into_preds_of_block): Update for new names. + (add_to_exp_gen): New function. + (add_to_sets): Use vn_lookup_or_add_with_stmt. + (find_existing_value_expr): Rewrite to changed vn_lookup. + (create_value_expr_from): Ditto, and use add_to_exp_gen. + (try_look_through_load): Removed. + (try_combine_conversion): Ditto. + (get_sccvn_value): New function. + (make_values_for_phi): Ditto. + (make_values_for_stmt): Ditto. + (compute_avail): Rewritten for vn_lookup_or_add changes and to use + SCCVN. + (init_pre): Update for SCCVN changes. + (fini_pre): Ditto. + (execute_pre): Ditto. + + * tree-flow.h (make_value_handle): Declare. + (set_value_handle): Ditto. + (sort_vuses_heap): Ditto. + (vn_lookup_or_add_with_stmt): Ditto. + (vn_lookup_with_stmt): Ditto. + (vn_compute): Remove. + (vn_init): Ditto. + (vn_delete): Ditto. + (vn_lookup): Update arguments. + + * Makefile.in (tree-ssa-pre.o): Add tree-ssa-sccvn.h + (tree-vn.o): Ditto. + (tree-ssa-sccvn.o): New. + (OBJS-common): Add tree-ssa-sccvn.o + +2007-06-30 Manuel Lopez-Ibanez + + PR c/4076 + * c-typeck.c (build_external_ref): Don't mark as used if called + from itself. + * calls.c (rtx_for_function_call): Likewise. + +2007-06-30 Richard Sandiford + + Revert: + + 2007-06-27 Richard Sandiford + + * dce.c (deletable_insn_p_1): New function, split out from... + (deletable_insn_p): ...here. Only treat bare USEs and CLOBBERs + specially, not those inside PARALLELs. Remove BODY argument + and adjust recursive call accordingly. + (prescan_insns_for_dce): Update call to delete_insn_p. + +2007-06-30 Rask Ingemann Lambertsen + + * combine.c (combine_validate_cost): New parameter NEWOTHERPAT. + (try_combine): Move potential calls to undo_all() so they happen + before we commit to using the combined insns. + +2006-06-30 Jan Hubicka + + * loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit + code. + +2006-06-30 Thomas Neumann + + * ipa.c (cgraph_postorder): Cast according to the coding conventions. + (cgraph_remove_unreachable_nodes): Likewise. + * ipa-cp.c (ipcp_propagate_stage): Use BOTTOM instead of integer 0. + * ipa-inline.c (update_caller_keys): Cast according to the coding + conventions. + (cgraph_decide_recursive_inlining): Likewise. + (cgraph_decide_inlining_of_small_function): Likewise. + (try_inline): Likewise. + (cgraph_decide_inlining_incrementally): Likewise. + * ipa-pure-const.c (get_function_state): Likewise. + (scan_function): Likewise. + (analyze_function): Likewise. + (static_execute): Likewise. + * gcc/ipa-reference.c (scan_for_static_refs): Likewise. + (merge_callee_local_info): Likewise. + (analyze_function): Use type safe memory macros. + (static_execute): Likewise. Cast according to the coding conventions. + * ipa-type-escape.c (scan_for_regs): Cast according to the coding + conventions. + * ipa-utils.c (searchc): Likewise. Avoid using C++ keywords as variable + names. + (ipa_utils_reduced_inorder): Likewise. Use type safe memory macros. + * ipa-utils.h (struct ipa_dfa_info): Avoid using C++ keywords as + variable names. + +2007-06-29 Andrew Pinski + + PR middle-end/30024 + * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0] + for complex modes (both int and real). + +2007-06-29 Jan Hubicka + + * cse.c: Rever accidentally comitted TODO_verify_rtl_sharing change. + +2007-06-29 Jan Hubicka + + PR middle-end/32372 + * cse.c (cse_insn): Avoid invalid sharing in between register note and + the insn pattern. + +2007-06-29 Anatoly Sokolov + + PR target/32335 + * config/avr/avr.c: Include dataflow header file. + (expand_prologue): Adjust for prologue insn change. + * config/avr/avr.md (call_prologue_saves): Only modify REG_SP once + inside a insn. + +2007-06-29 Richard Guenther + + PR middle-end/32493 + * gimplify.c (gimplify_call_expr): Ignore variable argument parts + during type verification. + +2007-06-29 Jan Hubicka + + * recog.c (validate_change_rtx_1): Unshare TO argument. + +2007-06-29 Uros Bizjak + + PR tree-optimization/24659 + * tree-vect-transform.c (vectorizable_call): Handle + (nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases. + + * config/i386/sse.md (vec_pack_sfix_v2df): New expander. + * config/i386/i386.c (enum ix86_builtins) + [IX86_BUILTIN_VEC_PACK_SFIX]: New constant. + (struct bdesc_2arg) [__builtin_ia32_vec_pack_sfix]: New builtin + description. + (ix86_init_mmx_sse_builtins): Define all builtins with 2 arguments as + const using def_builtin_const. + (ix86_expand_binop_builtin): Remove bogus assert() that insn wants + input operands in the same modes as the result. + (ix86_builtin_vectorized_function): Handle BUILT_IN_LRINT. + +2007-06-29 Richard Sandiford + + * df-problems.c (df_set_unused_notes_for_mw): Fix formatting. + (df_set_dead_notes_for_mw): Likewise. + +2007-06-29 Eric Botcazou + + * c-common.c (pointer_int_sum): Do the negation in sizetype. + +2007-06-28 DJ Delorie + + * config/m32c/m32c.h (OVERRIDE_OPTIONS): Omit unneeded semicolon. + +2007-06-28 Geoffrey Keating + + * doc/invoke.texi (C++ Dialect Options): Document + fvisibility-ms-compat. + * c.opt (fvisibility-ms-compat): New. + +2007-06-28 Andrew Pinski + + PR tree-opt/32417 + * tree-affine.c (aff_combination_add_elt): Handle + pointer addition specially. + +2007-06-28 Jakub Jelinek + + * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure + decl is non-external for AIX ABI. + +2007-06-28 David Edelsohn + + * config/rs6000/predicates.md (current_file_function_operand): + Ensure the symbol is non-external for AIX ABI. + +2007-06-28 Nick Clifton + + * common.opt (fipa-matrix-reorg): Add Optimization attribute. + (fdce, fdse, fpredictive-commoning): Likewise. + +2007-06-28 Francois-Xavier Coudert + + PR other/31400 + * gcc.c (process_command): Recognize the new -static-libgfortran + option. + +2007-06-27 Rask Ingemann Lambertsen + + PR target/32418 + * config/m32c/m32c.c (m32c_eh_return_stackadj_rtx): Dataflow fix: + Use a call clobbered hard reg instead of a pseudo reg. + +2007-06-27 Kaz Kojima + + * config/sh/sh.md (load_gbr): Use correct operand constraint. + +2007-06-27 Kaz Kojima + + PR target/32479 + * config/sh/sh.md (udivsi3): Don't wrap the sequence with + REG_LIBCALL and REG_RETVAL notes. + (divsi3, mulsi3): Likewise. + (mulhisi3): Likewise. Use emit_libcall_block. + (umulhisi3, smulsi3_highpart, umulsi3_highpart_i): Likewise. + +2007-06-27 Seongbae Park + + PR rtl-optimization/32481 + * combine.c (adjust_for_new_dest): Rescan the changed insn. + +2007-06-27 Richard Sandiford + + * dce.c (deletable_insn_p_1): New function, split out from... + (deletable_insn_p): ...here. Only treat bare USEs and CLOBBERs + specially, not those inside PARALLELs. Remove BODY argument + and adjust recursive call accordingly. + (prescan_insns_for_dce): Update call to delete_insn_p. + +2007-06-27 Richard Guenther + + PR middle-end/32492 + * tree.h (fold_convertible_p): Declare. + * fold-const.c (fold_convertible_p): New function. + * gimplify.c (gimplify_call_expr): Use fold_convertible_p + instead of lang_hooks.types_compatible_p. + +2007-06-26 Jan Hubicka + + * fwprop.c (try_fwprop_subst): Use validate_unshare_change. + * postreload.c (reload_cse_simplify_set): Instead of copying the rtx + early use validate_unshare_change. + (reload_combine): Likewise. + * recog.c (change_t): New field unshare. + (validate_change_1): Rename from validate_change; add argument unshare. + (validate_change): Turn into wrapper of validate_change_1; update + prototype for bools. + (validate_unshare_change): New. + (confirm_change_group): Unshare changes if asked for; avoid unnecesary + calls of df_insn_rescan. + * recog.h (validate_change): Replace ints by bools. + (validate_unshare_change): Declare. + +2007-06-26 Kenneth Zadeck + + * tree.def (VEC_WIDEN_MULT_LO_EXPR): Corrected string name. + +2007-06-26 Steve Ellcey + + * builtins.c (expand_builtin_next_arg): Change Pmode to ptr_mode. + +2007-06-25 Jan Hubicka + + * ipa-inline.c (cgraph_mark_inline): Assert that we never inline + uninlinable call. + (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining, + cgraph_decide_inlining_incrementally): Move uninlinability checks to + places other call site specific checks are performed. + +2007-06-25 Andrew Pinski + + PR tree-opt/32421 + * tree-vect-transform.c (vectorizable_operation): Convert + POINTER_PLUS_EXPR over to PLUS_EXPR. + +2007-06-25 Chao-ying Fu + + * doc/rtl.texi (Machine Modes): Document QQ, HQ, SQ, DQ, TQ, + UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, USA, UDA, and UTAmodes. + Document MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM. + Document GET_MODE_IBIT, and GET_MODE_FBIT. + + * machmode.h (VECTOR_MODE_P): Test MODE_VECTOR_FRACT, + MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. + (SCALAR_FRACT_MODE_P, SCALAR_UFRACT_MODE_P, ALL_SCALAR_FRACT_MODE_P, + SCALAR_ACCUM_MODE_P, SCALAR_UACCUM_MODE_P, ALL_SCALAR_ACCUM_MODE_P, + SIGNED_SCALAR_FIXED_POINT_MODE_P, UNSIGNED_SCALAR_FIXED_POINT_MODE_P, + ALL_SCALAR_FIXED_POINT_MODE_P, FRACT_MODE_P, UFRACT_MODE_P, + ALL_FRACT_MODE_P, ACCUM_MODE_P, UACCUM_MODE_P, ALL_ACCUM_MODE_P, + SIGNED_FIXED_POINT_MODE_P, UNSIGNED_FIXED_POINT_MODE_P, + ALL_FIXED_POINT_MODE_P): New define. + (CLASS_HAS_WIDER_MODES_P): Test MODE_FRACT, MODE_UFRACT, MODE_ACCUM, + MODE_UACCUM. + (GET_MODE_IBIT, GET_MODE_FBIT): New define. + + * mode-classes.def (MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM, + MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, + MODE_VECTOR_UACCUM): New mode classes. + + * machmode.def: Document FRACT_MODE, UFRACT_MODE, ACCUM_MODE, + UACCUM_MODE, ADJUST_IBIT, and ADJUST_FBIT. + Add QQ, HQ, SQ, DQ, TQ, UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, + USA, UDA, and UTA. + + * genmodes.c (struct mode_data): Add ibit and fbit fields. + (blank_mode): Initialize ibit and fbit. + (adj_ibit, adj_fbit): New to adjust ibit and fbit. + (vector_class): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM. + (new_adjust): Change required_class to required_class_from and + required_class_to for testing within a range. + (complete_mode): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, + MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, + MODE_VECTOR_UACCUM. + (FRACT_MODE, UFRACT_MODE, ACCUM_MODE, UACCUM_MODE): New define. + (make_fixed_point_mode): New. + (_ADD_ADJUST): Change C to C1 and C2. + (ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FLOAT_FORMAT): Change to + use a range for machine classes. + (ADJUST_IBIT, ADJUST_FBIT): New. + (emit_insn_modes_h): Output defines of CONST_MODE_IBIT and + CONST_MODE_FBIT. + (emit_mode_adjustments): Handle MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, + MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. + Emit adjustment for ibit and fbit. + (emit_mode_ibit, emit_mode_fbit): New. + (emit_insn_modes_c): Add emit_mode_ibit and emit_mode_fbit. + 2007-06-25 Nathan Froyd * config/rs6000/spe.md (*frob_ti_tf_2): Specify an input_operand @@ -78,7 +738,7 @@ 2007-06-23 Kenneth Zadeck PR middle-end/32437 - *dce.c (deletable_insn_p): Add extra parameter and recurse if insn + * dce.c (deletable_insn_p): Add extra parameter and recurse if insn is a PARALLEL. (prescan_insns_for_dce): Add extra parameter. @@ -88,7 +748,7 @@ * gimplify.c (mark_addressable): New function. (gimplify_modify_expr_rhs, gimplify_addr_expr, gimplify_expr): Use it. -2007-06-19 Uros Bizjak +2007-06-22 Uros Bizjak PR middle-end/32374 * expr.c (store_constructor): Do not clobber non-zeroed memory. @@ -397,8 +1057,7 @@ 2007-06-19 Nick Clifton - * config/m32r/linux.h (LIB_SPEC): Always imply -lpthread for - -pthread. + * config/m32r/linux.h (LIB_SPEC): Always imply -lpthread for -pthread. 2007-06-18 Uros Bizjak @@ -420,22 +1079,6 @@ * gcse.c (replace_store_insn): Update the note before calling emit_insn_after. -2007-06-18 David Daney PR middle-end/32355