X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=2d309c043631910a122c8e7f3bcaa09f6440c967;hp=5017016cce4d8bdf8b296c386914b61d628f2710;hb=5612e2f1f15bdd09bc1e0d1cfcfd63b654949bc6;hpb=501ec29ae3539d16f7107b8880044505506828c5 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5017016cce4..2d309c04363 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,1013 @@ +2008-05-12 Uros Bizjak + + PR rtl-optimization/36111 + * recog.c (validate_replace_rtx_1): Unshare new RTL expression + that was created for swappable operands. + +2008-05-12 Samuel Tardieu + + PR ada/36001 + * Makefile.in: Substitute GNATMAKE and GNATBIND. + * configure.ac: Add call to ACX_PROG_GNAT. + +2008-05-11 Volker Reichelt + + * optc-gen.awk: Fix comment typo. + +2008-05-11 Aaron W. LaFramboise + + * pretty-print.c (pp_integer_with_precision): Use + HOST_LONG_LONG_FORMAT. + +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. + (ix86_builtin_type): Add INT_FTYPE_V2DI_V2DI_PTEST. + (bdesc_args): Add __builtin_ia32_ptestz128, + __builtin_ia32_ptestc128 and __builtin_ia32_ptestnzc128. + (ix86_init_mmx_sse_builtins): Updated. + (ix86_expand_args_builtin): Handle INT_FTYPE_V2DI_V2DI_PTEST. + (ix86_expand_builtin): Updated. + +2008-05-10 Richard Sandiford + + * tree-cfg.c (valid_fixed_convert_types_p): New function. + (verify_gimple_expr): Handle FIXED_CONVERT_EXPR. + +2008-05-10 Uros Bizjak + + * value-prof.c (interesting_stringop_to_profile): Do not + return early for BUILT_IN_MEMPCPY. + +2008-05-09 H.J. Lu + + * calls.c (expand_call): Don't use callgraph to increase + preferred_stack_boundary. + + * cgraph.h (cgraph_rtl_info): Use unsigned on + preferred_incoming_stack_boundary. + + * final.c (rest_of_clean_state): Use unsigned on + preferred_stack_boundary. + +2008-05-09 Tom Tromey + + PR preprocessor/22231: + * c-opts.c (sanitize_cpp_opts): Disallow -MG if compilation is + proceeding. + +2008-05-09 Uros Bizjak + + PR tree-optimization/36129 + * tree-ssa-ccp.c: Include value-prof.h. + (execute_fold_all_builtins): Call gimple_remove_stmt_histograms if + built-in function was folded to a constant. + * Makefile.in (tree-ssa-ccp.c): Depend on value-prof.h + +2008-05-09 Jan Sjodin + Sebastian Pop + + * tree-scalar-evolution.c: Document instantiate_scev. + (instantiate_parameters_1): Renamed instantiate_scev_1. + Don't use the same loop for instantiation_loop and evolution_loop. + (instantiate_scev): New. + (instantiate_parameters): Moved... + (resolve_mixers): Update call to instantiate_scev_1 to pass the + same loop twice. Maintains the semantics for this function. + * tree-scalar-evolution.h (instantiate_scev): Declare. + (instantiate_parameters): ...here. Now static inline. + * tree-data-ref.c (dr_analyze_indices): Call instantiate_scev + instead of resolve_mixers. + +2008-05-09 Maxim Kuvyrkov + + * rtl-factoring.c (collect_pattern_seqs): Fix typo. + +2008-05-09 Tomas Bily + + * config/pa/pa.c (reloc_needed): Use CASE_CONVERT. + * tree-cfg.c (verify_expr, verify_gimple_expr): Likewise. + * tree-ssa-structalias.c (get_constraint_for): Likewise. + * c-common.c (c_common_truthvalue_conversion): Likewise. + * tree-object-size.c (compute_object_offset): Likewise. + * tree-inline.c (estimate_num_insns_1): Likewise. + * varasm.c (const_hash_1, compare_constant, copy_constant) + (compute_reloc_for_constant, output_addressed_constants) + (initializer_constant_valid_p): Likewise. + * c-omp.c (check_omp_for_incr_expr): Likewise. + * gimplify.c (gimplify_expr): Likewise. + * c-typeck.c (c_finish_return): Likewise. + * tree-vectorizer.c (supportable_widening_operation) + (supportable_narrowing_operation): Likewise. + * c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Likewise. + * matrix-reorg.c (can_calculate_expr_before_stmt): Likewise. + * expr.c (highest_pow2_factor, expand_expr_real_1): Likewise. + * dwarf2out.c (loc_descriptor_from_tree_1, add_bound_info) + (descr_info_loc): Likewise. + * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Likewise. + * fold-const.c (operand_equal_p, make_range, extract_muldiv_1) + (fold_unary): Likewise. + * builtins.c (get_pointer_alignment): Likewise. + * tree-scalar-evolution.c (interpret_rhs_modify_stmt) + (instantiate_parameters_1): Likewise. + * tree.c (expr_align, stabilize_reference): Likewise. + * tree-pretty-print.c (dump_generic_node, op_prio): Likewise. + * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise. + * convert.c (strip_float_extensions): Use CONVERT_EXPR_P. + * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise. + * config/alpha/alpha.c (va_list_skip_additions): Likewise. + * c-common.c (c_alignof_expr, check_function_arguments_recurse): + Likewise. + * tree-ssa.c (tree_ssa_useless_type_conversion): Likewise. + * varasm.c (initializer_constant_valid_p, output_constant): Likewise. + * tree-ssa-forwprop.c (get_prop_source_stmt, can_propagate_from) + (forward_propagate_addr_expr_1, forward_propagate_addr_expr) + (forward_propagate_comparison) + (tree_ssa_forward_propagate_single_use_vars): Likewise. + * cfgexpand.c (discover_nonconstant_array_refs_r): Likewise. + * emit-rtl.c (component_ref_for_mem_expr) + (set_mem_attributes_minus_bitpos): Likewise. + * tree-ssa-phiopt.c (conditional_replacement): Likewise. + * gimplify.c (gimplify_conversion, goa_lhs_expr_p, gimplify_expr): + Likewise. + * c-typeck.c (default_function_array_conversion, build_indirect_ref) + (build_function_call, pointer_diff, build_compound_expr) + (c_finish_return): Likewise. + * tree-vect-analyze.c (vect_determine_vectorization_factor): Likewise. + * matrix-reorg.c (get_inner_of_cast_expr, may_flatten_matrices_1): + Likewise. + * tree-ssa-ifcombine.c (recognize_single_bit_test): Likewise. + * expr.c (is_aligning_offset): Likewise. + * tree-ssa-alias.c (is_escape_site): Likewise. + * tree-stdarg.c (va_list_counter_bump, check_va_list_escapes) + (check_all_va_list_escapes): Likewise. + * tree-ssa-loop-ivopts.c (determine_base_object) + (determine_common_wider_type): Likewise. + * dojump.c (do_jump): Likewise. + * tree-ssa-sccvn.c (simplify_unary_expression): Likewise. + * tree-gimple.c (is_gimple_cast): Likewise. + * fold-const.c (decode_field_reference, ) + (fold_sign_changed_comparison, fold_unary, fold_comparison) + (fold_binary): Likewise. + * tree-ssa-alias-warnings.c (find_alias_site_helper) + (already_warned_in_frontend_p): Likewise. + * builtins.c (get_memory_rtx, fold_builtin_next_arg): Likewise. + * tree.c (really_constant_p, get_unwidened): Likewise. + * tree-ssa-loop-niter.c (expand_simple_operations): Likewise. + * tree-ssa-loop-im.c (rewrite_bittest): Likewise. + * tree-vrp.c (register_edge_assert_for_2, register_edge_assert_for_1): + Likewise. + * tree.h (STRIP_NOPS, STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Use + CONVERT_EXPR_P. + (CONVERT_EXPR_P): Define. + (CASE_CONVERT): Define. + +2008-05-08 Kenneth Zadeck + + PR middle-end/36117 + * dce.c (deletable_insn_p): Do not delete calls if df_in_progress. + (delete_unmarked_insns): When deleting a call, call + delete_unreachable_blocks. + * rtl.texi (RTL_CONST_CALL_P, RTL_PURE_CALL_P, + RTL_CONST_OR_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P): Fixed doc. + +2008-05-08 Richard Guenther + + * doc/invoke.texi (-fdump-tree-salias): Remove documentation. + (-ftree-salias): Likewise. + (salias-max-implicit-fields): Remove param documentation. + (salias-max-array-elements): Likewise. + * tree-pass.h (pass_create_structure_vars): Remove. + * params.h (SALIAS_MAX_IMPLICIT_FIELDS): Remove. + (SALIAS_MAX_ARRAY_ELEMENTS): Likewise. + * tree-ssa-alias.c (create_structure_vars): Remove. + (gate_structure_vars): Likewise. + (pass_create_structure_vars): Likewise. + (gate_build_alias): Likewise. + (pass_build_alias): Adjust to run always and dump the function. + * common.opt (ftree-salias): Hide. + * passes.c (init_optimization_passes): Remove + pass_create_structure_vars, adjust comment. + * params.def (PARAM_SALIAS_MAX_IMPLICIT_FIELDS): Remove. + (PARAM_SALIAS_MAX_ARRAY_ELEMENTS): Likewise. + * opts.c (decode_options): Do not set flag_tree_salias. + (common_handle_option): Add OPT_ftree_salias to the backward + compatibility section. + +2008-05-08 Richard Guenther + + * tree-flow-inline.h (var_can_have_subvars): Move ... + * tree-ssa-structalias.c (var_can_have_subvars): ... here. + * tree-flow.h (var_can_have_subvars): Remove. + (push_fields_onto_fieldstack): Remove. + (sort_fieldstack): Likewise. + (struct fieldoff): Move ... + * tree-ssa-structalias.c (struct fieldoff): ... here. Remove + alias_set and base_for_components fields. + (sort_fieldstack): Make static. + (push_fields_onto_fieldstack): Likewise. Remove code that + handles anything but RECORD_TYPEs. Remove alias_set and + base_for_components handling. + (create_variable_info_for): Adjust. + +2008-05-08 Seongbae Park + + * common.opt (Wframe-larger-than=): Shorten the help message + to one line. + * doc/invoke.texi (Wframe-larger-than=): Add more description. + +2008-05-08 Rafael Espindola + + * tree-complex.c (expand_complex_div_wide): Don't create CONDs that + trap. + * tree-gimple.c (is_gimple_condexpr): Check that the expression doesn't + trap and that both operands are gimple values. + (canonicalize_cond_expr_cond): Use is_gimple_condexpr. + * gcc/tree-eh.c (tree_could_trap_p): Correctly detect if a comparison + is a fp operation. + +2008-05-08 Richard Sandiford + + * read-rtl.c (join_c_conditions): Return the first string if the + two strings are equal. + +2008-05-08 Richard Sandiford + + * gensupport.h (pred_data): Add a "num_codes" field. + (add_predicate_code): Declare. + * gensupport.c (add_predicate_code): New function. + (std_pred_table): Add an "allows_const_p" field. + (std_preds): Set this field for predicates that allow RTX_CONST_OBJs. + Remove the (incomplete) list of such codes from the codes field. + (init_predicate_table): Use add_predicate_code. Add all + RTX_CONST_OBJs if allows_const_p is true. + * genrecog.c (process_define_predicate): Use add_predicate_code. + +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 + old and new values. Special case constant zero values. + * config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Skip 'sync' if compare + fails. + (MIPS_COMPARE_AND_SWAP_12): Handle constant zero operands. + (MIPS_COMPARE_AND_SWAP_12_0): New macro. + +2008-05-08 Paolo Bonzini + + PR target/36090 + * simplify-rtx.c (simplify_plus_minus): Create CONST of + similar RTX_CONST_OBJ before CONST_INT. + +2008-05-08 Steve Ellcey + + * stmt.c (expand_stack_restore): Change sa mode if needed. + +2008-05-08 Richard Guenther + + * config/i386/i386-protos.h (ix86_return_in_memory): Adjust + return type to bool. + (ix86_sol10_return_in_memory): Likewise. + (ix86_i386elf_return_in_memory): Likewise. + (ix86_i386interix_return_in_memory): Likewise. + * config/i386/i386.c (ix86_return_in_memory): Likewise. + (ix86_sol10_return_in_memory): Likewise. + (ix86_i386elf_return_in_memory): Likewise. + (ix86_i386interix_return_in_memory): Likewise. + +2008-05-08 Kai Tietz + + PR bootstrap/36180 + * calls.c (compute_argument_block_size ): Add ATTRIBUTE_UNUSED to + fndecl argument. + (emit_library_call_value_1): Add ATTRIBUTE_UNUSED to variable fndecl. + * target-def.h: Check that TARGET_RETURN_IN_MEMORY isn't + declared in front. + +2008-05-08 Richard Guenther + + * tree-data-ref.c (dr_analyze_alias): Do not set DR_SUBVARS. + * tree-data-ref.h (struct dr_alias): Remove subvars field. + (DR_SUBVARS): Remove. + * tree-dfa.c (dump_subvars_for): Remove. + (debug_subvars_for): Likewise. + (dump_variable): Do not dump subvars. + (remove_referenced_var): Do not remove subvars. + * tree-flow-inline.h (clear_call_clobbered): SFTs no longer exist. + (lookup_subvars_for_var): Remove. + (get_subvars_for_var): Likewise. + (get_subvars_at): Likewise. + (get_first_overlapping_subvar): Likewise. + (overlap_subvar): Likewise. + * tree-flow.h (subvar_t): Remove. + (struct var_ann_d): Remove subvars field. + * tree-ssa-alias.c (mark_aliases_call_clobbered): Remove queued + argument. Remove special handling of SFTs. + (compute_tag_properties): Likewise. + (set_initial_properties): Likewise. + (compute_call_clobbered): Likewise. + (count_mem_refs): Likewise. + (compute_memory_partitions): Likewise. + (compute_flow_insensitive_aliasing): Likewise. + (setup_pointers_and_addressables): Likewise. + (new_type_alias): Likewise. + (struct used_part): Remove. + (used_portions): Likewise. + (struct used_part_map): Likewise. + (used_part_map_eq): Likewise. + (used_part_map_hash): Likewise. + (free_used_part_map): Likewise. + (up_lookup): Likewise. + (up_insert): Likewise. + (get_or_create_used_part_for): Likewise. + (create_sft): Likewise. + (create_overlap_variables_for): Likewise. + (find_used_portions): Likewise. + (create_structure_vars): Likewise. + * tree.def (STRUCT_FIELD_TAG): Remove. + * tree.h (MTAG_P): Adjust. + (struct tree_memory_tag): Remove base_for_components and + unpartitionable flags. + (struct tree_struct_field_tag): Remove. + (SFT_PARENT_VAR): Likewise. + (SFT_OFFSET): Likewise. + (SFT_SIZE): Likewise. + (SFT_NONADDRESSABLE_P): Likewise. + (SFT_ALIAS_SET): Likewise. + (SFT_UNPARTITIONABLE_P): Likewise. + (SFT_BASE_FOR_COMPONENTS_P): Likewise. + (union tree_node): Remove sft field. + * alias.c (get_alias_set): Remove special handling of SFTs. + * print-tree.c (print_node): Remove handling of SFTs. + * tree-dump.c (dequeue_and_dump): Likewise. + * tree-into-ssa.c (mark_sym_for_renaming): Likewise. + * tree-nrv.c (dest_safe_for_nrv_p): Remove special handling of SFTs. + * tree-predcom.c (set_alias_info): Do not set subvars. + * tree-pretty-print.c (dump_generic_node): Do not handle SFTs. + * tree-ssa-loop-ivopts.c (get_ref_tag): Likewise. + * tree-ssa-operands.c (access_can_touch_variable): Likewise. + (add_vars_for_offset): Remove. + (add_virtual_operand): Remove special handling of SFTs. + (add_call_clobber_ops): Likewise. + (add_call_read_ops): Likewise. + (get_asm_expr_operands): Likewise. + (get_modify_stmt_operands): Likewise. + (get_expr_operands): Likewise. + (add_to_addressable_set): Likewise. + * tree-ssa.c (verify_ssa_name): Do not handle SFTs. + * tree-tailcall.c (suitable_for_tail_opt_p): Likewise. + * tree-vect-transform.c (vect_create_data_ref_ptr): Do not set subvars. + * tree.c (init_ttree): Remove STRUCT_FIELD_TAG initialization. + (tree_code_size): Remove STRUCT_FIELD_TAG handling. + (tree_node_structure): Likewise. + * tree-ssa-structalias.c (set_uids_in_ptset): Remove special + handling of SFTs. + (find_what_p_points_to): Likewise. + +2008-05-08 Sa Liu + + * config/spu/spu.md: Fixed subti3 pattern. + +2008-05-08 Richard Guenther + + PR middle-end/36154 + * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make + sure to create a representative for trailing arrays for PTA. + +2008-05-08 Richard Guenther + + PR middle-end/36172 + * fold-const.c (operand_equal_p): Two objects which types + differ in pointerness are not equal. + +2008-05-08 Kai Tietz + + * calls.c (compute_argument_block_size): Add argument tree fndecl. + (OUTGOING_REG_PARM_STACK_SPACE): Add function type argument. + (emit_library_call_value_1): Add new variable fndecl initialized by + NULL_TREE. It should be the decl type of orgfun, but this information + seems not to be available here, so it uses the default calling abi. + * config/arm/arm.c (arm_return_in_memory): Add fntype argumen. + * config/arm/arm.h (RETURN_IN_MEMORY): Replace RETURN_IN_MEMORY + by TARGET_RETURN_IN_MEMORY. + * config/i386/i386-interix.h: Likewise. + * config/i386/i386.h: Likewise. + * config/i386/i386elf.h: Likewise. + * config/i386/ptx4-i.h: Likewise. + * config/i386/sol2-10.h: Likewise. + * config/i386/sysv4.h: Likewise. + * config/i386/vx-common.h: Likewise. + * config/cris/cris.h: Removed #if 0 clause. + * config/arm/arm-protos.h (arm_return_in_memory): Add fntype argument. + * config/i386/i386-protos.h (ix86_return_in_memory): Add fntype + argument. + (ix86_sol10_return_in_memory): Likewise. + (ix86_i386elf_return_in_memory): New. + (ix86_i386interix_return_in_memory): New. + * config/mt/mt-protos.h (mt_return_in_memory): New. + * config/mt/mt.c: Likewise. + * config/mt/mt.h (OUTGOING_REG_PARM_STACK_SPACE): Add FNTYPE argument. + (RETURN_IN_MEMORY): Replace by TARGET_RETURN_IN_MEMORY. + * config/bfin/bfin.h: Likewise. + * config/bfin/bfin-protos.h (bfin_return_in_memory): Add fntype + argument. + * config/bfin/bfin.c: Likewise. + * config/pa/pa.h (OUTGOING_REG_PARM_STACK_SPACE): Add FNTYPE argument. + * config/alpha/unicosmk.h: Likewise. + * config/i386/cygming.h: Likewise. + * config/iq2000/iq2000.h: Likewise. + * config/mips/mips.h: Likewise. + * config/mn10300/mn10300.h: Likewise. + * config/rs6000/rs6000.h: Likewise. + * config/score/score.h: Likewise. + * config/spu/spu.h: Likewise. + * config/v850/v850.h: Likewise. + * defaults.h: Likewise. + * doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Adjust documentation. + * expr.c (emit_block_move): Adjust use of + OUTGOING_REG_PARM_STACK_SPACE. + * function.c (STACK_DYNAMIC_OFFSET): Adjust use of + OUTGOING_REG_PARM_STACK_SPACE. + * targhooks.c (default_return_in_memory): Remove RETURN_IN_MEMORY. + +2008-05-08 Jakub Jelinek + + * tree-parloops.c (create_parallel_loop): Set OMP_RETURN_NOWAIT + on OMP_RETURN for OMP_FOR. + + PR debug/35896 + * dwarf2out.c (dw_expand_expr, common_check): Removed. + (fortran_common): New function. + (gen_variable_die): Call fortran_common instead of common_check, + adjust for it returning tree instead of rtx. Formatting. + +2008-05-07 Kenneth Zadeck + + PR rtl/7335 + PR rtl/33826 + * see.c (see_copy_insn): Copy new pure const attributes for new call. + * c-decl.c (merge_decls): Ditto. + * postreload.c (record_opr_changes): Change CONST_OR_PURE_CALL_P + to RTL_CONST_OR_PURE_CALL_P. + * tree.c (define_local_buitin): Rename DECL_IS_PURE to DECL_PURE_P. + Initialized DECL_LOOPING_CONST_PURE. + (process_call_operands): Set tree_side_effects properly. + * tree.h (TREE_READONLY_DECL_P): Removed. + (DECL_IS_PURE): Renamed to DECL_PURE_P. + (DECL_LOOPING_OR_CONST_P): New macro. + (struct tree_function_decl): Added looping_const_or_pure_p. + (ECF_*) Renumbered. + (ECF_LOOPING_OR_CONST_P): New macro. + * rtlanal.c (pure_const_p): Removed. + * builtins.c (expand_builtin): Rename DECL_IS_PURE to DECL_PURE_P. + * reorg.c (delete_prior_computation) Changed CONST_OR_PURE_CALL_P + to RTL_CONST_CALL_P. + * ipa-pure-const.c (pure_const_state_e): Added looping field. + (check_decl, check_tree, check_call, scan_function): Initialize + looping. + (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): + * ifcvt.c (noce_can_store_speculate_p): Changed + 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. + * gcse.c (oprs_not_seen_p) Changed CONST_OR_PURE_CALL_P to + RTL_CONST_OR_PURE_CALL_P. + (store_killed_in_insn): Changed CONST_OR_PURE_CALL_P and + pure_call_p to RTL_CONST_CALL_P. + * gimplify.c (gimplify_call_expr): Clear side effects for + non-looping pure and constant calls. + * calls.c (emit_call_1): Set rtl flags from ecf flags. + (flags_from_decl_or_type): Set ecf flags from decl flags. + (initialize_argument_information): Turn off + ECF_LOOPING_CONST_OR_PURE when turning off ECF_CONST. + Change const to pure if callee_copies is true rather than just + turning off const. + (expand_call): Turn off ECF_LOOPING_PURE_CONST_CALL and remove old + way of marking pure calls. + (emit_library_call_value_1): Turn off ECF_LOOPING_PURE_CONST_CALL. + Remove hack that was supposed to fix pr7335 and remove old + way of marking pure calls. + * emit-rtl.c (emit_copy_of_insn_after): Copy RTL_CONST_CALL_P, + RTL_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P. + * cselib.c (cselib_process_insn): Changed CONST_OR_PURE_CALL_P to + RTL_CONST_OR_PURE_CALL_P. + * tree-ssa-pre.c (can_value_number_call): Fixed spacing. + * loop-invariant.c (find_exits, find_invariant_bb): Changed + CONST_OR_PURE_CALL_P to RTL_CONST_OR_PURE_CALL_P. + * sched-deps.c (schedule_analyze): Ditto. + * rtl.h (struct rtx_def): Use call field, unchanging field, and + return_val field of calls to represent pure and const function info. + (CONST_OR_PURE_CALL_P): Deleted macro. + (RTL_CONST_CALL_P, RTL_PURE_CALL_P, + RTL_LOOPING_CONST_OR_PURE_CALL_P, RTL_CONST_OR_PURE_P): New macros. + * tree-inline.c (copy_body_r): Changed TREE_READONLY_DECL_P to + TREE_READONLY. + * tree-optimize.c (execute_fixup_cfg): Added test for + ECF_LOOPING_CONST_OR_PURE. + * c-common.c (handle_pure_attribute): Changed DECL_IS_PURE to + 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. + * config/alpha/alpha.c (alpha_legitimize_address, + alpha_emit_xfloating_libcall): Changed CONST_OR_PURE_CALL_P to + RTL_CONST_CALL_P. + * config/s390/s390.c (s390_emit_tls_call_insn): Ditto. + * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Ditto. + * config/mips/mips.c (mips_call_tls_get_addr): Ditto. + * cfgrtl.c (need_fake_edge_p): Changed CONST_OR_PURE_CALL_P to + RTL_CONST_OR_PURE_CALL_P. + * dce.c (deletable_insn_p): Allow non looping, non sibling, pure + and const calls to be deleted. + +2008-05-07 Uros Bizjak + + PR target/35714 + * config/i386/mmx.md (mmx_subv2sf3): New expander. + (*mmx_subv2sf3): Rename from mmx_subv2sf3 insn pattern. + (*mmx_eqv2sf3): Rename from mmx_eqv2sf3 insn pattern. + (mmx_eqv2sf3): New expander. Use ix86_fixup_binary_operands_no_copy + to handle nonimmediate operands. + (*mmx_paddwd): Rename from mmx_paddwd insn pattern. + (mmx_paddwd): New expander. Use ix86_fixup_binary_operands_no_copy + to handle nonimmediate operands. + (*mmx_pmulhrwv4hi3): Rename from mmx_pmulhrwv4hi3 insn pattern. + (mmx_pmulhrwv4hi3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*sse2_umulv1siv1di3): Rename from sse2_umulv1siv1di3 insn pattern. + (sse2_umulv1siv1di3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*mmx_eq3): Rename from mmx_eq3 insn pattern. + (mmx_eq3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*mmx_uavgv8qi3): Rename from mmx_uavgv8qi3 insn pattern. + (mmx_uavgv8qi3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*mmx_uavgv4hi3): Rename from mmx_uavgv4hi3 insn pattern. + (mmx_uavgv4hi3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + + * config/i386/sse.md + (sse_movhlps_exp): New expander. Use ix86_fixup_binary_operands + to handle nonimmediate operands. + (sse_movlhps_exp): New expander. Use ix86_fixup_binary_operands + to handle nonimmediate operands. + (sse_loadhps_exp): New expander. Use ix86_fixup_binary_operands + to handle nonimmediate operands. + (sse_loadlps_exp): New expander. Use ix86_fixup_binary_operands + to handle nonimmediate operands. + (sse2_unpckhpd_exp): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (sse2_unpcklpd_exp): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (sse_loadhpd_exp): New expander. Use ix86_fixup_binary_operands + to handle nonimmediate operands. + (sse_loadlpd): New expander. Use ix86_fixup_binary_operands + to handle nonimmediate operands. + (*sse2_3): Rename from + sse2_3 insn pattern. + (sse2_3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*sse2_umulv2siv2di3): Rename from sse2_umulv2siv2di3 insn pattern. + (sse2_umulv2siv2di3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*sse4_1_mulv2siv2di3): Rename from sse4_1_mulv2siv2di3 insn pattern. + (sse4_1_mulv2siv2di3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*sse2_pmaddwd): Rename from sse2_pmaddwd insn pattern. + (sse2_pmaddwd): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*sse2_eq3): Rename from sse2_eq3 insn pattern. + (sse2_eq3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*sse4_1_eqv2di3): Rename from sse4_1_eqv2di3 insn pattern. + (sse4_1_eqv2di3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*sse2_uavgv16qi3): Rename from sse2_uavgv16qi3 insn pattern. + (sse2_uavgv16qi3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*sse2_uavgv16qi3): Rename from sse2_uavgv16qi3 insn pattern. + (sse2_uavgv16qi3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*sse2_uavgv8hi3): Rename from sse2_uavgv8hi3 insn pattern. + (sse2_uavgv8hi3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*ssse3_pmulhrswv8hi3): Rename from ssse3_pmulhrswv8hi3 insn pattern. + (ssse3_pmulhrswv8hi3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*ssse3_pmulhrswv4hi3): Rename from ssse3_pmulhrswv4hi3 insn pattern. + (ssse3_pmulhrswv4hi3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + + (_vm3): Do not use ix86_binary_operator_ok. + (_vmmul3): Ditto. + (divv4sf3): Do not use ix86_fixup_binary_operands_no_copy. + (divv2df3): Ditto. + (ssse3_pmaddubsw128): Use register_operand for operand 1. + (ssse3_pmaddubsw): Ditto. + + * config/i386/i386.c (struct_builtin_description) + [IX86_BUILTIN_LOADHPS]: Use CODE_FOR_sse_loadhps_exp. + [IX86_BUILTIN_STOREHPS]: Use CODE_FOR_sse_loadlps_exp. + [IX86_BUILTIN_LOADHPD]: Use CODE_FOR_sse2_loadhpd_exp. + [IX86_BUILTIN_LOADLPD]: Use CODE_FOR_sse2_loadlpd_exp. + [IX86_BUILTIN_MOVHLPS]: Use CODE_FOR_sse_movhlps_exp. + [IX86_BUILTIN_MOVLHPS]: Use CODE_FOR_sse_movlhps_exp. + [IX86_BUILTIN_UNPCKHPD]: Use FOR_sse2_unpckhpd_exp. + [IX86_BUILTIN_UNPCKLPD]: Use FOR_sse2_unpcklpd_exp. + (ix86_fixup_binary_operands): Assert that src1 + and src2 must have the same mode when swapped. + (ix86_expand_binop_builtin): Do not use ix86_fixup_binary_operands + and ix86_binary_operator_ok. Do not force operands in registers + when optimizing. + +2008-05-07 Jan Hubicka + + * cgraph.c (dump_cgraph_node): Update. + * cgraph.h (cgraph_local_info): Break out inline summary. + * cgraphunit.c (cgraph_process_new_functions): Use inliner analysis + hook. + * ipa-inline (inline_summary): New accestor function. + (cgraph_clone_inlined_nodes, cgraph_check_inline_limits, + cgraph_decide_inlining, compute_inline_parameters): Update. + * ipa.c (cgraph_remove_unreachable_nodes): Remove statistics. + +2008-05-07 Maxim Kuvyrkov + + Cleanup ColdFire scheduling support and add V4 pipeline model. + + * config/m68k/m68k.md (UNSPEC_TIE): New constant. + (define_attr cpu): Add cfv4 value. + (define_attr type, define_attr type1): Merge into a single 'type' + attribute. Update all uses. + (define_attr opx_type, define_attr opy_type, define_attr opx_access): + Rearrange and update. Rename value 'reg' to 'Rn', add value 'FPn'. + Update all uses. + (define_attr opx_mem, define_attr opy_mem): Remove. + (define_attr op_mem): Clean up, update comment. + (define_attr size): Use specific values instead of general int. + (define_attr guess, define_attr split): Remove. Update all uses. + (movdf_internal, tstsi_internal, tsthi_internal, tstqi_internal, + tst_68881, pushexthisi_const, movsi_const0_68000_10, + movsi_const0_68040_60, movsi_const0, movsi_cf, movstrictqi_cf, + zero_extendhisi2_cf, zero_extendqisi2_cfv4, cfv4_extendhisi2, + 68k_extendhisi2, extendqihi2, cfv4_extendqisi2, 68k_extendqisi2, + floatsi2_68881, ftrunc2_68881, ftrunc2_cf, + fixqi2_68881, fixhi2_68881, fixsi2_68881, + adddi_dishl32, addsi3_5200, add3_floatsi_68881, + add3_floathi_68881, add3_floatqi_68881, + add3_68881, add3_cf, subdi_dishl32, subsi3, + sub3_floatsi_68881, sub3_floathi_68881, + sub3_floatqi_68881, sub3_68881, sub3_cf, + mulhi3, mulhisi3, mulhisisi3_s, mulsi3_68020, mulsi3_cf, + umulhisi3, mulhisisi3_z, mul3_floatsi_68881, + mul3_floathi_68881, mul3_floatqi_68881, fmul3_cf, + div3_cf, sqrt2_cf, abs2_cf, clzsi2, + one_cmplsi2_5200, subreghi1ashrdi_const32, ashrsi3, lshrsi3, + bsetmemqi, bsetmemqi_ext, bclrmemqi, bclrmemqi_ext, + beq, bne, bgt, blt, bordered, bunordered, buneq, bunge, bungt, bunle, + bunlt, bltgt, tablejump_internal, call, non_symbolic_call_value, + symbolic_call_value_jsr, symbolic_call_value_bsr, link): + Update or set attributes. + (stack_tie): New fake instruction. + + * config/m68k/m68k.h (TUNE_CFV4): New macro. + (m68k_sched_attr_size): Update declaration. + (m68k_sched_attr_type2): Remove. + (m68k_sched_address_bypass_p, m68k_sched_indexed_address_bypass_p): + Declare new bypass predicates. + + * config/m68k/m68k.c (m68k_sched_issue_rate, + m68k_sched_first_cycle_multipass_dfa_lookahead): Declare hook + implementations. + (TARGET_SCHED_ISSUE_RATE, + TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Override hooks. + (override_options): Handle scheduling for ColdFire V4 core. + (m68k_expand_prologue): Emit stack_tie. + (enum attr_op_type): Split value 'OP_TYPE_REG' to 'OP_TYPE_RN' and + 'OP_TYPE_FPN'. Update all uses. + (sched_guess_p): Remove. + (sched_address_type): Handle symbolic addresses. + (sched_get_operand): New static function. + (sched_operand_type): Merge into sched_attr_op_type. + (sched_attr_op_type): Handle FP registers, handle quick constants, + update. + (m68k_sched_attr_opx_type, m68k_sched_attr_opy_type): Update. + (m68k_sched_attr_size): Update. Move logic to ... + (sched_get_attr_size_int): New static function. + (sched_get_opxy_mem_type): New static function. + (m68k_sched_attr_op_mem): Update. + (m68k_sched_attr_type2): Remove. + (sched_cfv4_bypass_data): New static variable. + (m68k_sched_adjust_cost): Handle ColdFire V4 bypass. + (m68k_sched_issue_rate): Implement scheduler hook. + (struct _sched_ib: enabled_p): New field. + (m68k_sched_variable_issue): Update. Handle V4. + (SCHED_DUMP_TODO, SCHED_DUMP_DONE, SCHED_DUMP_NOTHING, + sched_dump_class_func_t, sched_dump_split_class, + sched_dump_dfa_guess_unit_code, sched_dump_dfa_state, + sched_dump_dfa_class, m68k_sched_dump): Remove. + (m68k_sched_first_cycle_multipass_dfa_lookahead): Implement scheduler + hook. + (m68k_sched_init_global): Remove statisctics dumping, introduce + sanity check that all instructions have pipeline reservations. Handle + ColdFire V4 core. + (m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle): + Handle ColdFire V4 core. + (sched_mem_operand_p, sched_get_reg_operand, sched_get_mem_operand): + New static functions. + (m68k_sched_address_bypass_p): New bypass predicate. + (sched_get_indexed_address_scale): New static function. + (m68k_sched_indexed_address_bypass_p): New bypass predicate. + + * cf.md: Update comments. + (define_attr type2): Remove. Use 'type' attribute instead. + Update all uses. + (cf_ib): Rename to cfv123_ib. Update all uses. + (cf_oep): Rename to cfv123_oep. Update all uses. + (cf_chr): Rename to cfv123_chr. Update all uses. + (cf_mem): Rename to cfv123_mem. Update all uses. + (cf_mac): Move to more appropriate place. + (cfv123_guess): New automaton and cpu_unit. + (cfv123_*, cfv12_*, cfv1_*, cfv2_*, cfv3_*): Use type attribute. + Update uses of 'size' attribute. Handle before reload scheduling. + (cfv123_guess): New dummy reservation for unhandled instructions. + (cfv4_*): Pipeline description of ColdFire V4 core. + (ignore): New reservation to handle 'ignore' type. + +2008-05-07 Ian Lance Taylor + + PR middle-end/36013 + * gimplify.c (find_single_pointer_decl_1): Don't look through + indirections. + (find_single_pointer_decl): Adjust comments. + +2008-05-07 Jakub Jelinek + + PR middle-end/36137 + * fold-const.c (fold_binary): Use STRIP_SIGN_NOPS instead of + STRIP_NOPS on arguments even for MIN_EXPR and MAX_EXPR. + + PR middle-end/36106 + * omp-low.c (expand_omp_atomic_pipeline): Load value using the + integral type rather than floating point, then VIEW_CONVERT_EXPR + to the floating point type. + +2008-05-07 Uros Bizjak + + * config/i386/i386.c (ix86_expand_copysign): Force non-zero constant + TFmode op0 to register. + +2008-05-07 Alan Modra + + * c-decl.c (grokdeclarator): Comment typo. + +2008-05-06 Aldy Hernandez + + * tree-flow.h: Remove prototype for computed_goto_p. + * tree-cfg.c (computed_goto_p): Make static. + +2008-05-06 H.J. Lu + + PR target/35657 + * config/i386/i386.c (contains_128bit_aligned_vector_p): Renamed to ... + (contains_aligned_value_p): This. Handle _Decimal128. + (ix86_function_arg_boundary): Only align _Decimal128 to its + natural boundary and handle it properly. + +2008-05-06 Martin Jambor + + * ipa-cp.c (ipcp_method_orig_node): Renamed to ipcp_get_orig_node. + (ipcp_method_is_cloned): Renamed to ipcp_node_is_clone + (ipcp_method_set_orig_node): Removed. + (ipcp_cval_get_cvalue_type): Removed. + (ipcp_method_get_scale): Renamed to ipcp_get_node_scale. + (ipcp_method_set_scale): Renamed to ipcp_set_node_scale. + (ipcp_cval_set_cvalue_type): Removed. + (ipcp_cval_get_cvalue): Removed. + (ipcp_cval_set_cvalue): Removed. + (ipcp_type_is_const): Renamed to ipcp_lat_is_const. + (ipcp_cval_equal_cvalues): Renamed to ipcp_lats_are_equal + (ipcp_lats_are_equal): Changed parameters to two ipcp_lattice's + (ipcp_cval_meet): Renamed to ipa_lattice_meet + (ipcp_cval_changed): Changed to use ipcp_lat_is_const + (ipcp_method_cval): Renamed to ipcp_get_ith_lattice + (ipcp_get_ith_lattice): Changed parameters. + (ipcp_cval_compute): Renamed to ipcp_lattice_from_jfunc + (ipcp_lattice_from_jfunc): Changed parameters. + (ipcp_redirect): Local lattice pointer instead of lattice type variable. + (ipcp_method_cval_print): Added temporary variable info. + (ipcp_redirect): Removed already unused local variable caller. + (ipcp_redirect): New temporary variable orig_callee_info + (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 + 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 + lattices rather than cvals. + (ipcp_method_cval_init): Renamed to ipcp_initialize_node_lattices + (ipcp_propagate_const): Changed formal parameters. + (build_const_val): Changed formal parameters. + (ipcp_insert_stage): Removed useless variable cvalue + (build_const_val): Changed formal parameters. + (ipcp_method_compute_scale): Renamed to ipcp_compute_node_scale + (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 + "function" + (ipcp_profile_cs_count_print): Renamed to ipcp_print_call_profile_counts + (ipcp_profile_edge_print): Renamed to ipcp_print_edge_profiles + (ipcp_profile_bb_print): Renamed to ipcp_print_bb_profiles + (ipcp_structures_print): Renamed to ipcp_print_all_structures + (ipcp_profile_print): Renamed to ipcp_print_profile_data + (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 + the predicate condition directly + (ipcp_propagate_stage): Added local variable args. Removed local + variable callee. (Both are mere code simplifications.) + (ipcp_method_dont_insert_const): Renamed to + ipcp_node_not_modifiable_p. + (ipcp_node_not_modifiable_p): Made inline. + (ipcp_cloned_create): Renamed to ipcp_init_cloned_node + (ipcp_propagate_const): Renamed to ipcp_propagate_one_const + (ipcp_print_all_lattices): Removed variable cvalue + (ipcp_method_scale_print): Renamed to ipcp_function_scale_print + Updated comments. + +2008-05-06 Olivier Hainque + + * tree-sra.c (try_instantiate_multiple_fields): Early return + if field has POINTER_TYPE. + +2008-05-06 Kai Tietz + + * config/i386/i386.c (output_set_got): Fix for x86_64 output_emit_asm + by using 'q' specifier for instruction. + (ix86_file_end): Replaced case TARGET_64BIT_MS_ABI by TARGET_64BIT. + +2008-05-06 Anatoly Sokolov + + * config/avr/avr.md (*sbrx_branch, *sbix_branch, *sbix_branch_tmp): + Change mode of zero_extract from QImode to HImode. + (sign bit tests peepholes): (Ditto.). + +2008-05-06 Uros Bizjak + + * config/i386/mmx.md: Remove double backslashes from asm templates. + (*mmx_addv2sf3): Rename from mmx_addv2sf3 insn pattern. + (mmx_addv2sf3): New expander. Use ix86_fixup_binary_operands_no_copy + to handle nonimmediate operands. + (*mmx_mulv2sf3): Rename from mmx_mulv2sf3 insn pattern. + (mmx_mulv2sf3): New expander. Use ix86_fixup_binary_operands_no_copy + to handle nonimmediate operands. + (*mmx_v2sf3_finite): New insn pattern. + (*mmx_v2sf3): Rename from mmx_v2sf3 insn pattern. + (mmx_v2sf3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (mmx_3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*mmx_3): New insn pattern. + (mmx_add3): Removed. + (mmx_ssadd3): Ditto. + (mmx_usadd3): Ditto. + (mmx_sub3): Ditto. + (mmx_sssub3): Ditto. + (mmx_ussub3): Ditto. + (*mmx_mulv4hi3): Rename from mmx_mulv4hi3 insn pattern. + (mmx_mulv4hi3): New expander. Use ix86_fixup_binary_operands_no_copy + to handle nonimmediate operands. + (*mmx_smulv4hi3_highpart): Rename from mmx_smulv4hi3_highpart + insn pattern. + (mmx_smulv4hi3_highpart): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*mmx_umulv4hi3_highpart): Rename from mmx_umulv4hi3_highpart + insn pattern. + (mmx_umulv4hi3_highpart): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*mmx_v4hi3): Rename from mmx_v4hi3 insn pattern. + (mmx_v4hi3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*mmx_v8qi3): Rename from mmx_v8qi3 insn pattern. + (mmx_v8qi3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + (*mmx_3): Rename from mmx_3 insn pattern. + (mmx_3): New expander. Use + ix86_fixup_binary_operands_no_copy to handle nonimmediate operands. + +2008-05-05 Jan Hubicka + + PR tree-optimization/36118 + * passes.c (pass_init_dump_file): Fix dump header. + +2008-05-05 Andrew Pinski + + PR middle-end/36141 + * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't create + VCE for function decls. + +2008-05-05 H.J. Lu + + * config/i386/sse.md (sse2_3): Fix a typo. + +2008-05-05 H.J. Lu + + * config/i386/i386.md (sat_plusminus): New. + (plusminus_insn): Likewise. + (plusminus_mnemonic): Likewise. + (addsub): Removed. + (comm): Add ss_plus, us_plus, ss_minus and us_minus. + (*3_cc_overflow): Renamed to ... + (*3_cc_overflow): This. + (*si3_zext_cc_overflow): Renamed to ... + (*si3_zext_cc_overflow): This. + + * config/i386/sse.md (3): Renamed to ... + (3): This. + (*3): Renamed to ... + (*3): This. + (_vm3): Renamed to ... + (_vm3): This. + (sse3_hv4sf3): Renamed to ... + (sse3_hv4sf3): This. + (sse3_hv2df3): Renamed to ... + (sse3_hv2df3): This. + (3): New. + (*3): Likewise. + (sse2_3): Likewise. + (add): Removed. + (*add3): Likewise. + (sse2_ssadd3): Likewise. + (sse2_usadd3): Likewise. + (sub3): Likewise. + (*sub3): Likewise. + (sse2_sssub3): Likewise. + (sse2_ussub3): Likewise. + +2008-05-05 Benjamin Kosnik + + * 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. + (__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 + the same size types for the indirect reference on the rhs, then + create a VCE. + +2008-05-05 Uros Bizjak + + * config/i386/i386.md + (*float2_sse_interunit): Use only + one insn template instead of template series. + (*xordi_1_rex64): Ditto. + (*xordi_2_rex64): Ditto. + +2008-05-05 Ira Rosen + + PR tree-optimization/36119 + * tree-vect-transform.c (vectorizable_assignment): Set NCOPIES to 1 + in case of SLP. + +2008-06-04 Jan Hubicka + + tree-optimization/36100 + * tree-pass.h (pass_O0_always_inline): Declare. + * ipa-inline.c (inline_transform): Remove dead code. + (cgraph_gate_O0_always_inline, cgraph_O0_always_inline, + pass_O0_always_inline): New. + * passes.c (init_optimization_passes): Add pass_O0_always_inline. + +2008-05-04 Kai Tietz + + * config/i386/i386.c (x86_output_mi_thunk): Use movq alternative + mnemonic in this_param move for TARGET_64BIT. + 2008-05-04 Uros Bizjak * config/i386/i386.md (*strmovsi_1): Simplify asm alternatives. @@ -41,7 +1051,7 @@ (ix86_init_mmx_sse_builtins): Move case V4HI_FTYPE_V4HI after case V4SI_FTYPE_V2DF. -2008-05-03 Kenneth Zadeck +2008-05-03 Kenneth Zadeck * doc/invoke.texi (max-flow-memory-locations): Removed. * params.def (PARAM_MAX_FLOW_MEMORY_LOCATIONS): Removed. @@ -1168,7 +2178,7 @@ * config/rs6000/rs6000.c (rs6000_register_move_cost): Increase cost of LR/CTR moves for Power6. -2008-04-22 Kenneth Zadeck +2008-04-22 Kenneth Zadeck PR middle-end/36003 * passes.c (init_optimization_passes): Remove @@ -1253,14 +2263,14 @@ * coverage.c: Include tree-pass.h. (coverage_counter_alloc): Print da_file_name to the dump file. -2008-04-21 Kenneth Zadeck +2008-04-21 Kenneth Zadeck * sbitmap.c (sbitmap_range_empty_p): New function. * sbitmap.h (sbitmap_range_empty_p): New function. * bitmap.h: Now includes obstack.h. 2008-04-21 Richard Sandiford - Kenneth Zadeck + Kenneth Zadeck * dbgcnt.def (ra_byte_scan): Added. * dbgcnt.c (dbg_cnt): Added code to print message to dump_file @@ -2139,7 +3149,7 @@ * config/i386/i386.md ("*sse_prologue_save_insn"): Use braced output control string instead of quoted. -2008-04-07 Kenneth Zadeck +2008-04-07 Kenneth Zadeck * doc/rtl.texi: Rewrite of subreg section. @@ -4740,7 +5750,7 @@ * alias.h (alias_set_type): Change from HOST_WIDE_INT to int. -2008-03-05 Kenneth Zadeck +2008-03-05 Kenneth Zadeck * fwprop.c (update_df): Support width and offset parameters of df_ref_create. @@ -7404,7 +8414,7 @@ * common.opt (Wstrict-aliasing): Specify Var and Init. (Wstrict-overflow): Likewise. -2008-01-22 Kenneth Zadeck +2008-01-22 Kenneth Zadeck PR rtl-optimization/26854 PR rtl-optimization/34400 @@ -7501,7 +8511,7 @@ * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation when the structure size is not a power of 2. -2008-01-20 Kenneth Zadeck +2008-01-20 Kenneth Zadeck * doc/install.texi: Add doc for --enable-checking=df. @@ -7515,7 +8525,7 @@ * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per input. -2008-01-19 Kenneth Zadeck +2008-01-19 Kenneth Zadeck PR rtl-optimization/26854 PR rtl-optimization/34400