X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=c19ae95efaa2aec68286a011bfcef6ee057134a2;hp=dd3fa834e2b1116deae81eec045fb3db4315a955;hb=c083265937e8ccdb925d029f405861e3e3bac8c8;hpb=321fe2cb1d992424fd657f94ea06c6b353a4d347 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dd3fa834e2b..c19ae95efaa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,702 @@ +2009-11-17 Jan Hubicka + + * ipa-struct-reorg.c (update_cgraph_with_malloc_call): Fix profile + info. + +2009-11-17 Eric Botcazou + + * toplev.c (process_options): Remove dead code. + * doc/invoke.texi (-frename-registers): Mention -fpeel-loops. + +2009-11-17 Rafael Avila de Espindola + + * lto-symtab.c (lto_symtab_resolve_symbols): Always initialize the + nodes. + +2009-11-17 Ulrich Weigand + + PR tree-optimization/41857 + * tree-ssa-address.c (move_hint_to_base): Use void pointer to + TYPE's address space instead of pointer to TYPE. + +2009-11-17 Ulrich Weigand + + * reload.c (find_reloads_address): Fix typo. + +2009-11-17 Ulrich Weigand + + * config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC + registers in leaf functions if possible. + +2009-11-17 Maxim Kuvyrkov + + * config/m68k/m68k-devices.def: Add MCF5441x family. + +2009-11-17 Jan Hubicka + + * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not access + removed node. + * cgraphunit.c (verify_cgraph_node): Verify frequencies for match. + +2009-11-17 Uros Bizjak + + * config/i386/predicates.md (x86_64_szext_general_operand): Do not + nest ior expressions. + (x86_64_szext_nonmemory_operand): Ditto. + (call_insn_operand): Ditto. + +2009-11-16 Alexandre Oliva + + * stmt.c (expand_asm_stmt): Get locus from stmt. + +2009-11-16 Alexandre Oliva + + * tree-cfg.c (gimple_redirect_edge_and_branch) : + Create the decl label for the new dest block on demand. Require + a fallthrough edge if no asm labels were redirected. + +2009-11-16 Uros Bizjak + + * config/i386/i386.md (cbranchsi4): Use nonimmediate_operand for + operand 1 predicate. + (cstoresi4): Ditto for operand 2. + (cbranch4): Macroize expander from cbranch{qi,hi,si,di,ti}4 + patterns using SDWIM mode iterator. + (cstore4): Macroize expander from cstore{qi,hi,si,di}4 patterns + using SWIM mode iterator. + (cmpdi_1): Rename from cmpdi_1_rex64. + (cmp_1): Macroize expander from cmp{si,di}_1 patterns using + SWI48 mode iterator. + (*cmp_1): Macroize insn from *cmp{qi,hi,si,di}_1_insn using SWI + mode iterator. + (*cmp_ccno_1): Ditto from *cmp{qi,hi,si,di}_ccno_1. + (*cmp_minus_1): Ditto from *cmp{qi,hi,si,di}_minus_1. + (*cmpqi_ext_3_insn): Make private. + (*cmpqi_ext_3_insn_rex64): Make private. + (cmpstrnsi): Update for renamed cmpdi_1_rex64. + * config/i386/predicates.md (cmpsi_operand): Remove. + +2009-11-16 Paul Brook + + * doc/invoke.texi: Document ARM VFPv4 based FPUs. + * config/arm/arm.c (all_fpus): Add VFPv4 entries. + +2009-11-14 Jan Hubicka + + * cgraphbuild.c (compute_call_stmt_bb_frequency): Use proper + ENTRY_BLOCK_PTR. + * cgraph.c (cgraph_clone_edge): Avoid freq_scale 0 to completely + zero out all callees. + * cgraphunit.c (verify_cgraph_node): Verify cgraph nodes for + frequency and count match. + * ipa-inline.c (update_noncloned_frequencies): New function. + (cgraph_clone_inlined_nodes): Use it. + * tree-inline.c (copy_bb): Fix frequency scaling; output + diagnostic on frequency mismatches to dump file. + (initialize_cfun): Do not scale frequency; fix count scaling; + initialize entry and exit block frequencies; copy profile info. + (copy_cfg_body): Use frequency_scale as argument; fix count scaling. + (copy_body): Use frequency_scale as argument. + (expand_call_inline): Compute frequency scale and output diagnostic + to dump file. + (delete_unreachable_blocks_update_callgrah): Remove checking that + has to be done after edge redirection. + (tree_function_versioning): Update initialize_cfun and copy_body call. + +2009-11-14 Jan Hubicka + + * cgraph.c (cgraph_release_function_body): Update use of + ipa_transforms_to_apply. + (cgraph_remove_node): Remove ipa_transforms_to_apply. + * cgraph.h (struct cgraph_node): Add ipa_transforms_to_apply. + * cgraphunit.c (save_inline_function_body): Clear ipa_transforms for + copied body. + (cgraph_materialize_clone): Remove original if dead. + * lto-streamer-in.c (lto_read_body): Remove FIXME and + ipa_transforms_to_apply hack. + * function.h (struct function): Add ipa_transforms_to_apply. + * ipa.c (cgraph_remove_unreachable_nodes): Handle dead clone originals. + * tree-inline.c (copy_bb): Update sanity check. + (initialize_cfun): Do not copy ipa_transforms_to_apply. + (expand_call_inline): remove dead clone originals. + (tree_function_versioning): Merge transformation queues. + * passes.c (add_ipa_transform_pass): Remove. + (execute_one_ipa_transform_pass): Update ipa_transforms_to_apply + tracking. + (execute_all_ipa_transforms): Update. + (execute_one_pass): Update. + +2009-11-14 Andy Hutchinson + + PR target/21078, 21080 + * config/avr/avr.c (avr_return_addr_rtx): New function for + builtin_return_address. + (expand_prologue): Calculate stack usage. + (avr_asm_function_end_prologue): Output stack size and offset label. + * config/avr/avr.h (RETURN_ADDR_RTX): Replace. + (machine_function): Add stack_usage. + * config/avr/avr-protos.h (avr_return_addr_rtx): New function. + +2009-11-14 Anatoly Sokolov + + * config/iq2000/iq2000.c (iq2000_function_value): Make static, add + new 'outgoing' argument. + (iq2000_libcall_value, iq2000_function_value_regno_p): New functions. + (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare. + * config/iq2000/iq2000.h (FUNCTION_VALUE_REGNO_P): Redefine, use + iq2000_function_value_regno_p. + (FUNCTION_VALUE, LIBCALL_VALUE): Remove. + * config/iq2000/iq2000-protos.h (iq2000_function_value_regno_p): + Declare. + +2009-11-14 Richard Earnshaw + + PR target/42031 + * arm.md (adddi_sesidi_di): Place tied contraint first. + (adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise + (subdi_zesidi_di, subdi_sesidi_di): Likewise. + (mulsi3_compare0, mulsi_compare0_scratch): Likewise. + (mulsi3addsi, mulsi3addsi_compare0): Likewise. + (mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise. + (umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise. + (anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise. + (andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise. + (arm_lshrdi3_1bit, one_cmpldi2): Likewise. + +2009-11-14 Uros Bizjak + + * config/i386/predicates.md (call_register_no_elim_operand): + New predicate. Reject stack register as valid call operand + for 32bit targets. + (call_insn_operand): Use call_register_no_elim_operand. + +2009-11-13 Richard Henderson + + * function.c (stack_protect_prologue): Don't bypass expand_expr + for stack_protect_guard and guard_decl. + (stack_protect_epilogue): Likewise. + +2009-11-13 Jan Hubicka + + * ipa.c (function_and_variable_visibility): Clear COMDAT on functions + when to PUBLIC is set. + +2009-11-13 Jakub Jelinek + + PR middle-end/42029 + * gimplify.c (gimplify_omp_atomic): Set DECL_GIMPLE_REG_P on + tmp_load if needed. + +2009-11-13 Uros Bizjak + + PR target/41900 + * config/i386/i386.md (*call_pop_1, *call_1, *call_value_pop_1, + *call_value_1): Use "lsm" as operand 1 constraint. + * config/i386/predicates.md (call_insn_operand): Depend on + index_register_operand to avoid %esp register. + +2009-11-13 Uros Bizjak + + Revert: + 2009-11-03 Uros Bizjak + + PR target/41900 + * config/i386/i386.h (ix86_arch_indices) : New. + (TARGET_CALL_ESP): New define. + * config/i386/i386.c (initial_ix86_tune_features): Initialize + X86_ARCH_CALL_ESP. + * config/i386/i386.md (*call_pop_1_esp, *call_1_esp, + *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1, + *call_1, *call_value_pop_1 and *call_value_1. Depend on + TARGET_CALL_ESP. + (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): + New patterns, use "lsm" as operand 1 constraint. + * config/i386/predicates.md (call_insn_operand): Depend on + index_register_operand for !TARGET_CALL_ESP to avoid %esp register. + +2009-11-13 Jason Merrill + + PR debug/26965 + * dwarf2out.c (gen_variable_die): Don't worry about DECL_COMDAT. + Don't emit a second declaration at any scope. + +2009-11-13 Andrey Belevantsev + + PR rtl-optimization/41697 + * sel-sched-ir.c (fallthru_bb_of_jump): Bail out when a block with + a conditional jump has a single successor. + +2009-11-13 Andrey Belevantsev + + * sched-deps.c (init_deps): New parameter lazy_reg_last. Don't + allocate reg_last when in case lazy_reg_last is true. + (init_deps_reg_last): New. + (free_deps): When max_reg is 0, this context is already freed. + * sched-int.h (init_deps_reg_last): Export. + (init_deps): Update prototype. + * sched-ebb.c (schedule_ebb): Update the call to init_deps. + * sched-rgn.c (sched_rgn_compute_dependencies): Likewise. + * ddg.c (build_intra_loop_deps): Likewise. + * sel-sched-ir.c (copy_deps_context, create_deps_context, + reset_deps_context, deps_init_id): Likewise. + (init_first_time_insn_data): Lazy allocate INSN_DEPS_CONTEXT. + (free_data_for_scheduled_insn): New, break down from ... + (free_first_time_insn_data): ... here. + (has_dependence_p): Allocate reg_last now, when it is needed. + (extend_insn_data): When maximal LUID is big enough, allocate + per-insn data in smaller chunks. + * sel-sched-ir.h (free_data_for_scheduled_insn): Export. + * sel-sched.c (update_seqnos_and_stage): Free INSN_DEPS_CONTEXT + in scheduled insn. + +2009-11-13 Uros Bizjak + + * config/i386/i386.md (call_value): Fix comment. + (sibcall_value): Ditto. + +2009-11-13 Eric Botcazou + + * config/i386/linux-unwind.h (x86_frob_update_context): New function. + (MD_FROB_UPDATE_CONTEXT): Define. + +2009-11-12 Eric Botcazou + Laurent GUERBY + + * config/sparc/linux-unwind.h (sparc64_fallback_frame_state): Tidy. + Do not schedule an %sp restore. Compensate for RETURN_ADDR_OFFSET. + (sparc_fallback_frame_state): Tidy. Compensate for RETURN_ADDR_OFFSET. + +2009-11-12 Jan Hubicka + + * ipa.c (function_and_variable_visibility): Fix my accidentail commit + and clear DECL_COMMON on localized declarations. + +2009-11-12 Bernd Schmidt + + PR rtl-opt/38582 + * regrename.c (struct du_head): New structure; some elements moved + from... + (struct du_chain): ... this one. + (open_chains, closed_chains): Now of type struct du_head *. + (do_replace): Accept du_head argument, not du_chain. All callers + changed. Modified code to match new data structures. + (build_def_use): Return a list of du_head structures. Modified code + to match new data structures. + (dump_def_use_chain): Accept du_head argument, not du_chain. All + callers changed. Modified code to match new data structures. + (merge_overlapping_regs): Accept du_head argument, not du_chain. All + callers changed. Modified code to match new data structures. + (scan_rtx_reg): Change type of this_regno and this_nregs to unsigned. + Allocate a du_head structure as well as a du_chain when creating a + new chain. Modified other code to match new data structures. + +2009-11-12 Jan Hubicka + + * cgraph.h (varpool_node_name): Declare. + * cgraphunit.c (process_function_and_variable_attributes): Set + force_output flag on used variables. + * ipa.c (function_and_variable_visibility): Dump externally visible + and needed variables. + * varpool.c (varpool_node_name): Export. + (decide_is_variable_needed): Check COMDAT for externally visible vars; + ignore needed flag. + +2009-11-12 Uros Bizjak + + PR middle-end/41930 + * simplify-rtx.c (simplify_replace_fn_rtx) : Skip + processing if XEXP (x, i) is NULL. + +2009-11-12 Jan Hubicka + + * ipa.c (function_and_variable_visibility): Verify that WEAK || COMMON + imply PUBLIC || EXTERNAL. + +2009-11-11 Andy Hutchinson + + PR middle-end/41440 + * cfgexpand.c (expand_gimple_basic_block): Append NOP to a fallthru, + single successor block, ending with jump created by RTL expander. + +2009-11-11 Jan Hubicka + + PR middle-end/41729 + * ipa.c (function_and_variable_visibility): Do not privatize COMDAT + and WEAK variables at -fwhole-program. + + PR middle-end/41735 + * ipa.c (whole_program_function_and_variable_visility): COMDAT + functions/variables are not needed even if they are externally visible. + +2009-11-11 Jan Hubicka + + (patch by Richard Guenther) + * lto-streamer-out.c (output_function): Output head of argument list + earlier. + * lto-streamer-in.c (input_function): Re-map arguments into merged + declaration. + +2009-11-11 Jan Hubicka + + * lto-cgraph.c: Include gcov-io.h + (output_profile_summary): New function. + (output_cgraph): Use it. + (input_profile_summary): New function. + (input_cgraph): Use it. + * coverage.c (build_ctr_info_value): Use varpool; initalize + DECL_ASSEMBLER_NAME. + (create_coverage): Likewise. + * tree-profile.c (tree_init_ic_make_global_vars): Likewise. + (tree_init_edge_profiler): Likewise. + * Makefile.in (lto-cgraph.o): Add dependency on gcov-io.h. + +2009-11-11 Kai Tietz + + * config/i386/cygming.h (HANDLE_PRAGMA_PUSH_POP_MACRO): Removed. + * c-pragma.c (def_pragma_macro_value): Likewise. + (def_pragma_macro): Likewise. + (pushed_macro_table): Likewise. + (HANDLE_PRAGMA_PUSH_POP_MACRO): Remove guarded code. + * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): Removed. + +2009-11-11 Basile Starynkevitch + + * doc/plugins.texi (Registering custom attributes): section + renamed as (Registering custom attributes or pragmas). + Mentions custom attributes & pragmas, and c_register_pragma, with + a small example. + * doc/cpp.texi (Pragmas): Mentions that plugins can provide their + pragmas. + * doc/extend.texi (Function Attributes): Mentions that plugin can + provide their attributes. + +2009-11-11 Jon Beniston + + * config.gcc: Add lm32 elf and uclinux targets. + * config/lm32: New directory. + * config/lm32/lm32.c: New file. + * config/lm32/lm32.h: New file. + * config/lm32/lm32.md: New file. + * config/lm32/lm32.opt: New file. + * config/lm32/lm32-protos.h: New file. + * config/lm32/constraints.md: New file. + * config/lm32/predicates.md: New file. + * config/lm32/sfp-machine.h: New file. + * config/lm32/t-fprules-softfp: New file. + * config/lm32/uclinux-elf.h: New file. + * doc/invoke.texi: Document lm32 options. + * doc/contrib.texi: Document lm32 porter. + * doc/install.texi: Document lm32 targets. + +2009-11-11 Martin Jambor + + PR lto/41932 + * ipa-prop.c (ipa_update_after_lto_read): Call + ipa_check_create_node_params and ipa_check_create_edge_args. Also + call ipa_initialize_node_params instead of ipa_populate_param_decls. + +2009-11-11 Daniel Jacobowitz + + * config/arm/arm.c (neon_vdup_constant, neon_make_constant): New. + (neon_expand_vector_init): Use them. Also handle non-constant + vectors with identical elements and vectors with only one + non-constant element. + (arm_print_operand): Handle 'y' modifier. + * config/arm/arm-protos.h (neon_make_constant): Declare. + * config/arm/neon.md (neon_vdup_n): Split into two + patterns. Use VX instead of VDQW for the first one. Allow + a VFP alternative and V32 modes for the second one. + * config/arm/neon.ml (shape_elt): Add Alternatives. + (ops): Use Alternatives for vdup lane instructions. + * config/arm/neon-testgen.ml (analyze_shape): Handle Alternatives. + * config/arm/vec-common.md (mov): Use neon_make_constant. + +2009-11-11 Daniel Jacobowitz + + * config/arm/neon.md (*neon_mov): Reject two non-register + operands. + (movti, mov): Call force_reg on one operand if required. + * config/arm/vec-common.md (mov): Likewise. + +2009-11-11 Daniel Jacobowitz + + * config/arm/arm.c (arm_override_options): Enable scheduling for + Thumb-2. + +2009-11-10 Eric Botcazou + + PR target/10127 + PR ada/20548 + * expr.h (anti_adjust_stack_and_probe): Declare. + * explow.c (anti_adjust_stack_and_probe): Make global, add ADJUST_BACK + parameter and rewrite head comment. + (allocate_dynamic_stack_space): Adjust call to above function. + * function.c (expand_function_end): Handle STACK_CHECK_MOVING_SP. + + * tree.h (dwarf2out_args_size): Delete. + * dwarf2out.c (dwarf2out_args_size): Make static and move around. + (dwarf2out_args_size_adjust): Delete prototype and move around. + (dwarf2out_frame_debug_expr): Do not record arg size adjustments for + ACCUMULATE_OUTGOING_ARGS targets. + +2009-11-10 Eric Botcazou + + * config/sparc/sparc.c (print_operand) <')'>: Test for a non-null + DECL_SIZE of DECL_RESULT before evaluating it. + +2009-11-10 Kaveh R. Ghazi + + PR tree-optimization/41987 + * fold-const.c (const_binop): Avoid using fold_buildN(). + +2009-11-10 Martin Jambor + + * tree-pass.h (struct ipa_opt_pass_d): Added stmt_fixup field. + (execute_all_ipa_stmt_fixups): Declare. + * ipa-cp.c (pass_ipa_cp): Added stmt_fixup value. + * ipa-inline.c (pass_ipa_inline): Likewise. + * ipa-pure-const.c (pass_ipa_pure_cons): Likewise. + * ipa-reference.c (pass_ipa_reference): Likewise. + * ipa.c (pass_ipa_whole_program_visibility): Likewise. + * lto-streamer-out.c (pass_ipa_lto_gimple_out): Likewise. + (pass_ipa_lto_finish_out): Likewise. + * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Likewise. + * passes.c (execute_ipa_stmt_fixups): New function. + (execute_all_ipa_stmt_fixups): New function. + * lto-streamer-in.c (input_function): Call execute_all_ipa_stmt_fixups. + +2009-11-10 Eric Botcazou + + PR ada/20548 + * explow.c (probe_stack_range): Fix typo. + * config/sparc/sparc.md (probe_stack): New expander. + +2009-11-09 Dave Korn + + * config/i386/cygwin.h (LINK_SPEC): Add -tsaware flag if !mno-cygwin. + +2009-11-09 Jason Merrill + + * gdbinit.in (pgq): New function for printing gimple sequence. + +2009-11-09 Paul Brook + Daniel Jacobowitz + Sandra Loosemore + + * doc/extend.texi (Half-Precision): Update wording to reflect + that there are now multiple -mfpu options that enable fp16 + hardware support. + * doc/invoke.texi: Update list of ARM -mfpu= options. + * config.gcc: Update ARM --with-fpu option list. + * config/arm/arm.c (all_fpus): Add vfpv3-fp16, vfpv3-d16-fp16, + vfpv3xd and vfpv3xd-fp16. + (use_vfp_abi): New function. + (aapcs_vfp_is_call_or_return_candidate): Avoid double precision regs + when undesirable. + (aapcs_vfp_is_return_candidate, aapcs_vfp_is_call_candidate, + aapcs_vfp_allocate_return_reg): Use use_vfp_abi. + (arm_rtx_costs_1, arm_size_rtx_costs, arm_fastmul_rtx_costs, + arm_9e_rtx_costs): Only expect double-precision operations if the FPU + provides them. + (coproc_secondary_reload_class): Reload HFmode via GENERAL_REGS if no + NEON. + (arm_print_operand): Handle 'p' modifier. + (arm_hard_regno_mode_ok): : Allow HFmode in VFP registers if + TARGET_FP16. + * config/arm/arm.h (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Define. + (TARGET_FP16): Define. + * config/arm/vfp.md: Disable double-precision patterns if the FPU + does not provide them. + (arm_movdi_vfp, thumb2_movdi_vfp): Use fcpys to move + double-precision values on a single-precision FPU. + (movdf_vfp, thumb2_movdf_vfp): Likewise. Use "Dy" for + double-precision constants. + (movhf_vfp_neon): New pattern (was movhf_vfp). + (movhf_vfp): Remove NEON instructions. + * config/arm/constraints.md: Add new "Dy" constraint for + double-precision constants. Update description of "Dv". + * config/arm/arm.md: Disable double-precision patterns if the FPU + does not provide them + +2009-11-09 Jakub Jelinek + + * config/i386/i386.c (print_operand) : Fix formatting. + (print_operand) : Likewise. Fix a pasto in operand lossage + diagnostics. + +2009-11-08 H.J. Lu + + * collect2.c (main): Search PLUGIN_LD for plugin linker. + + * configure.ac (--with-plugin-ld): New. Default to ld. + * configure: Regenerated. + * config.in: Likewise. + + * exec-tool.in (ORIGINAL_PLUGIN_LD_FOR_TARGET): New. + (collect-ld): Use ORIGINAL_PLUGIN_LD_FOR_TARGET for -plugin. + +2009-11-08 Jonathan Gray + + * config/openbsd-stdint.h: Change to reflect what + c_common_nodes_and_builtins expects. + +2009-11-08 Paolo Carlini + + * builtins.c (apply_args_reg_offset): Remove commented out delaration. + +2009-11-08 Jakub Jelinek + + PR target/41985 + * config/i386/i386.c (get_some_local_dynamic_name): Don't assert + function contains at least one local dynamic name. + (print_operand) : Instead output operand lossage diagnostics + here if that happens. + +2009-11-08 Zbigniew Chamski + Joern Rennecke + + * cfgrtl.c (pass_free_cfg): Add pass name. + * cgraphbuild.c (pass_build_cgraph_edges): Likewise. + (pass_rebuild_cgraph_edges, pass_remove_cgraph_callee_edges): Likewise. + * dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Change pass name. + * df-core.c (pass_df_initialize_no_opt): Likewise. + * except.c (pass_rtl_eh): Likewise. + * function.c (pass_init_function, pass_leaf_regs): Likewise. + * gcse.c (pass_rtl_pre): Change pass name. + * passes.c (pass_postreload): Add pass name. + (make_pass_instance): Don't use duplicate-tracking logic for + names starting with '*'. + (next_pass_1): Assert that pass has a name. + (register_one_dump_file): If there is an space in the name, + skip past it. + * predict.c (pass_strip_predict_hints): Add pass name. + * reg-stack.c (pass_stack_regs): Likewise. + * stack-ptr-mod.c (pass_stack_ptr_mod): Likewise. + * tree-cfg.c (pass_warn_function_return, + pass_warn_function_noreturn): Add pass name. + * tree-dfa.c (pass_referenced_vars): Likewise. + * tree-optimize.c (pass_cleanup_cfg_post_optimizing): + Fix whitespace before comment. + (pass_fixup_cfg): Add pass name, fix whitespace before comment. + (pass_init_datastructures): Add pass name. + * tree-ssa-loop.c (pass_record_bounds): Likewise. + * tree-ssa.c (pass_early_warn_uninitialized, + pass_late_warn_uninitialized): Likewise. + * tree.c (pass_ipa_free_lang_data): Likewise. + * doc/passes.texi (pass manager): Document how to disambiguate + pass names. + +2009-11-08 Paolo Bonzini + + * df-problems.c: Fix documentation for forward simulation of LR. + (df_simulate_one_insn_forwards): Use df_simulate_find_defs. + (df_simulate_finalize_forwards): Remove. + * df.h (df_simulate_finalize_forwards): Remove. + +2009-11-08 Richard Guenther + + * tree-ssa-structalias.c (build_succ_graph): Properly make + variables escape if they are stored to anything. + +2009-11-08 Richard Guenther + + PR rtl-optimization/41928 + * loop-invariant.c (free_loop_data): If we didn't allocate + loop data do not try to free it. + +2009-11-07 Jason Merrill + + * tree.c (reconstruct_complex_type): Preserve attributes. + +2009-11-07 Richard Guenther + + * tree-ssa-structalias.c (build_succ_graph): Feed stores + to anything only to variables that can take pointers. + (get_constraint_for_ssa_var): Properly exclude full + variables from expanding. + (first_vi_for_offset): Avoid overflow in arithmetic. + (first_or_preceding_vi_for_offset): Likewise. + (count_num_arguments): Fix implementation. + (gate_ipa_pta): Do not run when not optimizing. + +2009-11-07 David Binderman + + * builtins.c (apply_args_size, expand_builtin_mathfn, expand_powi, + expand_builtin_expect, maybe_emit_sprintf_chk_warning): Remove some + set but not used variables. + (apply_args_reg_offset): Comment out as unused. + * calls.c (flags_from_decl_or_type): Likewise. + * genautomata.c (check_regexp_units_distribution): Likewise. + +2009-11-07 Uros Bizjak + + * config/i386/sse.md (xop_pmacsww, xop_pmacssww, xop_pmacsdd, + xop_pmacssdd, xop_pmacssdql, xop_pmacssdqh, xop_pmacsdql, + *xop_pmacsdql_mem, xop_pmacsdqh, *xop_pmacsdqh_mem, xop_pmacsswd, + xop_pmacswd, xop_pmadcsswd, xop_pmadcswd, xop_pcmov_, + xop_pcmov_256, xop_pperm, xop_pperm_pack_v2di_v4si, + xop_pperm_pack_v4si_v8hi, xop_pperm_pack_v8hi_v16qi): Compress + operand alternatives. + +2009-11-06 Michael Matz + + PR middle-end/41963 + * tree-ssa-math-opts.c (execute_cse_reciprocals): Check all uses + of a potential reciprocal to really be reciprocals. + +2009-11-06 Jakub Jelinek + + * config/i386/x86intrin.h: Include fma4intrin.h, xopintrin.h and + lwpintrin.h after immintrin.h. + * config/i386/fma4intrin.h (__v8sf, __v4df, __m256, __m256d): Remove + typedefs. + + PR middle-end/41935 + * c-common.c (fold_offsetof_1) : Don't crash for VLAs + or non-constant index, allow index one past the last element and + allow exceeding array bound in arrays that might be used as flexible + array members. + +2009-11-05 Richard Henderson + + * config/i386/ia32intrin.h: Protect CRC32 builtins with __SSE4_2__. + +2009-11-05 Paul Brook + + * config/arm/arm.c (arm_fp_model, arm_fpu_arch, arm_fpu_tune): Remove. + (arm_fpu_desc): New. + (all_fpus): Add FPU details. + (fp_model_for_fpu): Remove. + (arm_override_options): Set and use arm_fpu_desc and arm_fpu_attr. + (arm_output_epilogue, arm_save_coproc_regs): Use TARGET_FPA_EMU2. + (arm_file_start): Use arm_fpu_desc. + * config/arm/arm.h (TARGET_FPA, TARGET_MAVERICK, TARGET_VFP, + TARGET_VFPD32, TARGET_VFP3, TARGET_NEON_FP16, TARGET_NEON): Use + arm_fpu_desc. + (TARGET_FPA_EMU2): Define. + (arm_fp_model, fputype, arm_fpu_tune): Remove. + (vfp_reg_type, arm_fpu_desc): New. + * config/arm/arm.md (attr fpu): Simplify. + * config/arm/fpa.md (movxf_fpa): Use TARGET_FPA_EMU2. + * config/arm/linux-elf.h (FPUTYPE_DEFAULT): Use string value. + * config/arm/bpabi.h (FPUTYPE_DEFAULT): Use string value. + * config/arm/netbsd-elf.h (FPUTYPE_DEFAULT): Use string value. + * config/arm/vxworks.h (FPUTYPE_DEFAULT): Use string value. + +2009-11-05 Michael Matz + + * config/i386/i386.c (ix86_builtin_reciprocal): Remove dependency + on TARGET_RECIP. + * doc/invoke.texi (-mrecip): Clarify that we don't need -mrecip + for 1/sqrtf. + +2009-11-04 Jason Merrill + + PR c++/36912 + * varasm.c (initializer_constant_valid_p): A PLUS_EXPR + or MINUS_EXPR of REAL_TYPE is not a valid constant initializer. + (output_constant): Avoid crash after error. + 2009-11-05 Martin Jambor * tree-sra.c (struct access): Changed comment of next_sibling field. @@ -11,7 +710,7 @@ 2009-11-04 Kenneth Zadeck * df-scan.c (df-uses-record): Add case zero_extract of mem. - + 2009-11-04 Eric Botcazou PR target/10127 @@ -31,11 +730,11 @@ * config/i386/cpuid.h (bit_LWP): Define LWP bit. * config/i386/x86intrin.h: Add LWP check and lwpintrin.h. * config/i386/i386-c.c (ix86_target_macros_internal): Check - ISA_FLAG for LWP. + ISA_FLAG for LWP. * config/i386/i386.h (TARGET_LWP): New macro for LWP. * config/i386/i386.opt (-mlwp): New switch for LWP support. * config/i386/i386.c (OPTION_MASK_ISA_LWP_SET): New. - (OPTION_MASK_ISA_LWP_UNSET): New. + (OPTION_MASK_ISA_LWP_UNSET): New. (ix86_handle_option): Handle -mlwp. (isa_opts): Handle -mlwp. (enum pta_flags): Add PTA_LWP. @@ -56,7 +755,7 @@ (builtin_description): Ditto. (ix86_init_mmx_sse_builtins): Ditto. (ix86_expand_special_args_builtin): Ditto. - * config/i386/i386.md (UNSPEC_LLWP_INTRINSIC): Add new UNSPEC for + * config/i386/i386.md (UNSPEC_LLWP_INTRINSIC): Add new UNSPEC for LWP support. (UNSPEC_SLWP_INTRINSIC): Ditto. (UNSPECV_LWPVAL_INTRINSIC): Ditto. @@ -73,22 +772,22 @@ (lwp_lwpinshi3): Ditto. (lwp_lwpinssi3): Ditto. (lwp_lwpinsdi3): Ditto. - + 2009-11-04 Andrew Pinski - Trevor Smigiel + Trevor Smigiel PR rtl-opt/41833 * simplify-rtx.c (simplify_binary_operation_1): Simplify vec_select of a vec_duplicate. 2009-11-04 Richard Guenther - Rafael Avila de Espindola - + Rafael Avila de Espindola + * gcc.c (process_command): Handle arguments name@offset. 2009-11-04 Harsha Jagasia Dwarakanath Rajagopal - + * config.gcc (i[34567]86-*-*): Include xopintrin.h. (x86_64-*-*): Ditto. * config/i386/xopintrin.h: New file, provide common x86 compiler @@ -96,7 +795,7 @@ * config/i386/cpuid.h (bit_XOP): Define XOP bit. * config/i386/x86intrin.h: Add XOP check and xopintrin.h. * config/i386/i386-c.c(ix86_target_macros_internal): Check - ISA_FLAG for XOP. + ISA_FLAG for XOP. * config/i386/i386.h(TARGET_XOP): New macro for XOP. * config/i386/i386.opt (-mxop): New switch for XOP support. * config/i386/i386.md (UNSPEC_XOP_UNSIGNED_CMP) @@ -106,9 +805,8 @@ (PPERM_*): New constants for vpperm instruction. (xop_pcmov_): Add XOP conditional mov instructions. * config/i386/i386.c (OPTION_MASK_ISA_XOP_SET): New. - (OPTION_MASK_ISA_XOP_UNSET): New. - (OPTION_MASK_ISA_XOP_UNSET): Change definition to - depend on XOP. + (OPTION_MASK_ISA_XOP_UNSET): New. + (OPTION_MASK_ISA_XOP_UNSET): Change definition to depend on XOP. (ix86_handle_option): Handle -mxop. (isa_opts): Handle -mxop. (enum pta_flags): Add PTA_XOP. @@ -286,7 +984,7 @@ (xop_pmadcsswd): Ditto. (xop_pmadcswd): Ditto. (xop_pcmov_): Ditto. - (xop_pcmov_)256: Ditto. + (xop_pcmov_256): Ditto. (xop_phaddbw): Ditto. (xop_phaddbd): Ditto. (xop_phaddbq): Ditto. @@ -321,7 +1019,7 @@ (ashrv2di3): Ditto. (xop_frcz2): Ditto. (xop_vmfrcz2): Ditto. - (xop_frcz2256): Ditto. + (xop_frcz2256): Ditto. (xop_maskcmp3): Ditto. (xop_maskcmp_uns3): Ditto. (xop_maskcmp_uns23): Ditto. @@ -329,7 +1027,7 @@ * doc/invoke.texi (-mxop): Add documentation. * doc/extend.texi (x86 intrinsics): Add XOP intrinsics. - + 2009-11-03 Mark Mitchell PR driver/11810 @@ -525,8 +1223,8 @@ 2009-11-03 Dodji Seketeli PR c++/38699 - * c-common.c (fold_offsetof_1): Issue errors when the member designator - of the offsetof expression is not legitimate. + * c-common.c (fold_offsetof_1): Issue errors when the member + designator of the offsetof expression is not legitimate. 2009-11-03 Uros Bizjak @@ -605,7 +1303,7 @@ * config/frv/frv.c (frv_function_value, frv_libcall_value, frv_function_value_regno_p): New functions. (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare. - * config/frv/frv.h: (FUNCTION_VALUE, LIBCALL_VALUE): Remove. + * config/frv/frv.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove. (FUNCTION_VALUE_REGNO_P): Redefine, use frv_function_value_regno_p. * config/frv/frv-protos.h (frv_function_value_regno_p): Declare. @@ -615,7 +1313,7 @@ new 'outgoing' argument. (mn10300_libcall_value, mn10300_function_value_regno_p): New functions. (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare. - * config/mn10300/mn10300.h: (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, + * config/mn10300/mn10300.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Remove. (FUNCTION_VALUE_REGNO_P): Redefine, use mn10300_function_value_regno_p. * config/mn10300/mn10300-protos.h (mn10300_function_value): Remove. @@ -623,7 +1321,7 @@ 2009-10-31 Ramana Radhakrishnan - * config/arm/cortex-a9.md: New - integer pipeline description. + * config/arm/cortex-a9.md: New - integer pipeline description. 2009-10-31 Eric Botcazou @@ -4736,6 +5434,34 @@ mode. Use it to convert addresses to other modes. Accept ptr_mode addresses. +2009-09-23 Dodji Seketeli + + PR debug/41065 + * function.h (types_used_by_vars_hash): Declare new hash table. + (types_used_by_vars_eq, types_used_by_var_decl_insert): Declare + equality and hash function for the hash table. + (types_used_by_cur_var_decl): Declare a new global chained list. + (types_used_by_var_decl_insert): Declare new function. + * function.c (types_used_by_vars_hash): Define the hashtable ... + (types_used_by_vars_eq, types_used_by_vars_do_hash): ... as well as + its equality and hash functions. + (hash_types_used_by_vars_entry): New hash helper. + (types_used_by_cur_var_decl): Define the global chained list. + (used_types_insert): Update the list of types used by the global + variable being parsed. + (types_used_by_var_decl_insert): Define new function. + * c-common.h (record_types_used_by_current_var_decl): Declare ... + * c-common.c (record_types_used_by_current_var_decl): ... new + function. + * c-decl.c (finish_decl): Record the types used by the global + variable declaration we've just parsed. + * dwarf2out.c (premark_used_types): Insert a new line between + comment and function. + (premark_used_types_helper): Fix comment. + (premark_types_used_by_global_vars_helper, + premark_types_used_by_global_vars): New functions. + (prune_unused_types): Do not prune types used by global variables. + 2009-09-23 Richard Guenther * alias.c (ao_ref_from_mem): Correct for negative MEM_OFFSET @@ -9682,7 +10408,7 @@ * arm.c (aapcs_vfp_is_call_or_return_candidate): Change base_mode to pointer to enum machine_mode. Update all callers as needed. -2009-08-21 Uros Bizjak +2009-08-21 Uros Bizjak * config/alpha/alpha.md (exception_receiver): Emit alternative GP load sequence if flag_reorder_blocks_and_partition is set.