From: Andreas Schwab Date: Wed, 30 Jul 2008 18:22:50 +0000 (+0000) Subject: re PR rtl-optimization/36929 (internal compiler error: Segmentation fault) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=22129589211764a55ee21f9202ab80b3772817b6;p=gcc.git re PR rtl-optimization/36929 (internal compiler error: Segmentation fault) PR rtl-optimization/36929 * dse.c (replace_inc_dec): Use emit_insn_before instead of add_insn_before and fix argument order. (replace_inc_dec_mem): Handle NULL rtx. From-SVN: r138333 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2951220b6eb..02485f738ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,7 +1,14 @@ +2008-07-30 Andreas Schwab + + PR rtl-optimization/36929 + * dse.c (replace_inc_dec): Use emit_insn_before instead of + add_insn_before and fix argument order. + (replace_inc_dec_mem): Handle NULL rtx. + 2008-07-30 Andrew Jenner * config/arm/arm.c (arm_compute_static_chain_stack_bytes): New - function. + function. (arm_compute_initial_elimination_offset): Use it. (arm_compute_save_reg_mask): Include static chain save slot when calculating alignment. @@ -19,8 +26,8 @@ 2008-07-30 Nathan Froyd - * config/arm/arm.c (arm_expand_prologue): Use 0-length rtvec - instead of NULL_RTVEC. + * config/arm/arm.c (arm_expand_prologue): Use 0-length rtvec + instead of NULL_RTVEC. 2008-07-30 Nathan Froyd @@ -59,7 +66,7 @@ (conversion_warning): Use the new function. Handle non-negative constant in bitwise-and. * c-common.h (shorten_binary_op): Declare. - + 2008-07-30 Olivier Hainque * scan.c (make_sstring_space): Add explicit conversions of @@ -150,7 +157,7 @@ PR 34985 * c-decl.c (merge_decls): Merge USED flags. - + 2008-07-29 Kaz Kojima * config/sh/sh.c (sh_gimplify_va_arg_expr): Unshare the addr, @@ -418,7 +425,7 @@ (is_ctor_dtor): Return symkind instead of int. Adjust prototype, code and head comment accordingly. (scan_prog_file): Use symkind names instead of bare integers. - + 2008-07-25 Jan Hubicka * cgraph.c (cgraph_function_possibly_inlined_p): Do not rely on DECL_INLINE. @@ -427,7 +434,7 @@ * dojump.c (clear_pending_stack_adjust): Likewise. * print-tree.c (print_node): Ignore DECL_INLINE. * tree-inline.c (inlinable_function_p): Likewise. - + 2008-07-25 Michael Meissner * doc/extend.texi (hot attribute): Document that the hot attribute @@ -521,7 +528,7 @@ (cgraph_gate_early_inlining): Likewise. (gate_inline_passes): Remove. (pass_inline_parameters, pass_ipa_inline): Remove gates. - (cgraph_gate_O0_always_inline, cgraph_O0_always_inline, + (cgraph_gate_O0_always_inline, cgraph_O0_always_inline, pass_O0_always_inline): Remove. * c-pch.c (c_pch_matching): Remove -funit-at-a-time. * dwarf2out.c (reference_to_unused): Remove flag_unit_at_a_time check. @@ -576,7 +583,7 @@ * config/i386/i386.c (get_dllimport_decl): Treat user_label_prefix for imp symbol extension. - 2008-07-23 Ian Lance Taylor + 2008-07-23 Ian Lance Taylor * tree-vrp.c (infer_value_range): Ignore asm statements when looking for memory accesses for -fdelete-null-pointer-checks. @@ -603,10 +610,10 @@ 2008-07-23 Martin Jambor - * ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed + * ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed rather than for DECL_SAVED_TREE. * ipa-prop.c: Include diagnostic.h. - (ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs + (ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs thoroughly. (ipa_detect_param_modifications): Function rewritten from scratch. (ipa_compute_jump_functions): Changed accesses to modification flags. @@ -614,9 +621,9 @@ (ipa_node_duplication_hook): Update flags duplication. (ipa_print_all_params_modified): Updated flag access. * ipa-prop.h (struct ipa_param_flags): New structure. - (struct ipa_node_params): New field modification_analysis_done, - modified_flags changed into param_flags. - (ipa_is_ith_param_modified): Changed to use new flags. + (struct ipa_node_params): New field modification_analysis_done, + modified_flags changed into param_flags. + (ipa_is_ith_param_modified): Changed to use new flags. * Makefile.in (ipa-prop.o): Add $(DIAGNOSTIC_H) to dependencies. * ipa-prop.c (ipa_print_all_jump_functions): Moved here from @@ -645,18 +652,18 @@ * doc/invoke.texi (Optimize options): Add description of -findirect-inlining. * common.opt (flag_indirect_inlining): New flag. - * opts.c (decode_options): Set flag_indirect_inlining when + * opts.c (decode_options): Set flag_indirect_inlining when optimize >= 3. * ipa-inline.c: Include ipa-prop.h. (inline_indirect_intraprocedural_analysis): New function. (inline_generate_summary): Allocate parameter and argument info structures, call inline_indirect_intraprocedural_analysis on each - node when doing indirect inlining and deallocate indirect inlining + node when doing indirect inlining and deallocate indirect inlining data structures in the end. * ipa-prop.c (ipa_create_param_decls_array): Return if already done. (free_all_ipa_structures_after_iinln): New function. - (free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be + (free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be done. * Makefile.in (ipa-inline.o): Added $(IPA_PROP_H) to dependencies. @@ -665,7 +672,7 @@ of computing the frequency separately. (rebuild_cgraph_edges): Call compute_call_stmt_bb_frequency instead of computing the frequency separately. - * ipa-cp.c (ipcp_print_all_structures): Replace a call to + * ipa-cp.c (ipcp_print_all_structures): Replace a call to ipa_print_all_param_modified with a call to ipa_print_all_param_flags. * ipa-prop.c (ipa_get_member_ptr_load_param): New function. (ipa_get_stmt_member_ptr_load_param): New function. @@ -727,7 +734,7 @@ * testsuite/g++.dg/ipa/iinline-1.C: New testcase. * testsuite/gcc.dg/ipa/iinline-1.c: New testcase. * testsuite/gcc.dg/ipa/modif-1.c: New testcase. - + 2008-07-23 Michael Meissner PR 36907 @@ -754,7 +761,7 @@ * c-typeck.c: All calls to pedwarn changed. * c-common.c: All calls to pedwarn changed. * c-parser.c: All calls to pedwarn changed. - + 2008-07-23 Michael Meissner Karthik Kumar @@ -1221,7 +1228,7 @@ PR tree-opt/36879 * tree-switch-conversion.c (build_one_array): Call - varpool_mark_needed_node and varpool_finalize_decl + varpool_mark_needed_node and varpool_finalize_decl instead of assemble_variable. 2008-07-19 Jan Hubicka @@ -1312,7 +1319,7 @@ (gen_array_type_die): Factorize comments about the MIPS_DEBUG_INFO issues, centralize the nested array types collapsing control and disable the transformation for Ada. - + 2008-07-18 Uros Bizjak PR target/36786 @@ -1504,10 +1511,10 @@ * config/sh/sh.md (symGOT_load): Don't add REG_EQUAL note. 2008-07-15 Bob Wilson - + * config/xtensa/libgcc-xtensa.ver: New file. * config/xtensa/t-linux (SHLIB_MAPFILES): Append libgcc-xtensa.ver. - + 2008-07-15 Kaveh R. Ghazi * df-problems.c (df_set_note): Avoid C++ keywords. @@ -1759,7 +1766,7 @@ * config/h8300/h8300.md (length): Fix branch offset limit. -2008-07-11 Anatoly Sokolov +2008-07-11 Anatoly Sokolov * config/avr/avr-protos.h (avr_peep2_scratch_safe): Remove prototype. * config/avr/avr.c (avr_peep2_scratch_safe): Remove. @@ -1898,7 +1905,7 @@ callers. * omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master, lower_omp_ordered, lower_omp_critical, lower_omp_for, - create_task_copyfn, lower_omp_taskreg, execute_lower_omp): + create_task_copyfn, lower_omp_taskreg, execute_lower_omp): * tree-ssa-ccp.c (convert_to_gimple_builtin): Likewise. * tree-sra.c (generate_element_init): Likewise. * tree-mudflap.c (execute_mudflap_function_ops, @@ -2007,7 +2014,7 @@ * tree-sra.c (sra_build_assignment): Handle CONVERT_EXPR_P dst. 2008-07-05 Daniel Berlin - + Fix PR tree-optimization/23455 Fix PR tree-optimization/35286 Fix PR tree-optimization/35287 @@ -2060,7 +2067,7 @@ (vn_nary_op_compute_hash): De-staticify. (vn_nary_op_eq): Ditto. (vn_nary_op_lookup_pieces): New function. - (vn_nary_op_lookup): Add new argument. + (vn_nary_op_lookup): Add new argument. (vn_nary_op_insert_pieces): New function. (vn_nary_op_insert): Add return type. Modify to deal with value ids. (vn_phi_insert): Ditto. @@ -2069,7 +2076,7 @@ (visit_reference_op_load): Ditto. (visit_reference_op_store): Ditto. (init_scc_vn): Init next_value_id, constant_to_value_id and - constant_value_ids. + constant_value_ids. (free_scc_vn): Free them. (set_hashtable_value_ids): New function. (run_scc_vn): Use it. @@ -2082,7 +2089,7 @@ above). * tree.c (iterative_hash_hashval_t): Made non-static * tree.h (iterative_hash_hashval_t): Declare it. - + 2008-07-08 Martin Jambor * ipa-cp.c (ipcp_init_cloned_node): Call ipa_check_create_node_params @@ -2114,7 +2121,7 @@ (ipa_register_cgraph_hooks): New function. (ipa_unregister_cgraph_hooks): New function. (free_all_ipa_structures_after_ipa_cp): New function. - + * ipa-prop.h: Include vec.h. (ipa_node_params_t): New typedef with vector types for it. (ipa_edge_args_t): New typedef with vector types for it. @@ -2122,10 +2129,10 @@ (IPA_EDGE_REF): Changed to access an on-the-side vector. (ipa_check_create_node_params): New function. (ipa_check_create_edge_args): New function. - + * Makefile.in (IPA_PROP_H): New variable for ipa-prop.h. Converted all users. - + 2008-07-07 Tom Tromey * configure, config.in: Rebuilt. @@ -2208,7 +2215,7 @@ -print-sysroot option. (main): Print the sysroot if requested. * doc/invoke.texi (Debugging Options): Document -print-sysroot. - + 2008-07-07 Ralf Wildenhues PR target/34780 @@ -2261,7 +2268,7 @@ 2008-07-07 Maxim Kuvyrkov * config/m68k/m68k.c (m68k_return_in_memory): Fix arguments types. - + 2008-07-07 Mark Shinwell * config/m68k/lb1sf68.asm: Add PIC macros for Linux targets. @@ -2659,7 +2666,7 @@ 2008-07-02 Martin Jambor * tree-switch-conversion.c: Included timevar.h which I forgot before. - + 2008-07-02 Martin Jambor * tree-switch-conversion.c: Included timevar.h @@ -2787,7 +2794,7 @@ 2008-06-30 Kenneth Zadeck * ifcvt.c (cond_move_process_if_block): Free vectors on false return. - + 2008-06-30 Kenneth Zadeck PR rtl-optimization/34744 @@ -2816,7 +2823,7 @@ (ix86_init_builtins): Here. (ix86_scalar_mode_supported_p): Always return true for TFmode. (ix86_c_mode_for_suffix): Always return TFmode and XFmode for - 'q' and 'w', respectively. + 'q' and 'w', respectively. * config/i386/i386.md (movtf): Check TARGET_SSE2 instead of TARGET_64BIT. @@ -3700,7 +3707,7 @@ 2008-06-22 Andy Hutchinson * config/avr/avr.h (SUPPORTS_INIT_PRIORITY): Define. - + 2008-06-22 Laurynas Biveinis PR middle-end/34906 @@ -3848,7 +3855,7 @@ * tree-ssa-loop-im.c (mem_ref_in_stmt, memref_hash, memref_eq, memref_free, gather_mem_refs_stmt, vtoe_hash, vtoe_eq, vtoe_free, record_vop_access, get_vop_accesses, get_vop_stores): Likewise. - * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise. + * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise. * tree-ssa-sccvn.c (VN_INFO_GET, free_phi, free_reference, vn_nary_op_insert): Likewise. * tree-ssa.c (redirect_edge_var_map_add, @@ -4174,20 +4181,20 @@ 2008-06-17 Eric B. Weddington * config/avr/avr.c (avr_mcu_t): Remove atmega32hvb. - * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. - * config/avr/t-avr (MULTILIB_MATCHES): Likewise. + * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. + * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 2008-06-17 Eric B. Weddington * config/avr/avr.c (avr_mcu_t): Add attiny167. - * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. - * gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise. + * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. + * gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise. 2008-06-17 Eric B. Weddington * config/avr/avr.c (avr_mcu_t): Add atmega32u4. - * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. - * config/avr/t-avr (MULTILIB_MATCHES): Likewise. + * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. + * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 2008-06-17 Bernhard Fischer @@ -4248,7 +4255,7 @@ (delete_unmarked_insns): Don't handle libcall blocks. (preserve_libcall_for_dce): Remove. (prescan_insns_for_dce): Don't special-case libcall block insns. - * reload1 (reload): Don't handle libcall notes. + * reload1 (reload): Don't handle libcall notes. * doc/rtl.texi (REG_LIBCALL, REG_RETVAL, REG_LIBCALL_ID): Remove documentation. @@ -4262,7 +4269,7 @@ * config/avr/avr.c (avr_mcu_t): Add atmega32m1. * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. - * config/avr/t-avr (MULTILIB_MATCHES): Likewise. + * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 2008-06-16 Ralf Wildenhues @@ -4283,7 +4290,7 @@ 2008-06-015 Andy Hutchinson PR target/36336 - * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for + * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for reg_equiv_constant. 2008-06-15 Maxim Kuvyrkov @@ -4359,7 +4366,7 @@ Nathan Sidwell Maxim Kuvyrkov Richard Sandiford - + * config/mips/mips-modes.def: Add V8QI, V4HI and V2SI modes. * config/mips/mips-protos.h (mips_expand_vector_init): New. * config/mips/mips-ftypes.def: Add function types for Loongson-2E/2F @@ -4662,7 +4669,7 @@ 2008-06-09 Andy Hutchinson PR middle-end/36447 - * simplify-rtx.c (simplify_subreg): Add check for shift count + * simplify-rtx.c (simplify_subreg): Add check for shift count greater than size. 2008-06-09 Richard Sandiford @@ -4777,7 +4784,7 @@ * doc/invoke.texi (Wenum-compare): Mention that it is enabled by default. - + 2008-06-08 Joseph Myers PR tree-optimization/36218 @@ -4791,8 +4798,8 @@ PR target/36424 * config/avr/avr.h (HARD_REGNO_RENAME_OK): Define. - * config/avr/avr.c (avr_hard_regno_rename_ok): New function. - * config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype. + * config/avr/avr.c (avr_hard_regno_rename_ok): New function. + * config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype. 2008-06-07 Danny Smith @@ -5120,7 +5127,7 @@ Rename parallel_nesting_level to taskreg_nesting_level. (scan_omp_task): New function. (lower_rec_input_clauses): Don't run constructors for firstprivate - explicit task vars which are initialized by *_omp_cpyfn*. + explicit task vars which are initialized by *_omp_cpyfn*. Pass outer var ref to omp_clause_default_ctor hook if OMP_CLAUSE_PRIVATE_OUTER_REF or OMP_CLAUSE_LASTPRIVATE. Replace OMP_CLAUSE_REDUCTION_PLACEHOLDER decls in @@ -5394,11 +5401,11 @@ PR target/30243 * builtins.c (expand_builtin_signbit): Don't take lowpart when - register is already smaller or equal to required mode. + register is already smaller or equal to required mode. 2008-06-04 Xinliang David Li - * tree-call-cdce.c: New file. + * tree-call-cdce.c: New file. (cond_dead_built_in_calls): New static variable. (input_domain): New struct. (check_pow): New function. @@ -5573,7 +5580,7 @@ * config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Replace TARGET_64BIT_MS_ABI by DEFAULT_ABI compare to MS_ABI. -2008-06-02 Andy Hutchinson +2008-06-02 Andy Hutchinson PR target/34879 * config/avr/avr.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Redefine. @@ -5709,10 +5716,10 @@ * config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants. (UNSPECV_WRITE_SP_IRQ_OFF): (Ditto.). (movhi_sp_r_irq_off, movhi_sp_r_irq_on): New insn. - * config/avr/avr.c (expand_prologue, expand_epilogue): Use - movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the + * config/avr/avr.c (expand_prologue, expand_epilogue): Use + movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the stack pointer register. - (output_movhi): Remove code for interrupt specific writing to the + (output_movhi): Remove code for interrupt specific writing to the stack pointer register. 2008-05-31 Richard Guenther @@ -5841,7 +5848,7 @@ call clobber check for NMTs. 2008-05-28 Seongbae Park - + * value-prof.c (tree_ic_transform): Use HOST_WIDEST_INT_PRINT_DEC for printing gcov_type. @@ -6079,9 +6086,9 @@ that the bitfield is of integral type before testing its precision. 2008-05-27 Trevor Smigiel - Sa Liu + Sa Liu - * config/spu/spu.c (spu_init_libfuncs): Add __multi3, __divti3, + * config/spu/spu.c (spu_init_libfuncs): Add __multi3, __divti3, __modti3, __udivti3, __umodti3 and __udivmodti4. * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add files that implement TImode mul and div functions. @@ -6120,7 +6127,7 @@ * config/avr/avr.md ("call_prologue_saves"): Use hi8(gs())/lo8(gs()) instead of pm_lo8/pm_hi8 to makes this call working on avr6. - * config/avr/avr.c (expand_prologue): Tune "call_prologue" + * config/avr/avr.c (expand_prologue): Tune "call_prologue" optimization for 'avr6' architecture. 2008-05-26 Andy Hutchinson @@ -6658,7 +6665,7 @@ * tree-data-ref.c (dr_analyze_indices): Replace resolve_mixers with instantiate_scev. (analyze_siv_subscript): Pass in the loop nest number. - Call evolution_function_is_affine_in_loop instead of + Call evolution_function_is_affine_in_loop instead of evolution_function_is_affine_p. (analyze_overlapping_iterations): Pass in the loop nest number. @@ -6724,7 +6731,7 @@ 2008-05-19 Xinliang David Li - * tree-ssa-dce.c: Revert patches of 2008-05-17 and 2008-05-18. + * tree-ssa-dce.c: Revert patches of 2008-05-17 and 2008-05-18. * opts.c: Ditto. * common.opt: Ditto. * doc/invoke.texi: Ditto. @@ -6783,7 +6790,7 @@ 2008-05-18 Xinliang David Li * gcc/tree-ssa-dce.c: Coding style fix. - (check_pow): Documentation comment. + (check_pow): Documentation comment. (check_log): Documenation comment. Coding style fix. (is_unnecessary_except_errno_call): Ditto. (gen_conditions_for_pow): Ditto. @@ -6791,7 +6798,7 @@ (gen_shrink_wrap_conditions): Ditto. (shrink_wrap_one_built_in_calls): Ditto. * gcc/doc/invoke.texi: Better documentation string. - * ChangeLog: Fix wrong change log entries from + * ChangeLog: Fix wrong change log entries from May 17 checkin on function call DCE. 2008-05-17 Kaz Kojima @@ -6803,7 +6810,7 @@ * doc/rtl.texi (RTL_CONST_CALL_P, RTL_PURE_CALL_P): Fixed typos. * df-problems.c (simulation routines): Fixed block comment to properly say how to add forwards scanning functions. - + 2008-05-17 Eric Botcazou * tree-inline.c (setup_one_parameter): Remove dead code. @@ -6816,8 +6823,8 @@ 2008-05-17 Xinliang David Li * gcc/tree-ssa-dce.c (cond_dead_built_in_calls): New static variable. - (check_pow, check_log, is_unnecessary_except_errno_call): New - functions to check for eliminating math functions that are pure + (check_pow, check_log, is_unnecessary_except_errno_call): New + functions to check for eliminating math functions that are pure except for setting errno. (gen_conditions_for_pow, gen_conditionas_for_log): New functions to general condition expressions for shrink-wrapping pow/log calls. @@ -6880,7 +6887,7 @@ 2008-05-16 Kenneth Zadeck * tree-ssa-dse (max_stmt_uid): Removed. - (get_stmt_uid, dse_possible_dead_store_p, dse_optimize_stmt, + (get_stmt_uid, dse_possible_dead_store_p, dse_optimize_stmt, tree_ssa_dse): Encapsulate all uses of stmt_ann->uid. * tree-ssa-sccvn.c (compare_ops, init_scc_vn): Ditto. * function.h (cfun.last_stmt_uid): New field. @@ -6959,7 +6966,7 @@ write_summary, read_summary. * cgraphunit.c (cgraph_process_new_functions): Changed call from pass_ipa_inline.function_generate_summary, to - compute_inline_parameters. + compute_inline_parameters. * ipa-inline.c (compute_inline_parameters): Made public and added node parameter. (compute_inline_parameters_for_current): New function. @@ -6969,19 +6976,19 @@ (pass_ipa_inline): Updated for new IPA_PASS structure. * passes.c (execute_ipa_summary_passes): Now is called once per pass rather than once per node*pass. - + 2008-05-15 Anatoly Sokolov - * config/avr/avr.c (avr_base_arch_macro, avr_have_movw_lpmx_p, + * config/avr/avr.c (avr_base_arch_macro, avr_have_movw_lpmx_p, avr_have_mul_p, avr_asm_only_p): Remove variables. (avr_override_options): Remove initialization of removed variables. - (avr_file_start): Convert removed variables to fields of - 'struct base_arch_s *avr_current_arch'. + (avr_file_start): Convert removed variables to fields of + 'struct base_arch_s *avr_current_arch'. * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): (Ditto.). (AVR_HAVE_MUL): (Ditto.). (AVR_HAVE_MOVW): (Ditto.). - (AVR_HAVE_LPMX): (Ditto.). - (avr_base_arch_macro, avr_have_movw_lpmx_p, avr_have_mul_p, + (AVR_HAVE_LPMX): (Ditto.). + (avr_base_arch_macro, avr_have_movw_lpmx_p, avr_have_mul_p, avr_asm_only_p): Remove declaration. 2008-05-15 Diego Novillo @@ -6997,7 +7004,7 @@ (record_truncated_value): Turn it into a for_each_rtx callback. (record_truncated_values): New function. (combine_instructions): Call note_uses with record_truncated_values. - Change name of check_conversion to check_promoted_subreg. + Change name of check_conversion to check_promoted_subreg. 2008-05-15 Janis Johnson @@ -7281,14 +7288,14 @@ * optabs.c (prepare_cmp_insn): Changed LCT_PURE_MAKE_BLOCK to LCT_PURE and LCT_CONST_MAKE_BLOCK to LCT_CONST in calls to - emit_library_call_value. + emit_library_call_value. * builtins.c (expand_builtin_powi, expand_builtin_memcmp): Ditto. * tree.h (ECF_LIBCALL_BLOCK): Removed. - * calls.c (initialize_argument_information, precompute_arguments, + * calls.c (initialize_argument_information, precompute_arguments, expand_call, emit_library_call_value_1): Remove ECF_LIBCALL_BLOCK. (precompute_arguments): Removed flags parameter. * rtl.h (LCT_CONST_MAKE_BLOCK, LCT_PURE_MAKE_BLOCK): Removed. - + 2008-05-14 Richard Guenther * tree-ssa-dse.c (dse_possible_dead_store_p): Remove dead code. @@ -7476,7 +7483,7 @@ 2008-05-10 Kenneth Zadeck * gcse.c (store_killed_in_insn): Negated call to RTL_CONST_CALL_P. - + 2008-05-10 H.J. Lu * config/i386/i386.c (bdesc_ptest): Removed. @@ -7619,7 +7626,7 @@ CONVERT_EXPR_P. (CONVERT_EXPR_P): Define. (CASE_CONVERT): Define. - + 2008-05-08 Kenneth Zadeck PR middle-end/36117 @@ -7703,7 +7710,7 @@ 2008-05-08 David Daney Richard Sandiford - + * config/mips/mips.md (mips_expand_compare_and_swap_12): Handle special case of constant zero operands. * config/mips/mips.c (mips_expand_compare_and_swap_12): Zero extend @@ -7928,9 +7935,9 @@ (analyze_function): Rename DECL_IS_PURE to DECL_PURE_P. (static_execute): Set looping true for recursive functions. Undo setting state to IPA_NEITHER for recursive functions. - * cse.c (cse_insn): + * cse.c (cse_insn): * ifcvt.c (noce_can_store_speculate_p): Changed - CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or + CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or RTL_CONST_OR_PURE_CALL_P. * dse.c (scan_insn): Ditto. * local-alloc.c (validate_equiv_mem, memref_used_between_p): Ditto. @@ -7972,7 +7979,7 @@ DECL_PURE_P. * tree-cfg.c (update_call_expr_flags): Do not clear tree side effects for looping pure or const calls. - (verify_gimple_expr): Added verification code. + (verify_gimple_expr): Added verification code. * config/alpha/alpha.c (alpha_legitimize_address, alpha_emit_xfloating_libcall): Changed CONST_OR_PURE_CALL_P to RTL_CONST_CALL_P. @@ -8266,14 +8273,14 @@ (ipcp_redirect): Removed newly unused local variable callee. (ipcp_redirect): Removed (a bit confusing) local variable type. (ipcp_insert_stage): Added local variable info. - (ipcp_cval_changed): Renamed to ipcp_lattice_changed, parameters + (ipcp_cval_changed): Renamed to ipcp_lattice_changed, parameters renamed too (ipcp_formal_create): Removed. (ipcp_method_cval_set): Removed. (ipcp_propagate_stage): Renamed lattice variables. (ipcp_method_cval_set_cvalue_type): Removed. (ipcp_method_cval_print): Renamed to ipcp_print_all_lattices - (ipcp_print_all_lattices): Changed printed strings to refer to + (ipcp_print_all_lattices): Changed printed strings to refer to lattices rather than cvals. (ipcp_method_cval_init): Renamed to ipcp_initialize_node_lattices (ipcp_propagate_const): Changed formal parameters. @@ -8284,7 +8291,7 @@ (ipcp_after_propagate): Renamed to ipcp_change_tops_to_bottom (ipcp_callsite_param_print): Renamed to ipcp_print_all_jump_functions (ipcp_profile_mt_count_print): Renamed to ipcp_print_func_profile_counts - (ipcp_print_func_profile_counts): Changed string from "method" to + (ipcp_print_func_profile_counts): Changed string from "method" to "function" (ipcp_profile_cs_count_print): Renamed to ipcp_print_call_profile_counts (ipcp_profile_edge_print): Renamed to ipcp_print_edge_profiles @@ -8294,7 +8301,7 @@ (ipcp_lat_is_const): Changed parameters and made inline. (ipcp_replace_map_create): Renamed to ipcp_create_replace_map (ipcp_redirect): Renamed to ipcp_need_redirect_p - (ipcp_need_redirect_p): Calls ipcp_lat_is_const instead of using + (ipcp_need_redirect_p): Calls ipcp_lat_is_const instead of using the predicate condition directly (ipcp_propagate_stage): Added local variable args. Removed local variable callee. (Both are mere code simplifications.) @@ -8421,13 +8428,13 @@ * gthr-single.h: Add in required interface elements as per gthr.h. Add stub types for __gthread_key_t, __gthread_once_t. Add defines for __GTHREAD_ONCE_INIT, __GTHREAD_RECURSIVE_MUTEX_INIT. - Generalize UNUSED macro. + Generalize UNUSED macro. (__gthread_once): Add. (__gthread_key_create): Add. (__gthread_key_delete): Add. (__gthread_getspecific): Add. (__gthread_setspecific): Add. - + 2008-05-05 Andrew Pinski * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If we have @@ -8509,7 +8516,7 @@ * doc/invoke.texi (max-flow-memory-locations): Removed. * params.def (PARAM_MAX_FLOW_MEMORY_LOCATIONS): Removed. - + 2008-05-03 Richard Guenther PR middle-end/34973 @@ -8791,13 +8798,13 @@ * ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg instead of setting number of formal parameters to zero. - (ipcp_init_stage): Do not set the number of actual parameters to zero + (ipcp_init_stage): Do not set the number of actual parameters to zero either. (ipcp_propagate_stage): Explicitly skipping all calls to nodes which are called with variable number of arguments. (ipcp_insert_stage): Explicitely skipping all nodes which are called with variable number of arguments. - (ipcp_callsite_param_print): Skipps callsites to nodes with varaible + (ipcp_callsite_param_print): Skipps callsites to nodes with varaible number of parameters. * ipa-prop.h (struct ipa_node_params): Added flag @@ -8809,13 +8816,13 @@ (ipa_is_called_with_var_arguments): Added. (ipa_get_ith_param): Added. All readers of param_decls converted to use it instead. - (ipa_set_cs_argument_count): Added, sole writer to argument_count - changed to use it. + (ipa_set_cs_argument_count): Added, sole writer to argument_count + changed to use it. (ipa_get_cs_argument_count): Added, all readers of argument_count changed to cal it. - (ipa_get_ith_jump_func): Added. Accessors of jump values changed + (ipa_get_ith_jump_func): Added. Accessors of jump values changed to use it. - + * ipa-prop.h (struct ipcp_formal): Renamed to ipcp_lattice (struct ipcp_lattice): Renamed cval_type to type (struct ipa_node_params): ipcp_cval renamed to ipcp_lattices @@ -8827,9 +8834,9 @@ (build_const_val): Changed the type of parameter cvalue to tree (ipcp_propagate_const): Changed the type of parameter cvalue to tree (ipcp_method_cval_set_cvalue_type): Renamed parameter cval_type1 to type - - * ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called - constant + + * ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called + constant * ipa-prop.c (ipa_methodlist_init): Renamed to ipa_init_func_list (ipa_methodlist_not_empty): Removed, the sole user now checks directly @@ -8847,7 +8854,7 @@ (ipa_method_tree_map_create): Removed. (ipa_method_compute_tree_map): Renamed to ipa_create_param_decls_array (ipa_create_param_decls_array): Creates the array itself - (ipa_create_param_decls_array): Temporary variable info instead of + (ipa_create_param_decls_array): Temporary variable info instead of a few dereferences. (ipa_method_formal_compute_count): Renamed to ipa_count_formal_params (ipa_method_compute_modify): Renamed to ipa_detect_param_modifications @@ -8859,7 +8866,7 @@ (ipa_edges_create): Renamed to ipa_create_all_edge_args (ipa_edges_free): Renamed to ipa_free_all_edge_args (ipa_nodes_free): Integrated into ipa_free_all_node_params and removed - (ipa_free_all_node_params): Deallocation to jump_functions moved to + (ipa_free_all_node_params): Deallocation to jump_functions moved to ipa_free_all_edge_args (ipa_method_tree_print): Renamed to ipa_print_all_tree_maps (ipa_method_modify_print): Renamed to ipa_print_all_params_modified @@ -8870,22 +8877,22 @@ (ipa_methodlist_next_method_set): Removed. (ipa_method_is_modified): Removed. (ipa_method_modify_create): Removed. - (ipa_method_modify_init): Temporary variable info instead of a few + (ipa_method_modify_init): Temporary variable info instead of a few dereferences. - (ipa_detect_param_modifications): Temporary variable info instead of + (ipa_detect_param_modifications): Temporary variable info instead of a few dereferences. - (ipa_compute_jump_functions): Temporary variable info instead of + (ipa_compute_jump_functions): Temporary variable info instead of a few dereferences. (ipa_method_modify_set): Removed. (ipa_method_tree_map): Renamed to ipa_get_param_decl_index - (ipa_get_param_decl_index): Now accepts struct ipa_node_params rather + (ipa_get_param_decl_index): Now accepts struct ipa_node_params rather than craph_node as the first parameter. (ipa_method_modify_stmt): Renamed to ipa_check_stmt_modifications (ipa_method_modify_init): Removed. - (ipa_compute_jump_functions): Added a temp variable instead of + (ipa_compute_jump_functions): Added a temp variable instead of repeatadly dereferencing the cgraph_edge.aux pointer (ipa_callsite_param_set_type): Removed. - (ipa_compute_jump_functions): i renamed to index and moved to + (ipa_compute_jump_functions): i renamed to index and moved to an inner block (ipa_callsite_param_set_info_type_formal): Removed. (ipa_callsite_param_set_info_type): Removed. @@ -8896,9 +8903,9 @@ * ipa-prop.h (enum cvalue_type): Renamed to ipa_lattice_type, prefixed all values with IPA_. Changed all users. - (enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN, - CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF - and FORMAL_IPATYPE IPA_PASS_THROUGH. + (enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN, + CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF + and FORMAL_IPATYPE IPA_PASS_THROUGH. (union parameter_info): Renamed to jump_func_value. (union jump_func_value): Renamed value to constant (struct ipa_jump_func): Renamed info_type to value @@ -9055,7 +9062,7 @@ * tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record uses outside of the loop. (tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA - form if it is available. + form if it is available. * tree-flow.h (tree_unroll_loops_completely): Add extra parameter. * passes.c (init_optimization_passes): Schedule complete inner loop unrolling pass before the first CCP pass after final inlining. @@ -9397,9 +9404,9 @@ (init_elim_table): Update. 2008-04-25 Bob Wilson - + * optabs.c (expand_float): Fix REG_EQUAL for UNSIGNED_FLOAT libcall. - + 2008-04-25 H.J. Lu * config/i386/sse.md (mov): Replace SSEMODEI with SSEMODE. @@ -9470,7 +9477,7 @@ of code delimited by two edges in the CFG. (separate_decls_in_loop_name): Renamed separate_decls_in_region_name. (separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt. - (separate_decls_in_loop): Renamed separate_decls_in_region. Isolate + (separate_decls_in_loop): Renamed separate_decls_in_region. Isolate the case of parallelisation of reductions. (expr_invariant_in_region_p): New. @@ -9637,7 +9644,7 @@ PR middle-end/36003 * passes.c (init_optimization_passes): Remove pass_fast_rtl_byte_dce. - + 2008-04-22 Uros Bizjak PR target/29096 @@ -9728,14 +9735,14 @@ * dbgcnt.def (ra_byte_scan): Added. * dbgcnt.c (dbg_cnt): Added code to print message to dump_file - when the last hit happens for a counter. + when the last hit happens for a counter. * timevar.def (TV_DF_BYTE_LR): New variable. * tree-pass.h (pass_fast_rtl_byte_dce): New pass. * passes.c (pass_fast_rtl_byte_dce): New pass. * fwprop.c (update_df): Added mode to call df_ref_create. Renamed DF_REF_WIDTH and DF_REF_OFFSET to DF_REF_EXTRACT_WIDTH and DF_REF_EXTRACT_OFFSET. - * df.h (DF_BYTE_LR, DF_BYTE_LR_BB_INFO, DF_BYTE_LR_IN, + * df.h (DF_BYTE_LR, DF_BYTE_LR_BB_INFO, DF_BYTE_LR_IN, DF_BYTE_LR_OUT, df_byte_lr): New macro. (df_mm): New enum. (df_ref_extract): Added mode field. @@ -9743,7 +9750,7 @@ DF_REF_EXTRACT_OFFSET. (DF_REF_EXTRACT_MODE): New macro. (df_byte_lr_bb_info): New structure. - (df_print_byte_regset, df_compute_accessed_bytes, + (df_print_byte_regset, df_compute_accessed_bytes, df_byte_lr_add_problem, df_byte_lr_get_regno_start, df_byte_lr_get_regno_len, df_byte_lr_simulate_defs, df_byte_lr_simulate_uses, @@ -9754,9 +9761,9 @@ (df_byte_lr_get_bb_info): New inline function. * df-scan.c (df_ref_record, df_uses_record, df_ref_create_structure): Added mode parameter. - (df_ref_create, df_notes_rescan, df_ref_record, df_def_record_1, + (df_ref_create, df_notes_rescan, df_ref_record, df_def_record_1, df_defs_record, df_uses_record, df_get_conditional_uses, - df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect, + df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect, df_entry_block_defs_collect, df_exit_block_uses_collect): Added mode parameter to calls to df_ref_record, df_uses_record, df_ref_create_structure. @@ -9767,25 +9774,25 @@ * df-core.c (df_print_byte_regset): New function. * df-byte-scan.c: New file. * df-problems.c (df_rd_transfer_function): Removed unnecessary - calls to BITMAP_FREE. + calls to BITMAP_FREE. (df_byte_lr_problem_data, df_problem problem_BYTE_LR): New structure. (df_byte_lr_get_regno_start, df_byte_lr_get_regno_len, - df_byte_lr_set_bb_info, df_byte_lr_free_bb_info, - df_byte_lr_check_regs, df_byte_lr_expand_bitmap, + df_byte_lr_set_bb_info, df_byte_lr_free_bb_info, + df_byte_lr_check_regs, df_byte_lr_expand_bitmap, df_byte_lr_alloc, df_byte_lr_reset, df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init, - df_byte_lr_confluence_0, df_byte_lr_confluence_n, - df_byte_lr_transfer_function, df_byte_lr_free, + df_byte_lr_confluence_0, df_byte_lr_confluence_n, + df_byte_lr_transfer_function, df_byte_lr_free, df_byte_lr_top_dump, df_byte_lr_bottom_dump, - df_byte_lr_add_problem, df_byte_lr_simulate_defs, + df_byte_lr_add_problem, df_byte_lr_simulate_defs, df_byte_lr_simulate_uses, df_byte_lr_simulate_artificial_refs_at_top, df_byte_lr_simulate_artificial_refs_at_end): New function. * dce.c (byte_dce_process_block): New function. (dce_process_block): au is now passed in rather than computed locally. Changed loops that look at artificial defs to not look - for conditional or partial ones, because there never are any. - (fast_dce): Now is able to drive byte_dce_process_block or + for conditional or partial ones, because there never are any. + (fast_dce): Now is able to drive byte_dce_process_block or dce_process_block depending on the kind of dce being done. (rest_of_handle_fast_dce): Add parameter to fast_dce. (rest_of_handle_fast_byte_dce): New function. @@ -9833,14 +9840,14 @@ pointer_may_wrap_p to disable some false positives. 2008-04-18 Kris Van Hees - + * c-common.c (CHAR16_TYPE, CHAR32_TYPE): New macros. (fname_as_string): Match updated cpp_interpret_string prototype. (fix_string_type): Support char16_t* and char32_t*. (c_common_nodes_and_builtins): Add char16_t and char32_t (and derivative) nodes. Register as builtin if C++0x. (c_parse_error): Support CPP_CHAR{16,32}. - * c-common.h (RID_CHAR16, RID_CHAR32): New elements. + * c-common.h (RID_CHAR16, RID_CHAR32): New elements. (enum c_tree_index) PR c/35739 @@ -10062,7 +10069,7 @@ unused. Move filter, exc_ptr, ttype_data, ehspec_data, action_record_data and exception_handler_label_map, ehr_stackadj, ehr_handler, ehr_label, - sjlj_fc, sjlj_exit_after to rth_eh in function.h. + sjlj_fc, sjlj_exit_after to rth_eh in function.h. Remove call_site_data_used, call_site_data_size. Turn call_site_record into vector in function.h. (note_current_region_may_contain_throw): Remove. @@ -10072,7 +10079,7 @@ add_ttypes_entry, add_ehspec_entry, assign_filter_values, build_post_landing_pads, dw2_build_landing_pads, sjlj_assign_call_site_values, sjlj_mark_call_sites, - sjlj_emit_function_enter, sjlj_emit_function_enter, + sjlj_emit_function_enter, sjlj_emit_function_enter, sjlj_emit_function_exit, sjlj_emit_dispatch_table, sjlj_build_landing_pads, finish_eh_generation, remove_exception_handler_label, remove_eh_handler, @@ -10298,7 +10305,7 @@ (*extendsfdf2): Macroize insn pattern from *absextendsfdf2 and *negextendsfdf2 patterns using absneg code iterator. * config/i386/sse.md (2): Macroize expander from - abs2 and neg2 patterns using absneg code iterator. + abs2 and neg2 patterns using absneg code iterator. 2008-04-10 Andreas Krebbel @@ -10538,10 +10545,10 @@ 2008-04-08 Anatoly Sokolov - * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define - __AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL + * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define + __AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL instructions. - * config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for + * config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for atmega103 device. 2008-04-07 Jan Hubicka @@ -10562,7 +10569,7 @@ (assign_stack_local): Update (expand_function_end): Update. (get_art_pointer_save_area): Update - * function.h + * function.h * emit-rtl.c (rtl): Declare. (regno_reg_rtx): Declare. (first_insn, last_insn, cur_insn_uid, last_location, first_label_num): @@ -10657,7 +10664,7 @@ (avr_asm_init_sections): (Ditto.). (avr_rtx_costs): (Ditto.). * config/avr/avr.md: (Ditto.). - * config/avr/avr.h: Use '__AVR_HAVE_JMP_CALL__' instead of + * config/avr/avr.h: Use '__AVR_HAVE_JMP_CALL__' instead of '__AVR_MEGA__'. 2008-04-06 Richard Guenther @@ -10825,7 +10832,7 @@ * c-objc-common.h (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P): Rename to LANG_HOOKS_MISSING_NORETURN_OK_P. - + 2008-04-04 Jakub Jelinek PR c/35440 @@ -11021,10 +11028,10 @@ 2008-04-02 Anatoly Sokolov - * config/avr/predicates.md (io_address_operand): New predicate. + * config/avr/predicates.md (io_address_operand): New predicate. * config/avr/avr-protos.h (avr_io_address_p): Remove declaration. * config/avr/avr.c (avr_io_address_p): Remove function. - (out_movqi_r_mr): Use 'io_address_operand' predicate instead of + (out_movqi_r_mr): Use 'io_address_operand' predicate instead of 'avr_io_address_p' function. (out_movhi_r_mr): (Ditto.). (out_movqi_mr_r): (Ditto.). @@ -11721,7 +11728,7 @@ * config/alpha/x-vms (EXTRA_PROGRAMS): Remove. * config/t-openbsd-thread: Remove commented out lines. - + * config/x-interix: Remove. * config/m68hc11/t-m68hc11-gas: Rename to... @@ -11845,7 +11852,7 @@ (reload_reg_rtx_for_input): New variable. (reload_reg_rtx_for_output): Likewise. (emit_input_reload_insns): Use reloadreg rather than rl->reg_rtx - when reassigning a pseudo register. Load reloadreg from + when reassigning a pseudo register. Load reloadreg from reload_reg_rtx_for_input, moving the mode and register calculation to... (do_input_reload): ...here. Use the mode-adjusted reg_rtx @@ -11887,12 +11894,12 @@ (build/genflags.o): Likewise. 2008-03-25 Bob Wilson - + * config/xtensa/xtensa.c (xtensa_va_start): Use build_int_cst instead of size_int for integer types. (xtensa_gimplify_va_arg_expr): Likewise. Convert index to sizetype to match type of MINUS_EXPR. - + 2008-03-25 Tom Tromey * configure: Rebuilt. @@ -12010,7 +12017,7 @@ 2008-03-25 Naveen.H.S * config/sh/sh.md (prefetch): Add condition for SH2A target. - (prefetch_sh2a): New. + (prefetch_sh2a): New. 2008-03-25 Jayant Sonar Naveen.H.S @@ -12063,7 +12070,7 @@ * diagnostic.c (diagnostic_count_diagnostic): Delete. (diagnostic_report_diagnostic): Update. Handle ICEs here. - + 2008-03-24 Nathan Sidwell * gthr-vxworks.h (UNUSED): Define. @@ -12076,7 +12083,7 @@ * doc/extend.texi (Function Attributes): Add missing comma in the example of the "alloc_size" attribute. - + 2008-03-23 Uros Bizjak Revert: @@ -12554,22 +12561,22 @@ * config/avr/avr.c (avr_arch_types): Add avr6 entry. (avr_arch): Add ARCH_AVR6. (avr_mcu_types): Add 'atmega2560' and 'atmega2561' entry. - (initial_elimination_offset): Initialize and use 'avr_pc_size' + (initial_elimination_offset): Initialize and use 'avr_pc_size' instead of fixed value 2. (print_operand_address): Use gs() asm specifier instead of pm(). (avr_assemble_integer): (Ditto.). (avr_output_addr_vec_elt): (Ditto.). (print_operand): Handle "!" code. - * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add + * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add __AVR_3_BYTE_PC__, __AVR_2_BYTE_PC__ and __AVR_HAVE_JMP_CALL__. (AVR_HAVE_EIJMP_EICALL): Define. (AVR_3_BYTE_PC): Redefine. (AVR_2_BYTE_PC): (Ditto.). (PRINT_OPERAND_PUNCT_VALID_P): Add '!' code. (LINK_SPEC): Add atmega2560 and atmega2561. - (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561 + (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561 (crtm2561.o). - * config/avr/avr.md (call_insn): Use eicall instead of icall + * config/avr/avr.md (call_insn): Use eicall instead of icall for 3 byte PC devices. (call_value_insn): (Ditto.). (*tablejump_enh): Use eijmp instead of ijmp for 3 byte PC devices. @@ -12577,11 +12584,11 @@ (*tablejump): (Ditto.). (*indirect_jump_avr6): Add insn. (*tablejump_rjmp): Don't use for 3 byte PC devices. - * config/avr/libgcc.S (__prologue_saves__): Use eijmp + * config/avr/libgcc.S (__prologue_saves__): Use eijmp instead of ijmp for 3 byte PC devices. (__tablejump2__): (Ditto.). * config/avr/t-avr (MULITLIB_OPTIONS): Add avr6 architecture. - (MULITLIB_DIRNAMES): (Ditto.). + (MULITLIB_DIRNAMES): (Ditto.). (MULTILIB_MATCHES): Add atmega2560 and atmega2561 to list. 2008-03-15 Uros Bizjak @@ -12608,7 +12615,7 @@ being a PHI_NODE. 2008-03-14 Bob Wilson - + * doc/invoke.texi (Option Summary, Xtensa Options): Document -mserialize-volatile and -mno-serialize-volatile Xtensa options. * config/xtensa/xtensa.c (print_operand): Do not emit MEMW instructions @@ -13226,7 +13233,7 @@ (df_ref_create_structure): Allocate df_ref_extract if offset and width fields are used. (df_def_record_1): Get offset and width from ZERO_EXTRACT. - (df_uses_record): Get offset and width from ZERO_EXTRACT + (df_uses_record): Get offset and width from ZERO_EXTRACT and SIGN_EXTRACT. * global.c (build_insn_chain): Change DF_REF_EXTRACT to either DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change @@ -13237,7 +13244,7 @@ (df_ref_extract): New structure. (DF_REF_WIDTH, DF_REF_OFFSET): New macros. (df_ref_create): Add width and offset parameters. - + 2008-03-05 Richard Guenther * tree-ssa-structalias.c (get_constraint_for_component_ref): @@ -13468,7 +13475,7 @@ * Makefile.in (OBJS-common): Remove struct-equiv.o. (struct-equiv.o): Remove rule. * basic-block.h (struct_equiv_checkpoint, STRUCT_EQUIV_*, - insns_match_p, struct_equiv_block_eq, struct_equiv_init, + insns_match_p, struct_equiv_block_eq, struct_equiv_init, rtx_equiv_p, condjump_equiv_p): Remove prototypes. 2008-03-01 Alexandre Oliva @@ -13655,7 +13662,7 @@ * tree-vect-analyze.c: Remove unused static decls. * lambda.h (dependence_level): New. * common.opt (ftree-loop-distribution): New. - * tree-flow.h (mark_virtual_ops_in_bb, + * tree-flow.h (mark_virtual_ops_in_bb, slpeel_tree_duplicate_loop_to_edge_cfg, rename_variables_in_loop): Declared. * Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h. @@ -13865,7 +13872,7 @@ 2008-02-26 Jason Merrill PR c++/35315 - * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE + * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE alone if it's the naming decl for the type's main variant. 2008-02-26 Tom Tromey @@ -13959,7 +13966,7 @@ * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START. * tree-stdarg.c (execute_optimize_stdarg): Likewise. * tree-inline.c (inline_forbidden_p_1): Likewise. - + 2008-02-26 Richard Guenther * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ... @@ -14028,7 +14035,7 @@ Wvolatile-register-var. * common.opt: Move Wvolatile-register-var to... * c.opt: ...here. - + 2008-02-26 Manuel Lopez-Ibanez * common.opt (Wlarger-than=): New. @@ -14039,7 +14046,7 @@ * opth-gen.awk: Likewise. * stor-layout.c (layout_decl): Use -Wlarger-than= for warning. * tree-optimize.c (tree_rest_of_compilation): Likewise. - + 2008-02-26 Manuel Lopez-Ibanez * c-common.c (match_case_to_enum_1): Add appropriate @@ -14062,7 +14069,7 @@ (print_ignored_options): New. (handle_option): Postpone errors for unknown -Wno-* options. * opts.h (print_ignored_options): Declare. - + 2008-02-25 Richard Sandiford * config/mips/mips.md (loadgp_blockage, blockage): Change type @@ -14141,7 +14148,7 @@ PR c/35162 * doc/invoke.texi (-fcx-limited-range): Correct to be in line with actual behaviour and C99. - + 2008-02-26 Ben Elliston * config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define. @@ -14244,7 +14251,7 @@ unused local variable `has_hot_blocks'. (fix_crossing_conditional_branches): Remove unused local variable `prev_bb'. - + 2008-02-25 Uros Bizjak PR middle-end/19984 @@ -14336,7 +14343,7 @@ 2008-02-23 Uros Bizjak PR target/22076 - PR target/34256 + PR target/34256 * config/i386/mmx.md (*mov_internal_rex64): Use "!y" to prevent reload from using MMX registers. (*mov_internal): Ditto. @@ -14471,7 +14478,7 @@ * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn as a jump, not as a plain insn. - + 2008-02-20 Seongbae Park * doc/invoke.texi (Warning Options): Add new option @@ -14524,7 +14531,7 @@ * doc/install.texi: Correct references to CFLAGS, replacing them with BOOT_CFLAGS. Document flags used during bootstrap for target libraries. - + 2008-02-20 Uros Bizjak * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define. @@ -14657,7 +14664,7 @@ cannot be disambiguated. * c.opt (v): Pass on to the common option handler. -2008-02-19 Revital Eres +2008-02-19 Revital Eres * modulo-sched.c (sms_schedule): Change dump message when create_ddg function fails. @@ -14779,7 +14786,7 @@ 2008-02-17 Uros Bizjak Revert: - 2008-02-15 Uros Bizjak + 2008-02-15 Uros Bizjak * config/i386/sfp-machine.h (CMPtype): Define as typedef using libgcc_cmp_return mode. @@ -14955,7 +14962,7 @@ Add -fdump-ipa-inline. * tree-dump.c (dump_files): Remove tree-inlined dump. * tree-pass.h (tree_dump_index): Remove TDI_inlined. - + 2008-02-12 Richard Guenther PR tree-optimization/35171 @@ -15045,7 +15052,7 @@ 2008-02-08 Sa Liu - * config/spu/spu-builtins.def: Fixed wrong parameter type in spu + * config/spu/spu-builtins.def: Fixed wrong parameter type in spu intrinsics spu_convts, spu_convtu, spu_convtf. 2008-02-08 Hans-Peter Nilsson @@ -15060,7 +15067,7 @@ optc-gen.awk. * opts-common.c: Likewise. * optc-gen.awk: Likewise. - + 2008-02-07 Andreas Krebbel * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit. @@ -15069,7 +15076,7 @@ PR rtl-opt/33410 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an - EXPR_LIST for the REG_EQUAL instead of a comparison with a + EXPR_LIST for the REG_EQUAL instead of a comparison with a funny mode. 2008-02-07 Uros Bizjak @@ -15106,7 +15113,7 @@ 2008-02-06 Ralf Corsepius - * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add + * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add builtin_define ("__USE_INIT_FINI__"). * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add -msx multilibs. @@ -15239,16 +15246,16 @@ * doc/c-tree.texi (Types): Fix grammar. (Expression trees): Ditto. * doc/passes.texi (Tree-SSA passes): Ditto. - + * doc/configterms.texi (Configure Terms): Fix typo. * doc/cpp.texi (Common Predefined Macros): Ditto. * doc/md.texi (Machine Constraints): Ditto. - + * doc/makefile.texi (Makefile): Add comma. 2008-01-31 Tom Browder Gerald Pfeifer - + * doc/sourcebuild.texi (Front End): Remove references to CVS and CVSROOT/modules. (Texinfo Manuals): Replace reference to CVS by one to SVN. @@ -15269,7 +15276,7 @@ options. Minor fixes. (-std): Move reference to standards closer to where language standards are first mentioned. - + 2008-01-31 Richard Sandiford PR rtl-optimization/34995 @@ -15365,7 +15372,7 @@ 2008-01-28 Andy Hutchinson PR target/34412 - * config/avr/avr.c (expand_prologue): Use correct QI mode frame + * config/avr/avr.c (expand_prologue): Use correct QI mode frame pointer for tiny stack. 2008-01-28 Bernhard Fischer @@ -15450,7 +15457,7 @@ Change type of cost to comp_cost. (determine_iv_cost): Increase cost of non-original ivs, instead of decreasing the cost of original ones. - (get_address_cost): Indicate the complexity of the addressing mode + (get_address_cost): Indicate the complexity of the addressing mode in comp_cost. (try_add_cand_for): Prefer using ivs not specific to some object. * tree-flow.h (force_expr_to_var_cost): Declaration removed. @@ -15693,10 +15700,10 @@ * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs): New functions. (remove_structure): Update allocations list before removing structure. - + 2008-01-25 Golovanevsky Olga - * ipa-struct-reorg.c (is_safe_cond_expr, + * ipa-struct-reorg.c (is_safe_cond_expr, create_new_stmts_for_cond_expr): Use integer_zerop function, that recognize not only zero-pointer, but zero-integer too. @@ -15752,7 +15759,7 @@ PR c++/25701 * doc/gcc.texi (Software development): Add a direntry for g++. - + 2008-01-23 Hans-Peter Nilsson * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop @@ -15780,17 +15787,17 @@ (avr_arch_types): Add 'avr31' and 'avr51' entries. (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'. (avr_mcu_types): Add 'avr31' and 'avr51' architectures. - (avr_override_options): Init 'avr_current_arch'. + (avr_override_options): Init 'avr_current_arch'. (base_arch_s): Move from here... - * config/avr/avr.h (base_arch_s): ... here. Add new members - 'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename + * config/avr/avr.h (base_arch_s): ... here. Add new members + 'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename 'mega' to 'have_jmp_call'. - (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", + (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", "__AVR_HAVE_RAMPZ__", "__AVR_HAVE_ELPM__" and "__AVR_HAVE_ELPMX__" macros. - (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' + (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' architectures. - * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, + * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES): (Ditto.). 2008-01-23 Richard Guenther @@ -15960,7 +15967,7 @@ 2008-01-21 Alon Dayan Olga Golovanevsky - + PR tree-optimization/34701 * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation when the structure size is not a power of 2. @@ -15968,7 +15975,7 @@ 2008-01-20 Kenneth Zadeck * doc/install.texi: Add doc for --enable-checking=df. - + 2008-01-20 Kaz Kojima PR rtl-optimization/34808 @@ -16042,7 +16049,7 @@ (df_live_init): Init the df_live sets only with the variables found live by df_lr. (df_live_transfer_function): Use the df_lr sets to prune the - df_live sets as they are being computed. + df_live sets as they are being computed. (df_live_free): Free df_live_scratch. 2008-01-18 Ian Lance Taylor @@ -16224,7 +16231,7 @@ 2008-01-16 Sebastian Pop - * tree-data-ref.c (subscript_dependence_tester_1): Call + * tree-data-ref.c (subscript_dependence_tester_1): Call free_conflict_function. (compute_self_dependence): Same. @@ -16263,7 +16270,7 @@ PR c++/24924 * c-opts (c_common_post_options): Do not enable CPP flag_pedantic_errors by default. - + 2008-01-14 Eric Botcazou PR rtl-optimization/31944 @@ -16325,9 +16332,9 @@ correct type. 2008-01-11 Bob Wilson - + * config/xtensa/xtensa.c (override_options): Set flag_shlib. - + 2008-01-11 James E. Wilson PR target/26015 @@ -16335,8 +16342,8 @@ 2008-01-11 Anatoly Sokolov - * config/avr/avr.c (expand_prologue, expand_epilogue): Don't - save/restore frame pointer register and don't use 'call-prologues' + * config/avr/avr.c (expand_prologue, expand_epilogue): Don't + save/restore frame pointer register and don't use 'call-prologues' optimization in function with "OS_task" attribute. 2008-01-11 Eric Botcazou @@ -16462,13 +16469,13 @@ 2008-01-05 Uros Bizjak * config/i386/i386.c (ix86_builtin_reciprocal): Remove check - for TARGET_RECIP. - + for TARGET_RECIP. + 2008-01-08 Jan Sjodin - + * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs for vectorization tuned. - + 2008-01-08 Richard Guenther PR tree-optimization/34683 diff --git a/gcc/dse.c b/gcc/dse.c index 4d5120160fa..99233266377 100644 --- a/gcc/dse.c +++ b/gcc/dse.c @@ -783,10 +783,9 @@ replace_inc_dec (rtx *r, void *d) { rtx r1 = XEXP (x, 0); rtx c = gen_int_mode (Pmode, data->size); - add_insn_before (data->insn, - gen_rtx_SET (Pmode, r1, - gen_rtx_PLUS (Pmode, r1, c)), - NULL); + emit_insn_before (gen_rtx_SET (Pmode, r1, + gen_rtx_PLUS (Pmode, r1, c)), + data->insn); return -1; } @@ -795,10 +794,9 @@ replace_inc_dec (rtx *r, void *d) { rtx r1 = XEXP (x, 0); rtx c = gen_int_mode (Pmode, -data->size); - add_insn_before (data->insn, - gen_rtx_SET (Pmode, r1, - gen_rtx_PLUS (Pmode, r1, c)), - NULL); + emit_insn_before (gen_rtx_SET (Pmode, r1, + gen_rtx_PLUS (Pmode, r1, c)), + data->insn); return -1; } @@ -809,8 +807,7 @@ replace_inc_dec (rtx *r, void *d) insn that contained it. */ rtx add = XEXP (x, 0); rtx r1 = XEXP (add, 0); - add_insn_before (data->insn, - gen_rtx_SET (Pmode, r1, add), NULL); + emit_insn_before (gen_rtx_SET (Pmode, r1, add), data->insn); return -1; } @@ -827,12 +824,12 @@ static int replace_inc_dec_mem (rtx *r, void *d) { rtx x = *r; - if (GET_CODE (x) == MEM) + if (x != NULL_RTX && MEM_P (x)) { struct insn_size data; data.size = GET_MODE_SIZE (GET_MODE (x)); - data.insn = (rtx)d; + data.insn = (rtx) d; for_each_rtx (&XEXP (x, 0), replace_inc_dec, &data);