-2006-12-31 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/30137
- * fold-const.c (fold_comparison): Fold comparison of addresses
- of components.
-
-2006-12-31 Roger Sayle <roger@eyesopen.com>
-
- PR middle-end/30322
- * fold-const.c (fold_binary): Fold X + ~X and ~X + X into -1 when
- we don't care about trapping overflow. Only convert -A - 1 into ~A
- when we don't care about trapping overflow.
-
-2006-12-31 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/30338
- * fold-const.c (fold_binary): Fix type-mismatch in folding
- of -1 - A to ~A.
-
-2006-12-30 Kazu Hirata <kazu@codesourcery.com>
-
- * tree-inline.c: Fix a comment typo.
-
-2006-12-30 Jan Hubicka <jh@suse.cz>
-
- * ipa-pure-const.c (check_operand): SSA_NAME is safe.
- * ipa-type-escape.c (scan_for_refs): Look into SSA_NAMEs.
-
-2006-12-30 Jan Hubicka <jh@suse.cz>
-
- * tree.h (DECL_CALL_CLOBBERED): Remove.
- (tree_decl_common): Remove call_clobbered flag.
- * tree-flow.h (struct var_ann_d): Add call_clobbered flag.
- * tree-ssa-alias.c (mark_non_addressable, reset_cc_flags): Update.
- * tree-flow-inline.h (is_call_clobbered, mark_call_clobbered,
- clear_call_clobbered): Update.
- * tree-ssa.c (verify_call_clobbering): Update.
-
-2006-12-30 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-alias.c (create_structure_vars): When in SSA, update operand
- caches.
- * tree-ssa-operands.c (build_ssa_operands): Recompute addresses_taken
- bitmap.
-
-2006-12-30 Jan Hubicka <jh@suse.cz>
- Vladimir Yanovsky <volodyan@gmail.com>
-
- * emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential
- amount of copies of INSN_NOTEs list.
-
-2006-12-29 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_exapnd_queue): Rename to...
- (cgraph_new_nodes): ... this one.
- (cgraph_state): New global variable.
- (cgraph_add_new_function): Work in more cases.
- * cgraph.h (cgraph_expand_queue): Rename to ...
- (cgraph_new_nodes): ... this one.
- (cgraph_state): New enum and static variable.
- (cgraph_add_new_function): Update prototype.
- (cgraph_process_new_functions): New.
- * omp-low.c (expand_omp_parallel): Update.
- * cgraphunit.c (initialize_inline_failed): Declare early.
- (cgraph_process_new_functions): New function.
- (cgraph_assemble_pending_functions): Use it.
- (cgraph_expand_all_functions): Use it.
- (cgraph_optimize): Use it; set cgraph_state.
- * passes.c (execute_one_pass, execute_ipa_pass_list): Process new
- functions
-
-2006-12-29 Kazu Hirata <kazu@codesourcery.com>
-
- * tree-cfg.c (last_stmt_ptr): Remove.
- * tree-flow.h: Remove the prototype for last_stmt_ptr.
-
- * config/i386/i386.h (NON_QI_REG_P): Remove.
- * config/i386/predicates.md (non_q_regs_operand): Remove.
-
-2006-12-29 Ian Lance Taylor <iant@google.com>
-
- * c-common.c (c_define_builtins): New static function broken out
- of c_common_nodes_and_builtins.
- (c_common_nodes_and_builtins): Call c_define_builtins unless only
- doing preprocessing.
-
-2006-12-29 Jan Hubicka <jh@suse.cz>
-
- * tree-inline.c (remap_ssa_name): New function.
- (remap_decl): Update SSA datastructures for DECLs.
- (copy_body_r): Deal with SSA_NAMEs; add referenced global vars.
- (copy_bb): Set SSA_NAME def stmts.
- (update_ssa_acorss_eh_edges): New function.
- (copy_edge_for_bb): Call it; mark new vars for renaming.
- (copy_phis_for_bb): New function.
- (initialize_cfun): Break out from ...
- (copy_cfg_body): ... here; maintain AUX map for both directions;
- call SSA updating workers; do not produce copy of cfun to be copied.
- (setup_one_parameter): Do propagation across SSA form.
- (declare_return_variable): Work on SSA; use return_slot instead of
- address of return slot of argument to avoid folding back and forth.
- (expand_call_inline): Update SSA from on return values.
- (optimize_inline_calls): Do sanity checking, dead blocks removal,
- update SSA form.
- (tree_function_verioning): Update initialize_cfun.
-
-2006-12-29 Marcin Dalecki <martin@dalecki.de>
-
- * doc/invoke.texi: Replace no longer supported -fno-strength-reduce
- with -fmerge-constants in sample code.
-
-2006-12-28 Kazu Hirata <kazu@codesourcery.com>
-
- * Makefile.in (OBJS-common): Remove conflict.o
- (conflict.o): Remove.
- * basic-block.h: Remove the prototypes for conflict.c.
- * conflict.c: Remove.
-
-2006-12-27 Daniel Berlin <dberlin@dberlin.org>
-
- * sbitmap.c (BITMAP_DEBUGGING): New macro.
- (do_popcount): Ditto.
- (sbitmap_verify_popcount): New function.
- (sbitmap_alloc): Set popcount to NULL, remove set of bytes
- member.
- (sbitmap_alloc_with_popcount): New function.
- (sbitmap_resize): Remove uses of bytes member and update
- popcount.
- (sbitmap_realloc): Remove uses of bytes member.
- (sbitmap_copy): Copy popcount.
- (sbitmap_copy_n): New function.
- (sbitmap_zero): Update popcount cache.
- (sbitmap_ones): Ditto.
- (sbitmap_a_and_b): Ditto.
- (sbitmap_a_or_b): Ditto.
- (sbitmap_a_xor_b): Ditto.
- (sbitmap_union_of_diff_cg): Assert non-existence of popcount
- cache.
- (sbitmap_union_of_diff): Ditto.
- (sbitmap_not): Ditto.
- (sbitmap_difference): Ditto.
- (sbitmap_a_and_b_cg): Ditto.
- (sbitmap_a_xor_b_cg): Ditto.
- (sbitmap_a_or_b_cg): Ditto.
- (sbitmap_a_or_b_and_c_cg): Ditto.
- (sbitmap_a_and_b_or_c_cg): Ditto.
- (sbitmap_intersection_of_succs): Ditto.
- (sbitmap_intersection_of_preds): Ditto.
- (sbitmap_union_of_succs): Ditto.
- (sbitmap_union_of_preds): Ditto.
- (popcount_table): New.
- (sbitmap_elt_popcount): New function.
- (sbitmap_popcount): Ditto.
-
- * sbitmap.h (sbitmap): Remove bytes member.
- Add popcount member.
- (SET_BIT): Macro turned into function.
- (RESET_BIT): Ditto.
- (SBITMAP_SIZE_BYTES): New macro.
- (sbitmap_free): Free popcount too.
- (sbitmap_alloc_with_popcount): New prototype.
- (sbitmap_copy_n): Ditto.
- (sbitmap_verify_popcount): Ditto.
-
-2006-12-27 Ian Lance Taylor <iant@google.com>
-
- PR debug/26964
- * dwarf2out.c (gen_type_die): Don't write out a DIE for
- ENUMERAL_TYPE if it was already written out.
-
-2006-12-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR middle-end/29335
- * builtins.c (do_mpfr_arg1, do_mpfr_arg2, do_mpfr_arg3,
- do_mpfr_sincos): Ensure target base equals two.
-
-2006-12-26 Kazu Hirata <kazu@codesourcery.com>
-
- * tree-ssa-operands.c: Fix a comment typo.
-
-2006-12-25 Kazu Hirata <kazu@codesourcery.com>
-
- * tree-vectorizer.h (VECT_SMODULO): Remove.
-
-2006-12-24 Andreas Tobler <a.tobler@schweiz.org>
-
- * config/pa/pa.c: Remove heap vector type defines.
-
-2006-12-24 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-operands.h (struct ssa_operand_memory_d):
- add ssa_operand_mem_size.
- * tree-ssa-operands.c (operands_bitmap_obstack): New.
- (ssa_operand_mem_size): Remove.
- (init_ssa_operands): Initialize obstack; use it.
- (fini_ssa_operands): Release obstack.
- (ssa_operand_alloc): Update.
- (finalize_ssa_vdefs, finalize_ssa_vuse_ops, copy_virtual_operands,
- get_mpt_for): Use obstack.
- * tree-ssa.c (delete_tree_ssa): Call fini_ssa_operands.
- * tree-outof-ssa.c: (remove_ssa_form): Don't call it here.
-
-2006-12-24 Jan Hubicka <jh@suse.cz>
-
- * tree-mudflap.c (ml_decl_cache_locals, md_build_check_statement_for):
- add newly referenced vars.
-
-2006-12-24 Kazu Hirata <kazu@codesourcery.com>
-
- * basic-block.h: Remove the prototype for
- expected_value_to_br_prob.
- * rtl.h: Remove the prototypes for expand_builtin_expect_jump
- and purge_line_number_notes.
-
-2006-12-23 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne,
- assert_no_overflow_lt, assert_loop_rolls_lt,
- number_of_iterations_lt, number_of_iterations_le,
- number_of_iterations_cond, number_of_iterations_exit):
- Use integer_zerop/integer_nonzerop instead of
- null_or_integer_zerop/nonnull_and_integer_nonzerop.
- * tree.h (null_or_integer_zerop, nonnull_and_integer_nonzerop):
- Removed.
- * tree-scalar-evolution.c (simple_iv): Return zero for step of
- an invariant.
- * tree-ssa-loop-ivopts.c (alloc_iv): Do not set step of invariants
- to zero.
- (get_iv): Return NULL for non-scalar types. Use zero as a step
- of an invariant.
- (determine_biv_step, find_interesting_uses_op,
- find_interesting_uses_cond, find_interesting_uses_stmt,
- add_old_ivs_candidates, determine_use_iv_cost_condition,
- rewrite_use_compare, remove_unused_ivs):
- Use integer_zerop instead of null_or_integer_zerop.
- (struct ifs_ivopts_data): Replace step_p field with step field.
- (idx_find_step): Use zero as a step of an invariant. Modify
- step instead of *step_p.
- (find_interesting_uses_address): Use zero as a step of an invariant.
- Use integer_zerop instead of null_or_integer_zerop.
- (find_interesting_uses_outside): Call find_interesting_uses_op only
- for phi nodes for real operands.
- (add_candidate_1): Expect step to be non-NULL.
- * tree-ssa-loop-prefetch.c (idx_analyze_ref): Expect step to be
- non-NULL.
-
-2006-12-23 Andrew Pinski <pinskia@gmail.com>
-
- * vec.c: Don't include tree.h.
- * Makefile.in (vec.o): Update dependencies.
- (build/vec.o): Likewise.
-
-2006-12-23 Kazu Hirata <kazu@codesourcery.com>
-
- * common.opt (flag_force_mem): Remove.
- * doc/invoke.texi (-fforce-mem): Remove.
- * opts.c (common_handle_option): Don't handle OPT_fforce_mem.
-
- * Makefile.in (final.o): Depend on vecprim.h.
- * final.c: Include vecprim.h.
- (insn_addresses_): Change the type to VEC(int,heap)*.
- * insn-addr.h (INSN_ADDRESSES_DEFN): Remove.
- (INSN_ADDRESSES, INSN_ADDRESSES_ALLOC, INSN_ADDRESSES_SIZE,
- INSN_ADDRESSES_NEW): Use VEC instead of VARRAY.
-
-2006-12-23 Marcin Dalecki <martin@dalecki.de>
-
- * cgraphunit.c (cgraph_optimize): Fixed obvious thinko in memory
- consumption reporting.
-
-2006-12-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
- PR middle-end/7651
- * c.opt (Wmissing-parameter-type): New.
- * doc/invoke.texi (Wmissing-parameter-type): Document it.
- (Wextra): Enabled by -Wextra.
- * c-opts.c (c_common_post_options): Enabled by -Wextra.
- * c-decl.c (store_parm_decls_oldstyle): Replace Wextra with
- Wmissing-parameter-type.
-
-2006-12-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (dbx_reg_number): Do leaf register remapping
- only if the function is leaf.
- (multiple_reg_loc_descriptor): Likewise.
-
-2006-12-23 Kazu Hirata <kazu@codesourcery.com>
-
- * rtl.h (NOTE_EXPECTED_VALUE): Remove.
-
-2006-12-23 Jan Hubicka <jh@suse.cz>
-
- * toplev.c (dump_memory_report): Break out from...
- (finalize): Here.
- * toplev.h (dump_memory_report): Declare.
- (cmp_statistic): Rename to ...
- (final_cmp_statistic): ... this one
- (cmp_statistic): New.
- (dump_ggc_loc_staitsitcs): New FINAL parpameter.
- * common.opt (-fpre-ipa-mem-report, -fpost-ipa-mem-report): Declare.
- * varray.c (dump_varray_staitiscs): Do not segfault when no varray was
- allocated so far.
- * cgraphunit.c (cgraph_optimize): Dump the memory reports.
-
-2006-12-22 Mike Stump <mrs@apple.com>
-
- * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Add
- -mmacosx-version-min=10.4.
- (crt2.o): Add $(DARWIN_EXTRA_CRT_BUILD_CFLAGS).
-
-2006-12-23 Jan Hubicka <jh@suse.cz>
-
- * tree-flow-inline.h (var_ann): External variable annotations are
- unshared too.
- (tree_common_ann): Handle correctly unshared variables annotations.
- * tree-dfa.c (create_var_ann): External variable annotations are
- unshared too.
-
-2006-12-22 Kazu Hirata <kazu@codesourcery.com>
-
- * basic-block.h: Remove the prototype for
- commit_edge_insertions_watch_calls.
- * cfgrtl.c (commit_edge_insertion): Drop the last argument.
- Simplify.
- (commit_edge_insertions_watch_calls): Remove.
- (commit_edge_insertions): Adjust the call to
- commit_one_edge_insertion.
-
-2006-12-22 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-niter.c (zero_p, nonzero_p): Removed.
- (number_of_iterations_ne, number_of_iterations_lt_to_ne,
- assert_no_overflow_lt, assert_loop_rolls_lt,
- number_of_iterations_lt, number_of_iterations_le,
- number_of_iterations_cond, tree_simplify_using_condition_1,
- number_of_iterations_exit, find_loop_niter, loop_niter_by_eval,
- implies_nonnegative_p, implies_ge_p, record_nonwrapping_iv,
- idx_infer_loop_bounds, n_of_executions_at_most, scev_probably_wraps_p):
- Do not use zero_p/nonzero_p.
- * tree-ssa-loop-manip.c (determine_exit_conditions): Ditto.
- * tree-ssa-loop-ivopts.c (niter_for_exit, determine_biv_step,
- find_interesting_uses_op, find_interesting_uses_cond,
- find_interesting_uses_address, find_interesting_uses_stmt,
- strip_offset_1, add_candidate_1, add_old_ivs_candidates,
- difference_cost, determine_use_iv_cost_condition,
- rewrite_use_compare, remove_unused_ivs): Ditto.
- * tree-ssa-address.c (tree_mem_ref_addr, create_mem_ref_raw): Ditto.
- * tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
- * tree-cfg.c (find_taken_edge_cond_expr): Ditto.
- * tree.h (zero_p): Declaration removed.
- (null_or_integer_zerop, nonnull_and_integer_nonzerop): New.
-
-2006-12-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
- PR middle-end/7651
- * c.opt (Wclobbered): New.
- * doc/invoke.texi (Wclobbered): Document it.
- (Wextra): Enabled by -Wextra.
- * c-opts.c (c_common_post_options): Enabled by -Wextra.
- * flow.c (rest_of_handle_life): Replace Wextra with Wclobbered.
- * function.c (setjmp_vars_warning): Only warn for Wclobbered.
- (setjmp_args_warning): Likewise.
-
-2006-12-22 Kazu Hirata <kazu@codesourcery.com>
-
- * config/elfos.h, config/spu/spu.c, tree-ssa-operands.h,
- tree-ssa-ter.c: Fix comment typos.
-
-2006-12-22 Paolo Bonzini <bonzini@gnu.org>
-
- PR rtl-optimization/29840
-
- * fwprop.c (forward_propagate_into): Reject artificial uses/defs.
- (fwprop_init): Add DF_HARD_REGS to df_init call.
-
-2006-12-21 Andrew Pinski <pinskia@gmail.com>
-
- * tree-nested.c (create_tmp_var_for): Check for vector type
- when setting DECL_GIMPLE_REG_P.
-
-2006-12-21 Roger Sayle <roger@eyesopen.com>
-
- * tree-pretty-print.c (dump_generic_node): Avoid outputing "(void) 0;"
- as the else branch of a COND_EXPR.
-
-2006-12-22 Kazu Hirata <kazu@codesourcery.com>
-
- * cgraphunit.c, config/i386/i386.c, config/ia64/ia64.c, cse.c,
- output.h, toplev.c, tree-affine.h, tree-flow.h,
- tree-ssa-alias.c, tree-ssa-coalesce.c, tree-ssa-live.c,
- tree-ssa-live.h, tree-ssa-operands.c, tree-ssa-ter.c,
- tree-vrp.c, varpool.c: Fix comment typos.
-
- * cgraphunit.c, varpool.c: Fix comment typos.
-
-2006-12-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Define.
- * config/spu/spu.c (spu_expand_prologue): Set RTX_FRAME_RELATED_P
- for insn setting up the frame pointer. Do not set it for insns
- setting up scratch registers or storing the backchain.
-
-2006-12-21 Eric Botcazou <ebotcazou@adacore.com>
-
- PR other/29639
- * configure.ac (HAVE_LD_EH_GC_SECTIONS): Check that exception tables
- are kept for .gnu.linkonce.t sections if COMDAT groups are disabled.
- * configure: Regenerate.
-
-2006-12-21 Joseph Myers <joseph@codesourcery.com>
-
- * rtlanal.c (subreg_get_info): Do not make register size
- computations for mode sizes not divisible by the number of
- registers.
-
-2006-12-21 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-structalias.c (build_constraint_graph): Insert complex
- offsetted constraints into rhsvar, not lhsvar.
-
-2006-12-21 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/30262
- PR middle-end/30263
- * tree-nested.c (walk_asm_expr): New function.
- (walk_stmts): Use it for ASM_EXPR.
-
- PR target/30230
- * config/ia64/ia64.c (ia64_add_bundle_selector_before): New function.
- (bundling): Use it.
-
-2006-12-21 Nathan Sidwell <nathan@codesourcery.com>
-
- PR target/28966
- PR target/29248
- * reload1.c (reload): Realign stack after it changes size.
-
-2006-12-20 Roger Sayle <roger@eyesopen.com>
-
- * simplify-rtx.c (simplify_subreg): Use the correct mode when
- determining whether a SUBREG of a CONCAT refers to the first or
- second component.
-
-2006-12-21 Ben Elliston <bje@au.ibm.com>
-
- * config/spu/spu.c (spu_builtin_mul_widen_even): Remove unused
- local variable `d'.
-
-2006-12-20 Jan Hubicka <jh@suse.cz>
-
- * tree-dfa.c (add_referenced_var): Walk initializers of
- non-constant/readonly static vars.
-
-2006-12-20 Jan Hubicka <jh@suse.cz>
-
- * tree-flow-inline.h (gimple_var_anns): New function.
- (var_ann): Use hashtable for static functions.
- * tree-dfa.c (create_var_ann): Likewise.
- * tree-ssa.c (var_ann_eq, var_ann_hash): New functions.
- (init_tree_ssa): Initialize var anns.
- (delete_tree_ssa): Delete var anns; also clear out gimple_df.
- * tree-flow.h (struct static_var_ann_d): New structure.
- (gimple_df): Add var_anns.
-
-2006-12-20 Carlos O'Donell <carlos@codesourcery.com>
-
- PR bootstrap/30242
- * gcc/c-incpath.c (add_standard_paths): Only relocate paths that
- begin with the configured prefix.
-
-2006-12-20 Jan Hubicka <jh@suse.cz>
-
- PR target/30213
- * i386.c (expand_setmem_epilogue): Fix formating.
- (dsmalest_pow2_greater_than): New function.
- (ix86_expand_movmem): Improve comments; avoid re-computing of
- epilogue size.
- (promote_duplicated_reg_to_size): Break out from ...
- (expand_setmem): ... this one; reorganize promotion code;
- improve comments; avoid recomputation of epilogue size.
-
-2006-12-20 Andrew Pinski <pinskia@gmail.com>
-
- PR middle-end/30143
- * omp-low.c (init_tmp_var): New function.
- (save_tmp_var): New function.
- (lower_omp_1): Use them for VAR_DECL.
-
-2006-12-20 Andrew Pinski <pinskia@gmail.com>
-
- * tree-gimple.c (is_gimple_min_invariant): Treat constant vector
- CONSTRUCTORs as min invariants.
-
-2006-12-20 Joseph Myers <joseph@codesourcery.com>
-
- * rtlanal.c (struct subreg_info, subreg_get_info, subreg_nregs):
- New.
- (subreg_regno_offset, subreg_offset_representable_p): Change to
- wrappers about subreg_get_info.
- (refers_to_regno_p, reg_overlap_mentioned_p): Use subreg_nregs.
- * rtl.h (subreg_nregs): Declare.
- * doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING): Update to refer to
- subreg_get_info.
- * caller-save.c (mark_set_regs, add_stored_regs): Use
- subreg_nregs.
- * df-scan.c (df_ref_record): Use subreg_nregs.
- * flow.c (mark_set_1): Use subreg_nregs.
- * postreload.c (move2add_note_store): Use subreg_nregs.
- * reload.c (decompose, refers_to_regno_for_reload_p,
- reg_overlap_mentioned_for_reload_p): Use subreg_nregs.
- * resource.c (update_live_status, mark_referenced_resources,
- mark_set_resources): Use subreg_nregs.
-
-2006-12-20 Zdenek Dvorak <dvorakz@suse.cz>
-
- * loop-unswitch.c (unswitch_loop): Update arguments of
- duplicate_loop_to_header_edge call.
- * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Ditto.
- * loop-unroll.c (peel_loop_completely, unroll_loop_constant_iterations,
- unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
- Ditto.
- * cfgloopmanip.c (loop_version): Ditto.
- (duplicate_loop_to_header_edge): Change
- type of to_remove to VEC(edge), remove n_to_remove argument.
- * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
- Change type of to_remove to VEC(edge), remove n_to_remove argument.
- (tree_unroll_loop): Update arguments of
- tree_duplicate_loop_to_header_edge call.
- * cfghooks.c (cfg_hook_duplicate_loop_to_header_edge):
- Change type of to_remove to VEC(edge), remove n_to_remove argument.
- * cfghooks.h (struct cfg_hooks): Type of
- cfg_hook_duplicate_loop_to_header_edge changed.
- (cfg_hook_duplicate_loop_to_header_edge): Declaration changed.
- * cfgloop.h (duplicate_loop_to_header_edge): Ditto.
- * tree-flow.h (tree_duplicate_loop_to_header_edge): Ditto.
-
-2006-12-20 Dorit Nuzman <dorit@il.ibm.com>
-
- * config/spu/spu.md (vec_widen_umult_hi_v8hi): New.
- (vec_widen_umult_lo_v8hi, vec_widen_smult_hi_v8hi): New.
- (vec_widen_smult_lo_v8hi): New.
- * config/spu/spu.c (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined.
- (spu_builtin_mul_widen_even, spu_builtin_mul_widen_odd): New.
-
-2006-12-20 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c: Update overall comment; fix vertical spacing.
- * ipa-inline.c (cgraph_decide_inlining): Remove now redundant check.
-
-2006-12-20 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (FOR_EACH_STATIC_VARIABLE, FOR_EACH_STATIC_INITIALIZER): New
- macros.
- (varpool_first_static_initializer, varpol_next_static_initializer): New
- inline functions.
- * ipa-reference.c (analyze_variable): Simplify.
- (static_execute): Use FOR_EACH_STATIC_INITIALIZER.
- * ipa-type-escape.c (type_escape_execute): Use FOR_EACH_STATIC_VARIABLE.
-
-2006-12-19 Andrew Pinski <pinskia@gmail.com>
-
- PR tree-opt/30045
- * tree-vrp.c (nonnull_arg_p): Treat the static decl as always
- non null.
-
-2006-12-20 Ben Elliston <bje@au.ibm.com>
-
- * doc/invoke.texi (Optimize Options): Typo fix.
-
-2006-12-19 Eric Christopher <echristo@apple.com>
-
- * config/darwin.c (machopic_select_section): Rewrite.
- (darwin_text_section): New.
- (darwin_rodata_section): Ditto.
- (darwin_mergeable_string_section): Ditto.
- (darwin_mergeable_constant_section): Ditto.
- * config/darwin-sections.def: Add SECTION_STRINGS for cstring_section.
-
-2006-12-19 Steve Ellcey <sje@cup.hp.com>
-
- * config/pa/pa64-hpux.h (ASM_OUTPUT_EXTERNAL): Add undef.
-
-2006-12-19 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/29544
- * gcc/Makefile.in (STAGE1_CHECKING): Rename to...
- (STAGE1_CHECKING_CFLAGS): ... this.
-
-2006-12-18 Andrew Pinski <pinskia@gmail.com>
-
- PR target/29779
- * config/rs6000/rs6000.c (altivec_init_builtins): Change to set
- READONLY on __builtin_altivec_mask_for_load instead of adding
- the attribute.
-
-2006-12-18 Roger Sayle <roger@eyesopen.com>
- Eric Christopher <echristo@apple.com>
-
- PR target/29302
- * real.c (real_maxval): Correctly handle IBM extended double format.
-
-2006-12-19 Jan Hubicka <jh@suse.cz>
-
- * expmed.c (expand_mult_const): Force operand to constant.
- * rs6000.c (rs6000_emit_set_const, rs6000_emit_set_long_const): Add
- copy_rtx to arguments.
-
-2006-12-19 Ben Elliston <bje@au.ibm.com>
-
- * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
-
-2006-12-19 Ben Elliston <bje@au.ibm.com>
-
- * cse.c (cse_insn): Fix formatting.
-
-2006-12-18 Geoffrey Keating <geoffk@apple.com>
-
- * doc/invoke.texi (Debugging Options): Document -g0.
- * config/darwin.h (LINK_COMMAND_SPEC): Replace -gnone with -g0.
- * config/darwin9.h (LINK_COMMAND_SPEC): Likewise.
-
-2006-12-18 Ian Lance Taylor <iant@google.com>
-
- * c.opt (Wmissing-declarations): Add C++ and ObjC++.
- * doc/invoke.texi (Warning Options): -Wmissing-declarations now
- works for C++.
-
-2006-12-18 Andrew MacLeod <amacleod@redhat.com>
-
- * tree-ssa-operands.h (struct vdef_optype_d): Rename to voptype_d.
- (struct vuse_optype_d): Delete.
- (SSA_OPERAND_MEMORY_SIZE): Delete.
- (struct ssa_operand_memory_d): Change mem array to size one.
- (NUM_VOP_FREE_BUCKETS): Define.
- (free_vuses, free_vdefs): Replace with vop_free_buckets array.
- (vdef_ops, vuse_ops, struct ssa_operand_iterator_d): Use voptype_d type.
- * tree-pretty-print.c (dump_vops): Use voptype_d type.
- * tree-ssa-operands.c (vop_free_bucket_size): New. Number of operands
- which fit into a chunk of memory from a specific bucket.
- (vop_free_bucket_index): New. Find correct size memory bucket.
- (init_vop_buckets): New. Initialize VOP free memory buckets.
- (add_vop_to_freelist): New. Add a VOP to the correct free list.
- (ssa_operand_mem_size): New. Current size of an operand memory chunk.
- (init_ssa_operands): Initialize operand memory and free lists.
- (fini_ssa_operands): Remove references to free_vuses and free_vdefs.
- (ssa_operand_alloc): Use graduated size memory allocation.
- (APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST,
- INITIALIZE_USE): Remove.
- (alloc_vop): New. Allocate a virtual operand.
- (alloc_vdef, alloc_vuse): Delete.
- (add_def_op, add_use_op): Directly setup pointers.
- (add_vop): New. Add a virtual operand.
- (add_vuse_op, add_vdef_op): Call add_vop.
- (realloc_vop): New. Reallocate a virtual operand.
- (realloc_vdef, realloc_vuse): Call realloc_vop.
- (finalize_ssa_def_ops): Delete. Move content to finalize_ssa_defs.
- (finalize_ssa_defs): Optimize for common case, remove code based on
- sorted pointers which was a waste of time.
- (finalize_ssa_use_ops): Delete. Move content to finalize_ssa_uses.
- (finalize_ssa_uses): Update last pointer.
- (finalize_ssa_vdef_ops): Delete. Move content to finalize_ssa_vdefs.
- (finalize_ssa_vdefs, finalize_ssa_vuse_ops): Use voptype_d and
- directly manipulate pointers.
- (copy_virtual_operands): Use voptype_d, and no need to update pointers.
-
-2006-12-18 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/rs6000/rs6000.md (*movdf_hardfloat32): Use %X format to
- determine if memory operand is an indexed address or not.
-
-2006-12-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * cselib.c (struct cselib_val_struct): Make val_rtx its
- own field, remove the union that contained it.
- * cselib.c: Update accordingly where necessary.
-
-2006-12-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * cse.c (have_eh_succ_edges): New function.
- (cse_insn): Don't remove dead EH edges here
- (cse_extended_basic_block): Do it here.
- (rest_of_handle_cse, rest_of_handle_cse2): Don't assert
- that we have removed all dead edges.
-
-2006-12-17 Matthias Klose <doko@debian.org>
-
- PR libstdc++/11953
- * gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend.
-
-2006-12-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * cse.c (cse_find_path): Don't wrap a gcc_assert in ENABLE_CHECKING.
- (cse_extended_basic_block): When truncating a path while processing
- it, make sure to clear the visited bit on the basic blocks in the
- truncated part of the path.
- (cse_main): Use reverse completion order, not DFS order, to walk
- the CFG.
- (gate_handle_cse): Revert erroneous commit of a counter.
-
-2006-12-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * cse.c (this_insn_cc0, this_insn_cc0_mode): New global
- variables, moved out from cse_insn.
- (prev_insn): Remove this global variable).
- (new_basic_block): Don't set it.
- (cse_insn): Idem. Also, move code to delete unused CC0-setter
- insns and code to set prev_insn_cc0 and prev_insn_cc0_mode
- from here...
- (cse_extended_basic_block): ...to here. Do not clear
- prev_insn_cc0 until after recording equivalences from jumps.
-
-2006-12-16 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (ipa_passes): Clear current_function_decl.
-
-2006-12-16 Andreas Tobler <a.tobler@schweiz.org>
-
- * passes.c (verify_curr_properties): Define only for ENABLE_CHECKING.
-
-2006-12-16 Jan Hubicka <jh@suse.cz>
-
- * omp-low.c (expand_omp_parallel): Set function properties.
- * function.h (struct function): Add curr_properties and last_verified.
- * passes.c (register_dump_files): Do not set TODO_set_props for the
- first pass
- (init_optimization_passes): Set it here; reorder initialization so the
- dump files appear in more logical order.
- (last_verified, curr_properties): Kill.
- (do_per_function): New function.
- (execute_function_todo): Break out from ...
- (execute_todo): ... here; handle per-function flags.
- (clear_last_verified, verify_curr_properties,
- update_properties_after_pass): New functions.
- (execute_one_pass): Handle per-function properties.
- (execute_ipa_pass_list): Use do_per_function; sanity check that cfun
- and current_function_decls are cleared out.
- * ipa-cp.c (constant_val_insert): Clear cfun/current_function_decl
- after use.
-
-2006-12-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
- PR middle-end/7651
- * c.opt (Wempty-body): New.
- * doc/invoke.texi (Wempty-body): Document it.
- (Wextra): Enabled by -Wextra.
- * c-opts.c (c_common_post_options): Enabled by -Wextra.
- * c-common.c (empty_body_warning): Replace Wextra with Wempty-body.
- * c-parser.c (c_parser_c99_block_statement): Likewise.
-
-2006-12-15 Jakub Jelinek <jakub@redhat.com>
-
- PR target/30185
- * config/rs6000/rs6000.md (div<mode>3): Use correct mode in
- force_reg call.
-
-2006-12-15 Andrew Pinski <pinski@gmail.com>
-
- PR tree-opt/30140
- * tree-inline.c (setup_one_parameter): Gimplify the statement if
- the variable is not a gimple register variable.
-
-2006-12-15 Uros Bizjak <ubizjak@gmail.com>
-
- * invoke.texi (mstringop-strategy): Add missing "byte_loop" value.
-
-2006-12-14 Jan Hubicka <jh@suse.cz>
-
- * tree-flow.h (struct stmt_ann_d): Move bitfield references_memory
- to proper place.
-
-2006-12-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/30197
- * builtins.c (fold_builtin_cexp): New function to fold cexp
- to cexpi and exp parts.
- * tree-ssa-pre.c (try_combine_conversion): Also handle
- REALPART_EXPR and IMAGPART_EXPR.
-
-2006-12-14 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/30172
- * fold-const.c (fold_binary): Fold __complex__ ( x, 0 )
- + __complex__ ( 0, y ) to __complex__ ( x, y ).
- Fold __complex__ (x, y) * +-I to __complex__ (-+y, +-x).
-
-2006-12-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/30198
- * fold-const.c (fold_unary): Fold REALPART_EXPR of cexpi to cos.
- Fold IMAGPART_EXPR of cexpi to sin.
-
-2006-12-14 Dorit Nuzman <dorit@il.ibm.com>
- Trevor Smigiel <trevor_smigiel@playstation.sony.com>
-
- * spu.c (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Defined.
- (spu_init_builtins): Mark the SPU_MASK_FOR_LOAD builtin decl as read
- only.
- (spu_expand_builtin_1): Handle the SPU_MASK_FOR_LOAD builtin.
- (spu_builtin_mask_for_load): New.
- * spu-builtins.def (SPU_MASK_FOR_LOAD): Define new builtin.
- * spu.md (UNSPEC_SPU_REALIGN_LOAD, UNSPEC_SPU_MASK_FOR_LOAD):New.
- (vec_realign_load_<mode>, spu_lvsr): New.
-
-2006-12-13 Ian Lance Taylor <iant@google.com>
-
- PR c++/19564
- PR c++/19756
- * c-typeck.c (parser_build_binary_op): Move parentheses warnings
- to warn_about_parentheses in c-common.c.
- * c-common.c (warn_about_parentheses): New function.
- * c-common.h (warn_about_parentheses): Declare.
- * doc/invoke.texi (Warning Options): Update -Wparentheses
- description.
-
-2006-12-13 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-ivopts.c: Include tree-affine.h.
- (divide): Removed.
- (constant_multiple_of): Fix order of operators for division.
- (aff_combination_const, aff_combination_elt, aff_combination_scale,
- aff_combination_add_elt, aff_combination_add, aff_combination_convert,
- tree_to_aff_combination, add_elt_to_tree, unshare_aff_combination,
- aff_combination_to_tree): Moved to tree-affine.c and made to work with
- double_int coefficients.
- (get_computation_aff, get_computation_at): Work with double_int
- coefficients.
- (get_computation_cost_at): Do not use divide.
- (rewrite_use_nonlinear_expr, rewrite_use_address, rewrite_use_compare):
- Assert that expressing the computation did not fail.
- * tree-ssa-address.c: Include tree-affine.h.
- (add_to_parts, most_expensive_mult_to_index, addr_to_parts,
- create_mem_ref): Work with double_int coefficients.
- * tree-affine.c: New file.
- * tree-affine.h: New file.
- * tree-flow.h (struct affine_tree_combination): Removed.
- * Makefile.in (tree-affine.o): Add.
- (tree-ssa-address.o, tree-ssa-loop-ivopts.o): Add tree-affine.h
- dependency.
-
-2006-12-13 Peter Bergner <bergner@vnet.ibm.com>
-
- PR middle-end/30191
- Revert:
- * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and
- the offset == 0 "then" clauses.
- * config/rs6000/predicates.md (gpc_reg_operand): Check for
- reload_in_progress.
-
-2006-12-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 53.
- (FIXED_REGISTERS, CALL_USED_REGISTERS): Remove dir register.
- (REG_ALLOC_ORDER): Remove one element due to removal of dir register.
- (FRAME_POINTER_REGNUM): Update register number to 20.
- (REG_CLASS_CONTENTS): Update contents due to removed dir register.
- (HI_REGISTER_NAMES): Remove "dirflag".
-
- * config/i386/i386.c (regclass_map): Remove dirflag entry.
- (dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
- Remove "dir" entry.
- (ix86_md_asm_clobbers): Remove "dirflag" default asm clobber.
-
- * config/i386/i386.md (R10_REG, R11_REG): Renumber.
- (sse_prologue_save, *sse_prologue_save_insn): Renumber
- hardcoded SSE register numbers.
-
- * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
- hardcoded MMX register numbers.
-
-
-2006-12-13 Mark Shinwell <shinwell@codesourcery.com>
-
- * config/arm/arm.c (arm_output_fldmx): Output FLDMD instead of
- FLDMX. Rename function to...
- (vfp_output_fldmd): ...this.
- (vfp_output_fstmx): Output FSTMD instead of FSTMX. Rename
- function to...
- (vfp_output_fstmd): ...this.
- (vfp_emit_fstmx): Don't leave space in the frame layout for the
- FSTMX format word. Rename function to...
- (vfp_emit_fstmd): ...this.
- (arm_get_vfp_saved_size): Don't add in space for the FSTMX format
- word.
- (arm_output_epilogue): Adjust comment to reflect use of FSTMD.
- (arm_unwind_emit_sequence): Don't compensate for the FSTMX format
- word. Also emit "vsave" assembler directives in such cases rather
- than "save".
- * config/arm/libunwind.S (gnu_Unwind_Restore_VFP,
- gnu_Unwind_Save_VFP): Adjust comments.
- (gnu_Unwind_Restore_VFP_D, gnu_Unwind_Save_VFP_D): New functions
- for saving and restoring using FSTMD and FLDMD rather than
- FSTMX and FLDMX.
- (gnu_Unwind_Restore_VFP_D_16_to_31, gnu_Unwind_Restore_VFP_D_16_to_31):
- New functions for saving and restoring the VFPv3 registers 16 .. 31.
- * config/arm/pr-support.c (gnu_unwind_execute): Add conditional
- compilation case to correctly handle unwind opcode 0xc8 when using
- VFP.
- * config/arm/unwind-arm.c (struct vfpv3_regs): New.
- (DEMAND_SAVE_VFP_D, DEMAND_SAVE_VFP_V3): New flags.
- (__gnu_Unwind_Save_VFP_D, __gnu_Unwind_Restore_VFP_D,
- __gnu_Unwind_Save_VFP_D_16_to_31, __gnu_Unwind_Restore_VFP_D_16_to_31):
- Declare.
- (restore_non_core_regs): Restore registers using FLDMD rather than
- FLDMX if required. Also handle restoration of VFPv3 registers.
- (_Unwind_VRS_Pop): Handle saving and restoring of registers using
- FSTMD and FLDMD if required; also handle VFPv3 registers 16 .. 31,
- including cases where the caller specifies a range of registers
- that overlaps the d15/d16 boundary.
-
-2006-12-13 Diego Novillo <dnovillo@redhat.com>
-
- PR 30089
- * tree-ssa-operands.h (SSA_OPERAND_MEMORY_SIZE): Add space to
- accomodate 511 operands.
-
-2006-12-13 Richard Guenther <rguenther@suse.de>
-
- * builtins.c (expand_builtin_cexpi): Fix typo.
-
-2006-12-13 Jan Hubicka <jh@suse.cz>
-
- * Makefile.in: Add dependencies.
- * tree-pretty-print.c: Include value-prof.h
- (dump_generic_bb_buff): Dump histograms
- * value-prof.c: Include pointer-set.h
- (gimple_alloc_histogram_value, histogram_hash, histogram_eq,
- set_histogram_value, gimple_histogram_value,
- gimple_add_histogram_value, gimple_remove_histogram_value,
- gimple_histogram_value_of_type, dump_histogram_value,
- dump_histograms_for_stmt, gimple_remove_stmt_histograms,
- gimple_duplicate_stmt_histograms, visit_hist,
- verify_histograms): New functions.
- (tree_value_profile_transformations): Update for new histogram API.
- (tree_divmod_fixed_value): Update for new histogram API.
- (tree_divmod_fixed_value_transform): Update for new histogram API.
- (tree_mod_pow2): Update for new histogram API.
- (tree_mod_pow2_value_transform): Update for new histogram API.
- (tree_mod_subtract): Update for new histogram API.
- (tree_mod_subtract_transform): Update for new histogram API.
- (tree_stringops_transform): Update for new histogram API.
- (tree_divmod_values_to_profile): Update for new histogram API.
- (tree_stringops_values_to_profile): Update for new histogram API.
- (tree_find_values_to_profile): Update for new histogram API.
- * value-prof.h (gimple_histogram_value): Declare.
- (gimple_histogram_value_of_type): Declare.
- (gimple_add_histogram_value): Declare.
- (gimple_remove_histogram_value): Declare.
- (dump_histograms_for_stmt): Declare.
- (gimple_remove_histogram_value): Declare.
- (gimple_remove_stmt_histograms): Declare.
- (gimple_duplicate_stmt_histograms): Declare.
- (verify_histograms): Declare.
- * function.h
- (struct funrction): Add value_histograms hash.
- (VALUE_HISTOGRAMS): New macro.
- * profile.c (compute_value_histograms): update for new API.
- * tree-inline.c: Include value-prof.h
- (copy_bb): Update histograms.
- * tree-flow.h (struct stmt_ann_d): Do not contain pointer to histograms;
- reorder to get smaller memory layout.
- * tree-cfg.c: Include value-prof.h
- (bsi_remove): Update histograms.
- (bsi_replace): Update histograms.
- (verify_stmts): Call histogram verifier.
- (tree_duplicate_bb): Update histograms.
- (move_block_to_fn): Update histograms.
-
-2006-12-13 Richard Guenther <rguenther@suse.de>
-
- * ipa-inline.c (cgraph_flatten_node): Replace leafify with
- flatten.
- (cgraph_decide_inlining): Likewise.
-
-2006-12-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/17687
- * builtins.def (BUILT_IN_CEXPI, BUILT_IN_CEXPIF, BUILT_IN_CEXPIL):
- New builtins for imaginary argument cexp.
- * builtin-types.def (BT_FN_COMPLEX_FLOAT_FLOAT,
- BT_FN_COMPLEX_DOUBLE_DOUBLE, BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE):
- New required builtin types.
- * builtins.c (expand_builtin_cexpi): Declare.
- (mathfn_built_in): Handle BUILT_IN_CEXPI.
- (expand_builtin_cexpi): New static helper.
- (expand_builtin): Call it.
- (do_mpfr_sincos): Adjust for CEXPI evaluation.
- (fold_builtin_sincos): New function to fold sincos to cepxi.
-
-2006-12-13 Richard Guenther <rguenther@suse.de>
-
- * ipa-reference.c (scan_for_static_refs): Also scan
- tcc_comparison class trees.
-
-2006-12-12 David Daney <ddaney@avtrex.com>
-
- * config/mips/mips.h (ASM_OUTPUT_EXTERNAL): Undefine it before
- define.
-
-2006-12-12 Andrew Pinski <pinskia@gmail.com>
-
- * tree-vect-transform.c (vect_permute_load_chain):
- Set DECL_GIMPLE_REG_P to true for the vect_perm_*
- temp variables.
-
-2006-12-13 Sa Liu <saliu@de.ibm.com>
- Ben Elliston <bje@au.ibm.com>
-
- * config/spu/spu.h (C_COMMON_OVERRIDE_OPTIONS): Define.
- (REGISTER_TARGET_PRAGMAS): Don't zero warn_main flag.
- * config/spu/spu-protos.h (spu_c_common_override_options):
- Declare.
- * config/spu/spu-c.c (spu_c_common_override_options): New.
- * config/spu/spu.c (spu_override_options): Whitespace fix.
-
-2006-12-12 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
-
- * config/spu/spu.c (cpat_info): Fix an incorrectly identified case.
-
-2006-12-12 Geoffrey Keating <geoffk@apple.com>
-
- * mips-tdump.c: Replace CROSS_COMPILE with
- CROSS_DIRECTORY_STRUCTURE.
- * mips-tfile.c: Likewise.
- * gcc.c: Likewise.
- * configure.ac: Likewise.
- * cppdefault.c: Likewise.
- * Makefile.in: Likewise.
- * config/alpha/osf.h: Likewise.
- * config/i386/cygwin.h: Likewise.
- * config/i386/beos-elf.h: Likewise.
- * config/i386/nto.h: Likewise.
- * config/fr30/fr30.h: Likewise.
- * config/svr4.h: Likewise.
- * config/rs6000/aix.h: Likewise.
- * config/rs6000/sysv4.h: Likewise.
- * config/pa/pa64-hpux.h: Likewise.
- * config/pa/pa-hpux10.h: Likewise.
- * config/pa/pa-hpux11.h: Likewise.
- * collect2.c: Likewise.
- * configure: Regenerate.
-
- * doc/tm.texi (Alignment Output): Document that ASM_OUTPUT_SKIP
- actually takes an unsigned HOST_WIDE_INT for its second parameter.
-
-2006-12-13 Ulrich Weigand <uweigand@de.ibm.com>
-
- * config/spu/spu.c (TARGET_ENCODE_SECTION_INFO): Define.
- (spu_encode_section_info): New.
- * config/spu/spu.h (ALIGNED_SYMBOL_REF_P): Adjust.
- (SYMBOL_FLAG_ALIGN1): New.
-
-2006-12-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR tree-opt/28624
- * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
- bitmap for EXECUTE_IF_SET_IN_BITMAP.
-
-2006-12-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR tree-opt/28436
- * tree.h (DECL_COMPLEX_GIMPLE_REG_P): Rename to ...
- (DECL_GIMPLE_REG_P): This.
- * fold-const.c (fold_indirect_ref_1): Fold *(foo *)&vectorfoo into
- using BIT_FIELD_REF.
- * omp-low.c (omp_copy_decl_2): Use the renamed DECL_GIMPLE_REG_P.
- * tree-gimple.c (is_gimple_reg): Use the renamed DECL_GIMPLE_REG_P
- and check for VECTOR_TYPE.
- * expr.c (get_inner_reference): Set the mode for BIT_FIELD_REF with
- vector types.
- * tree-flow-inline.h (var_can_have_subvars): Use the renamed
- DECL_GIMPLE_REG_P.
- * gimplify.c (internal_get_tmp_var): Use the renamed DECL_GIMPLE_REG_P
- and check for VECTOR_TYPE.
- (gimplify_bind_expr): Likewise.
- (gimplify_function_tree): Likewise.
- * expmed.c: Include target.h.
- (extract_bit_field): For vector mode, try find a better mode first.
- If that fails use gen_lowpart (for vectors only).
- * tree-dfa.c (make_rename_temp): Use the renamed DECL_GIMPLE_REG_P
- and check for VECTOR_TYPE.
- * tree-ssa-pre.c (create_expressions_by_pieces): Likewise.
- (insert_into_preds_of_block): Likewise.
- (insert_fake_stores): Create gimple register store_tmps for
- vector types.
- * tree-sra.c (sra_elt): New field, is_vector_lhs.
- (sra_walk_expr <case BIT_FIELD_REF>): For vector types that
- are the left hand side, set the element's is_vector_lhs to true.
- (instantiate_element): For vector types which were on the left
- hand size, set DECL_GIMPLE_REG_P to false.
- * tree-nested.c (create_tmp_var_for): Use the renamed
- DECL_GIMPLE_REG_P.
- * tree-inline.c (declare_return_variable): Use the renamed
- DECL_GIMPLE_REG_P and check for VECTOR_TYPE.
- (copy_decl_to_var): Use the renamed DECL_GIMPLE_REG_P.
- (copy_result_decl_to_var): Likewise.
- * tree-vect-transform.c (vect_get_new_vect_var): For vector types,
- create a gimple register variable.
- (vect_permute_store_chain): Set DECL_GIMPLE_REG_P to true for the
- vect_inter_* temp variables.
- * Makefile.in (expmed.o): Update dependencies.
-
-2006-12-12 Peter Bergner <bergner@vnet.ibm.com>
-
- * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and
- the offset == 0 "then" clauses.
- * config/rs6000/predicates.md (gpc_reg_operand): Check for
- reload_in_progress.
-
-2006-12-12 Marcin Dalecki <martin@dalecki.de>
-
- * doc/passes.texi: remove docs about "redundant PHI removal".
- * tree-pass.h: remove orphaned declaration of pass_redundant_phi,
- remove redundant pass_partition_blocks declaration.
-
-2006-12-12 Andrew Macleod <amacleod@redhat.com>
-
- PR tree-optimization/30159
- * tree-ssa-coalesce.c (coalesce_ssa_name): Process single ssa_name
- functions in case a default_def coalesce is required.
-
-2006-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/11953
- * gthr-posix.h (_REENTRANT): Only define if __osf__ is defined.
-
- * config/ia64/linux.h (CPP_SPEC): Define.
- * config/s390/linux.h (CPP_SPEC): Define.
-
-2006-12-12 Jim Wilson <wilson@specifix.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/27761
- * combine.c (try_combine): Don't create a useless garbage SET
- if PATTERN (i2) is a PARALLEL. If added_sets_1, save
- PATTERN (i1) resp. SET from i1src to i1dest in i1pat
- and use it to prevent accidental modification of i1src.
-
-2006-12-12 Ira Rosen <irar@il.ibm.com>
-
- * tree-vect-analyze.c (vect_analyze_data_ref_access): Add another check
- for stores with gaps.
- * tree-vect-transform.c (vect_permute_store_chain): Create
- interleave_high or interleave_low according to the endianess.
-
-2006-12-12 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/30147
- * fold-const.c (fold_read_from_constant_string): Only fold read
- from constant string if the result type is integer.
-
-2006-12-12 Olivier Hainque <hainque@adacore.com>
-
- * config/rs6000/t-vxworks: Remove assignment to LIB2FUNCS_EXTRA.
-
-2006-12-12 Olivier Hainque <hainque@adacore.com>
-
- * config/vxlib.c: Extract tls related routines into ...
- * config/vxlib-tls.c: New file.
- * config/t-vxworks: Add vxlib-tls.c to LIB2FUNCS_EXTRA.
-
-2006-12-12 Sa Liu <saliu@de.ibm.com>
- Ben Elliston <bje@au.ibm.com>
-
- * config/spu/spu.opt (mfixed-range): New option.
- * config/spu/spu.h (spu_fixed_range_string): Declare.
- * config/spu/spu.c (spu_override_options): Handle -mfixed-range.
- (fix_range): New function.
- * doc/invoke.texi (SPU Options): Document -mfixed-range.
- * testsuite/gcc.target/spu/fixed-range.c: New.
- * testsuite/gcc.target/spu/fixed-range-bad.c: Ditto.
-
-2006-12-11 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/17982
- PR middle-end/20218
- * cgraphunit.c (cgraph_optimize): Remove call to
- process_pending_assemble_externals.
-
- * config/elfos.h (ASM_OUTPUT_EXTERNAL): New.
-
- * config/ia64/hpux.h (TARGET_ASM_FILE_END): Removed.
-
- * config/ia64/ia64.c (ia64_asm_output_external): Rewritten.
- (ia64_hpux_add_extern_decl): Removed.
- (ia64_hpux_file_end): Likewise.
- (extern_func_list): Likewise.
- (extern_func_head): Likewise.
-
- * output.h (assemble_external): Update comments.
- (default_elf_asm_output_external): New.
- (maybe_assemble_visibility): New.
-
- * toplev.c (compile_file): Update comment.
-
- * varasm.c (assemble_external): Always put it on
- pending_assemble_externals.
- (maybe_assemble_visibility): Make it extern and return int.
- (default_elf_asm_output_external): New.
-
-2006-12-11 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-structalias.c (handle_ptr_arith): Return false when we
- can't handle the pointer arithmetic.
-
-2006-12-11 Diego Novillo <dnovillo@redhat.com>
-
- * doc/tree-ssa.texi: Update documentation for virtual operands
- and the use of push_stmt_changes/pop_stmt_changes.
- * doc/invoke.texi: Remove documentation for params
- global-var-threshold.
- Update documentation on max-aliased-vops.
-
- * tree-into-ssa.c: Cleanup comments, variables and
- spacing in various functions.
- (regs_to_rename): Declare.
- (mem_syms_to_rename): Declare.
- (dump_update_ssa): Declare.
- (debug_update_ssa): Declare.
- (dump_names_replaced_by): Declare.
- (debug_names_replaced_by): Declare.
- (dump_def_blocks): Declare.
- (debug_def_blocks): Declare.
- (dump_defs_stack): Declare.
- (debug_defs_stack): Declare.
- (dump_currdefs): Declare.
- (debug_currdefs): Declare.
- (mark_def_sites): Do not handle virtual operands.
- (compute_idf): Rename from find_idf. Update users.
- (register_new_def): Make local. Convert second argument
- to 'tree'.
- Use BLOCK_DEFS_STACK directly.
- If pushing a non-register, also push the underlying
- symbol.
- (rewrite_stmt): Do not handle virtual operands.
- (dump_tree_ssa): Call dump_def_blocks, dump_defs_stack,
- dump_currdefs and dump_tree_ssa_stats.
- (dump_tree_ssa_stats): Also dump REPL_TBL.
- (replace_use): Remove. Update all users to call SET_USE
- instead.
- (rewrite_blocks): Move code to free memory to
- fini_ssa_renamer.
- (mark_def_site_blocks): Move initialization code to
- init_ssa_renamer.
- (init_ssa_renamer): New.
- (fini_ssa_renamer): New.
- (rewrite_into_ssa): Call them.
- (prepare_block_for_update): Process SSA_OP_ALL_USES first
- and SSA_OP_ALL_DEFS later. Do not process virtual
- operands separately.
- (dump_update_ssa): Call dump_decl_set.
- (init_update_ssa): Initialize regs_to_rename and
- mem_syms_to_rename.
- Call init_ssa_renamer.
- (delete_update_ssa): Call fini_ssa_renamer.
- Free blocks_with_phis_to_rewrite.
- (mark_sym_for_renaming): If the variable has
- sub-variables, also mark them.
- If the variable belongs to a partition, also mark it.
- (mark_set_for_renaming): Call mark_sym_for_renaming on
- every symbol in the set.
- (switch_virtuals_to_full_rewrite): Call
- mark_set_for_renaming.
- (update_ssa): Separate syms_to_rename into regs_to_rename
- and mem_syms_to_rename.
-
- * tree-dump.c (dump_options): Add TDF_MEMSYMS.
- * tree-pretty-print.c (debug_generic_expr): Add TDF_MEMSYMS.
- (debug_generic_stmt): Likewise.
- (debug_tree_chain): Likewise.
- (dump_symbols): New.
- (dump_generic_node): Check for TDF_MEMSYMS.
- Handle MEMORY_PARTITION_TAG.
- If the statement references memory and TDF_MEMSYMS is
- given, call dump_symbols.
- Indicate default names with (D).
- (dump_vops): Update for new virtual operator format.
-
- * tree.c (init_ttree): Add MEMORY_PARTITION_TAG to
- tree_contains_struct.
- (tree_code_size): Handle MEMORY_PARTITION_TAG.
- (tree_node_structure): Likewise.
- (needs_to_live_in_memory): Handle SSA names.
- * tree.h (MTAG_P): Likewise.
- (struct tree_memory_partition_tag): Declare.
- (MPT_SYMBOLS): Define.
- (union tree_node): Add field 'mpt'.
- * treestruct.def (TS_MEMORY_PARTITION_TAG): Define.
- * tree.def (MEMORY_PARTITION_TAG): Define.
-
- * tree-pass.h (TDF_MEMSYMS): Define.
-
- * params.h (GLOBAL_VAR_THRESHOLD): Remove.
-
- * tree-ssa-alias.c: Include pointer-set.h
- (struct alias_map_d): Remove fields total_alias_vops,
- grouped_p and may_aliases. Update all users.
- (struct mp_info_def): Declare.
- (mp_info_t): New type.
- (get_smt_for): Rename from get_tmt_for. Update all
- users.
- (add_may_alias): Add argument ALREADY_ADDED. If given,
- use it to avoid adding duplicate entries to alias sets.
- (replace_may_alias): Remove. Update all users.
- (total_alias_vops_cmp): Remove. Update all users.
- (group_aliases_into): Remove. Update all users.
- (tree_pointer_compare): Remove. Update all users.
- (compact_name_tags): Remove. Update all users.
- (group_aliases): Remove. Update all users.
- (mark_non_addressable): Move from tree-flow-inline.h.
- Remove the symbol from the partition holding it, if
- needed.
- (dump_mp_info): New.
- (debug_mp_info): New.
- (sort_mp_info): New.
- (create_partition_for): New.
- (rewrite_alias_set_for): New.
- (compute_memory_partitions): New.
- (compute_may_aliases): Call it.
- (init_alias_info): If computing aliases for the first
- time, mark every memory symbol for renaming.
- (have_common_aliases_p): New.
- (compute_flow_insensitive_aliasing): Call it.
- (setup_pointers_and_addressables): Do not cache
- num_referenced_vars.
- For register promoted symbols, mark their former
- partition for renaming.
- (maybe_create_global_var): Only create .GLOBAL_VAR if
- there are no call-clobbered variables and a mix of pure
- and non-pure functions were found.
- (may_alias_p): Tidy comments.
- (create_tag_raw): Remove unused variable new_type.
- (dump_alias_info): call dump_memory_partitions.
- (dump_points_to_info_for): Call dump_decl_set.
- (may_be_aliased): Tidy comments and formatting.
-
- * timevar.def (TV_MEMORY_PARTITIONING): Define.
- * tree-vectorizer.c (vect_memsyms_to_rename): Rename from
- vect_vnames_to_rename. Set DECL_UIDs instead of SSA name
- versions in it.
- (slpeel_update_phi_nodes_for_guard1): Ignore memory PHIs.
- * tree-vect-transform.c (vect_transform_loop): Call
- mark_set_for_renaming with vect_memsyms_to_rename.
- * tree-flow-inline.h (zero_imm_uses_p): New.
- (memory_partition): New.
- (set_memory_partition): New.
- (factoring_name_p): New.
- (symbol_mem_tag): New. Update every function that used
- to access the annotation directly.
- (set_symbol_mem_tag): Likewise.
-
- * tree-ssa-copy.c (may_propagate_copy): Allow copies
- between a partition and a symbol as long as the symbol
- belongs to the partition.
- (merge_alias_info): Ignore merge requests when memory
- partitions are involved.
-
- * tree-ssa.c (verify_ssa_name): Check that default
- definitions have empty defining statements.
- (verify_use): Remove argument IS_VIRTUAL.
- Don't call verify_ssa_name.
- (verify_phi_args): Call verify_ssa_name.
- (verify_flow_insensitive_alias_info): Handle MPTs.
- (verify_flow_sensitive_alias_info): Likewise.
- (verify_name_tags): Likewise.
- (verify_call_clobbering): Likewise.
- (verify_ssa): Check for VOPs only after aliasing
- information is available.
- Check virtuals and real operands separately.
- Call verify_ssa_name on every operand.
- (stmt_references_memory_p): Move to tree-ssa-operands.c.
- (walk_use_def_chains_1): Guard against NULL PHI
- arguments.
-
- * tree-ssa-operands.c (stmt_references_memory_p): Move from
- tree-ssa.c.
- (get_mpt_for): New.
- (dump_memory_partitions): New.
- (debug_memory_partitions): New.
-
- * tree-flow.h (struct var_ann_d): Add field mpt.
- (struct stmt_ann_d): Add bitfield references_memory.
- * Makefile.in (tree-ssa-structalias.o): Include
- pointer-set.h
- (tree-ssa-alias.o): Likewise.
- * tree-ssa-structalias.c: (update_alias_info): Use
- STORED_SYMS to determine which variables are being
- written to by the store operation.
- * tree-ssa-structalias.h (struct alias_info)
- <total_alias_vops>: Remove. Update all users.
- <written_vars>: Change to a pointer set. Update all
- users.
- <dereferenced_ptrs_store>: Likewise.
- <dereferenced_ptrs_load>: Likewise.
- (NUM_REFERENCES): Remove. Update all users.
- (NUM_REFERENCES_CLEAR): Remove. Update all users.
- (NUM_REFERENCES_INC): Remove. Update all users.
- (NUM_REFERENCES_SET): Remove. Update all users.
-
- * params.def (PARAM_GLOBAL_VAR_THRESHOLD): Remove.
- Update all users.
- (PARAM_MAX_ALIASED_VOPS): Set to 10.
- * tree-ssanames.c (make_ssa_name): Initialize
- SSA_NAME_IS_DEFAULT_DEF to 0.
-
-2006-12-11 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-ssa-dse.c (aggregate_vardecl_d): New.
- (dse_global_data): Add aggregate_vardecl field.
- (dse_possible_dead_store_p): New.
- Add prev_defvar variable.
- Allow immediate uses and previous immediate uses to differ
- if they are setting different parts of the whole.
- (get_aggregate_vardecl): New.
- (dse_record_partial_aggregate_store): New.
- (dse_whole_aggregate_clobbered_p): New.
- (dse_partial_kill_p): New.
- (dse_optimize_stmt): Abstract code checking a possible dead store
- into new function dse_possible_dead_store_p().
- Call dse_maybe_record_aggregate_store().
- When checking whether a STMT and its USE_STMT refer to the
- same memory address, check also for partial kills that clobber
- the whole.
- Move some variable definitions to the block where they are used.
- (aggregate_vardecl_hash): New.
- (aggregate_vardecl_eq): New.
- (aggregate_vardecl_free): New.
- (aggregate_whole_store_p): New.
- (tree_ssa_dse): Initialize and free aggregate_vardecl.
- Mark which aggregate stores we care about.
-
-2006-12-11 Andrew Macleod <amacleod@redhat.com>
-
- * tree-ssa-operands.h (struct vuse_element_d): Declare.
- (vuse_element_t): Declare.
- (struct vuse_vec_d): Declare.
- (vuse_vec_p): Declare.
- (VUSE_VECT_NUM_ELEM): Define.
- (VUSE_VECT_ELEMENT_NC): Define.
- (VUSE_ELEMENT_PTR_NC): Define.
- (VUSE_ELEMENT_VAR_NC): Define.
- (VUSE_VECT_ELEMENT): Define.
- (VUSE_ELEMENT_PTR): Define.
- (VUSE_ELEMENT_VAR): Define.
- (struct maydef_optype_d) <use_var>: Remove.
- <use_ptr>: Remove.
- <usev>: Add.
- (struct vuse_optype_d) <kill_var>: Remove.
- <use_ptr>: Remove.
- <usev>: Add.
- (struct mustdef_optype_d) <kill_var>: Remove.
- <use_ptr>: Remove.
- <usev>: Add.
- (VUSE_OP_PTR): Add argument. Use VUSE_ELEMENT_PTR.
- (VUSE_OP): Add argument. Use VUSE_ELEMENT_PTR.
- (VUSE_NUM): Define.
- (VUSE_VECT): Define.
- (MAYDEF_OP_PTR): Add argument. Use VUSE_OP_PTR.
- (MAYDEF_OP): Add argument. Use VUSE_OP.
- (MAYDEF_NUM): Define.
- (MAYDEF_VECT): Define.
- (MUSTDEF_KILL_PTR): Use VUSE_OP_PTR.
- (MUSTDEF_KILL): Use VUSE_OP.
- (MUSTDEF_NUM): Define.
- (MUSTDEF_VECT): Define.
- (realloc_maydef): Declare.
- (realloc_vuse): Declare.
- (struct ssa_operand_iterator_d) <vuse_index>: Add.
- <mayuse_index>: Add.
- (LOADED_SYMS): Define.
- (STORED_SYMS): Define.
- (FOR_EACH_SSA_MUSTDEF_OPERAND): Call op_iter_next_mustdef.
- * tree-into-ssa.c: Adapt for multi-operand V_MAY_DEF and VUSE
- operators.
- * tree-pretty-print.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-flow-inline.h: Likewise.
- (op_iter_next_mustdef): New.
- * tree-ssa-operands.c: Likewise.
- (ALLOC_OPTYPE): Remove.
- Update all users.
- (alloc_def): New.
- (alloc_use): New.
- (alloc_maydef): New.
- (alloc_vuse): New.
- (alloc_mustdef): New.
- (realloc_maydef): New.
- (realloc_vuse): New.
-
-2006-12-11 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-ssa-operands.c: Remove build_v_must_defs.
- (init_ssa_operands): Delete build_v_must_defs.
- (finalize_ssa_v_must_def_ops): Remove.
- (finalize_ssa_v_must_defs): Remove.
- (finalize_ssa_stmt_operands): Do not call
- finalize_ssa_v_must_defs.
- (start_ssa_stmt_operands): Do not check build_v_must_defs.
- (append_v_must_def): Delete.
- (copy_virtual_operands): Do not copy V_MUST_DEFs.
- (get_modify_expr_operands): Remove reference to V_MUST_DEF from
- comment. Remove opf_kill_def.
- (build_ssa_operands): Remove references to v_must_defs.
- (copy_virtual_operands): Same.
- (copy_virtual_operands): Same.
- (fini_ssa_operands): Same.
- (free_ssa_operands): Same.
- (add_mustdef_op): Remove.
- Remove mustdef_optype_p.
- (alloc_mustdef): Remove.
- Remove references to V_MUST_DEFs in comment at top of file.
- (get_expr_operands): Remove opf_kill_def.
- (opf_kill_def): Remove.
- (add_virtual_operand): Remove opf_kill_def.
- (get_indirect_ref_operands): Same.
- (get_tmr_operands): Same.
-
- * tree-vectorizer.c (rename_variables_in_bb): Remove
- SSA_OP_ALL_KILLS.
-
- * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Remove
- SSA_OP_ALL_KILLS.
- (check_loop_closed_ssa_stmt): Same.
-
- * tree-ssa.c (verify_def): Remove V_MUST_DEF from comment.
- (verify_use): Same.
- (verify_ssa): Remove V_MUST_DEFs traces.
- (verify_ssa): Remove SSA_OP_ALL_KILLS.
-
- * tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTDEF to
- SSA_OP_VMAYDEF.
- (rewrite_update_stmt): Remove SSA_OP_VIRTUAL_KILLS.
- (rewrite_stmt): Remove SSA_OP_ALL_KILLS.
-
- * tree-ssa-operands.h (struct stmt_operands_d): Remove V_MUST_DEF
- references.
- (MUSTDEF_OPS): Remove.
- (SSA_OP_VMUSTDEF): Remove.
- (FOR_EACH_SSA_MUSTDEF_OPERAND): Remove.
- (struct mustdef_optype_d): Remove.
- Remove mustdef_optype_p.
- (struct stmt_operands_d): Remove mustdef_ops.
- (ssa_operand_iterator_d): Remove mustdefs and mustkills.
- (SSA_OP_VIRTUAL_DEFS): Remove SSA_OP_VMUSTDEF.
- (MUSTDEF_RESULT_PTR): Remove.
- (MUSTDEF_RESULT): Remove.
- (MUSTDEF_KILL_PTR): Remove.
- (MUSTDEF_KILL): Remove.
- (MUSTDEF_NUM): Remove.
- (MUSTDEF_VECT): Remove.
- (SSA_OP_VIRTUAL_KILLS): Remove.
- (SSA_OP_ALL_VIRTUALS): Remove SSA_OP_VIRTUAL_KILLS.
- (SSA_OP_VMUSTKILL): Remove.
- (SSA_OP_ALL_KILLS): Remove.
- (SSA_OP_ALL_OPERANDS): Remove SSA_OP_ALL_KILLS.
-
- * tree-flow-inline.h (op_iter_init_def): Remove
- SSA_OP_VIRTUAL_KILLS.
- (delink_stmt_imm_use): Remove SSA_OP_ALL_KILLS.
-
- * tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove
- SSA_OP_VIRTUAL_KILLS.
-
- * tree-ssa-loop-im.c (determine_max_movement): Remove
- SSA_OP_VIRTUAL_KILLS.
- (gather_mem_refs_stmt): Same.
- (gather_mem_refs_stmt): Same.
-
- * tree-ssa-dce.c (mark_really_necessary_kill_operand_phis): Delete.
- (perform_tree_ssa_dce): Remove call to
- mark_really_necessary_kill_operand_phis.
-
- * tree-flow-inline.h (op_iter_init): Remove setting of mustdefs
- and mustkills.
- (op_iter_next_use): Do not check mustkills.
- (op_iter_next_def): Do not check mustdefs.
- (op_iter_next_tree): Do not check mustkills or mustdefs.
- (clear_and_done_ssa_iter): Do not set mustdefs or mustkills.
- (op_iter_next_maymustdef): Do not check mustkills.
- (op_iter_init_must_and_may_def): Remove SSA_OP_VMUSTKILL.
- (op_iter_init_mustdef): Remove.
-
- * tree-ssa-live.c (create_ssa_var_map): Change SSA_OP_VMUSTDEF to
- SSA_OP_VMAYDEF.
-
- * tree-ssa-dse.c (dse_optimize_stmt): Remove SSA_OP_VMUSTDEF.
-
- * tree-ssa-ccp.c: Remove V_MUST_DEF traces from comments.
- (visit_assignment): Same.
-
- * tree-ssa-copy.c (copy_prop_visit_assignment): Same.
-
- * tree-sra.c (mark_all_v_defs_1): Remove V_MUST_DEF from comment.
-
- * tree-outof-ssa.c (check_replaceable): Remove SSA_OP_VMUSTDEF.
-
- * tree-pretty-print.c (dump_vops): Remove printing of V_MUST_DEF.
- Remove kill_p variable.
-
- * tree-dfa.c (struct dfa_stats_d): Remove num_v_must_defs.
- (dump_dfa_stats): Remove code related to V_MUST_DEFs.
- (collect_dfa_stats_r): Do not set num_v_must_defs.
- (mark_new_vars_to_rename): Remove v_must_defs_{before,after}
- code.
-
- * tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTKILL to
- SSA_OP_VMAYUSE.
-
- * tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove
- SSA_OP_VMUSTDEF and SSA_OP_VMUSTKILL.
-
- * tree-ssa-propagate.c (stmt_makes_single_store): Remove
- SSA_OP_VMUSTDEF.
-
-2006-12-11 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR rtl-optimization/30113
- * loop-iv.c (implies_p): Require the mode of the operands to be
- scalar.
-
-2006-12-11 Diego Novillo <dnovillo@redhat.com>
-
- * tree-ssa-operands.h (create_ssa_artificial_load_stmt):
- Rename from create_ssa_artficial_load_stmt. Update all users.
- * tree-into-ssa.c (register_new_def): Make static.
- * tree.c (is_global_var): Handle SSA_NAMEs.
- * tree.h (SSA_NAME_IS_DEFAULT_DEF): Define. Update all users
- that used to call gimple_default_def.
- * tree-ssa-operands.c (push_stmt_changes): New.
- (pop_stmt_changes): New. Update every pass that modifies
- statements to bracket modifications with
- push_stmt_changes/pop_stmt_changes.
- (discard_stmt_changes): New.
- * tree-ssa-dom.c (stmts_to_rescan): Change to stack of
- 'tree *' instead of 'tree'. Update all users.
- * tree-flow-inline.h (zero_imm_uses_p): New.
- (symbol_mem_tag): New. Update every function that used
- to access the annotation directly.
- (set_symbol_mem_tag): Likewise.
- * tree-dfa.c (dump_variable): Always show the escape mask.
- (mark_symbols_for_renaming): Rename from
- mark_new_vars_to_rename. Update all users.
- Only mark to rename naked symbols in real and virtual
- operands.
-
-2006-12-11 Andreas Schwab <schwab@suse.de>
-
- * varasm.c (elf_record_gcc_switches): Cast second argument of
- ASM_OUTPUT_SKIP to unsigned HOST_WIDE_INT.
-
-2006-12-11 Diego Novillo <dnovillo@redhat.com>
-
- * tree-scalar-evolution.c (scev_const_prop):
- * tree-phinodes.c (remove_phi_node): Add argument
- RELEASE_LHS_P. If given, release the SSA name on the LHS of
- the PHI node.
- Update all users.
- * tree-ssa-dce.c: Remove forward declarations for static
- functions. Re-arrange functions bodies as needed.
- (find_obviously_necessary_stmts): Never mark PHI nodes as
- obviously necessary.
-
-2006-12-11 Carlos O'Donell <carlos@codesourcery.com>
-
- * config/arm/elf.h (MAX_OFILE_ALIGNMENT): Remove definition.
-
-2006-12-11 Jan Hubicka <jh@suse.cz>
-
- * value-prof.c (tree_stringops_transform): New.
- (tree_value_profile_transformations): Require count to be non-zero;
- call stringop transform; reset stmt BSI after BB changed.
- (tree_divmod_fixed_value, tree_mod_pow2): Don't emit unnecesary label.
- (interesting_stringop_to_profile_p, tree_stringop_fixed_value): New.
- (tree_stringops_values_to_profile): New.
- (tree_values_to_profile): Call tree_stringops_values_to_profile.
- * tree.h (build_string_literal): Tidy prototype.
- (validate_arglist, builtin_memset_read_str, get_pointer_alignment):
- Declare.
- * builtins.c (validate_arglist, builtin_memset_read_str,
- get_pointer_alignment): Export.
-
-2006-12-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/30120
- Revert:
- 2006-11-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.opt: New target option -mx87regparm.
-
- * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
- float_in_x87: Add new variables. mmx_words, sse_words: Remove.
- (X87_REGPARM_MAX): Define.
-
- * config/i386/i386.c (override_options): Error out for
- -mx87regparm but no 80387 support.
- (ix86_attribute_table): Add x87regparm.
- (ix86_handle_cconv_attribute): Update comments for x87regparm.
- (ix86_comp_type_attributes): Check for mismatched x87regparm types.
- (ix86_function_x87regparm): New function.
- (ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
- point registers.
- (init_cumulative_args): Initialize x87_nregs and float_in_x87
- variables.
- (function_arg_advance): Process x87_nregs and x87_regno when
- floating point argument is to be passed in 80387 register.
- (function_arg): Pass XFmode arguments in 80387 registers for local
- functions. Pass SFmode and DFmode arguments to local functions
- in 80387 registers when flag_unsafe_math_optimizations is set.
-
- * reg-stack.c (convert_regs_entry): Disable NaN load for
- stack registers that are used for argument passing.
-
- * doc/extend.texi: Document x87regparm function attribute.
- * doc/invoke.texi: Document -mx87regparm.
-
-2006-12-11 Jan Hubicka <jh@suse.cz>
-
- Move all varpool routines out of cgraph/cgraphunit to varpool.c
- * cgraph.c: Update comments.
- (cgraph_varpool_hash,
- cgraph_varpool_nodes, cgraph_varpool_last_needed_node
- cgraph_varpool_node_name, cgraph_varpool_node,
- cgraph_varpol_mode_for_asm, cgraph_varpool_mark_needed_node,
- cgraph_variable_initializer_availability): Move to
- varpool.c and drop cgraph_ prefixes.
- (cgraph_varpool_enqueue_needed_node, cgraph_varpool_reset_queue,
- cgraph_varpool_first_unanalyzed_node, cgraph_varpool_finalize_decl):
- move to varpool.c; drop cgraph_ prefix; make static.
- (dump_cgraph_varpool_node): Move to varpool.c under name
- dump_varpool_node.
- (dump_varpool, hash_varpool_node, eq_varpool_node,
- decide_is_variable_needed): Move to varpool.c
- (decl_assembler_name_equal): Move to tree.c.
- (availability_names): Rename to ...
- (cgraph_availability_names): ... this one.
- (dump_cgraph_node): Update.
- * cgraph.h: Reorder declarations now in varpool.c
- (cgraph_vailablity_names): Declare.
- (struct cgraph_varpool_node): Rename to ...
- (struct varpool_node): ... this one.
- (cgraph_varpool_first_unanalyzed_node, cgraph_varpool_nodes_queue,
- cgraph_varpool_first_unanalyzed_node, cgraph_varpool_node,
- cgraph_varpool_node_for_asm, cgraph_varpool_mark_needed_node,
- cgraph_varpool_finalize_decl, cgraph_varpool_enqueue_needed_node,
- cgraph_varpool_reset_queue, cgraph_varpool_assemble_pending_decls,
- cgraph_variable_initializer_availability): Rename to ...
- (varpool_first_unanalyzed_node, varpool_nodes_queue,
- varpool_first_unanalyzed_node, varpool_node,
- varpool_node_for_asm, varpool_mark_needed_node,
- varpool_finalize_decl, varpool_enqueue_needed_node,
- varpool_assemble_pending_decls, variable_initializer_availability):
- Rename to ...
- * tree.c (decl_assembler_name_equal): Move here from cgraph.c.
- * tree.h (decl_assembler_name_equal): Declare.
- * omp-low.c (lower_omp_critical): Update.
- * ipa-reference (analyze_variable, static_execute): Likewise.
- * toplev.c (wrapup_global_declaration_2, compile_file): Update.
- * cgraphunit.c: Update comments.
- (cgraph_varpool_assembled_nodes_queue): Move to varpool.c under name
- varpool_assembled_nodes_queue.
- (cgraph_varpool_analyze_pending_decls): Move to varpool.c under name
- varpool_analyze_pending_decls.
- (cgraph_varpool_remove_unreferenced_decls): Move to varpool.c under name
- varpool_remove_unreferenced_decls.
- (record_reference): Update.
- (cgraph_create_edges): Update.
- (record_referneces_in_initializer): New function.
- (cgraph_varpool_assemble_decl): Move to varpool.c under name
- varpool_assemble_decl; make global.
- (cgraph_varpool_assemble_pending_decls): Move to varpool.c under name
- varpool_assemble_pending_decls.
- (process_function_and_variable_attributes, cgraph_finalize_compilation_unit,
- struct cgraph_order_sort, cgraph_output_in_order,
- cgraph_function_and_variable_invisibility, cgraph_optimize,
- cgraph_increase_alignment): Update.
- * dwarf2out.c (decls_for_scope): Likewise.
- * ipa-type-escape.c (analyze_variable, type_escape_execute): Likewise.
- * except.c (output_ttype): Likewise.
- * varasm.c (mark_decl_referenced): Likewise.
- (find_decl_and_mark_referenced, assemble_alias): update.
- * Makefile.in: Add varpool.c, gt-varpool.c and remove gt-cgraphunit.c
- * passes.c (rest_of_decl_compilation): Update.
-
-2006-12-11 Ira Rosen <irar@il.ibm.com>
-
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Use
- GIMPLE_STMT_OPERAND.
- * tree-vect-transform.c (vect_permute_store_chain): Likewise.
- (vect_setup_realignment): Likewise.
-
-2006-12-11 Sa Liu <saliu@de.ibm.com>
- Ben Elliston <bje@au.ibm.com>
-
- * config/spu/spu-elf.h (STARTFILE_SPEC): Update.
- (ENDFILE_SPEC): Likewise.
- * config/spu/spu.opt (mstdmain): New option.
- * config/spu/crti.asm: Remove.
- * config/spu/crtn.asm: Likewise.
- * config/spu/crt0.c: Likewise.
- * config/spu/crtend.c: Likewise.
- * config/spu/t-spu-elf (EXTRA_MULTILIB_PARTS): Remove crt0 files
- listed above.
- ($(T)crti.o, $(T)crtn.o, $(T)crt1.o, $(T)crtend1.o): Remove.
- * doc/invoke.texi (SPU Options): Document -mstdmain.
-
-2006-12-10 Zdenek Dvorak <dvorakz@suse.cz>
-
- * doc/loop.texi: Document number_of_latch_executions and
- number_of_cond_exit_executions.
- * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
- chrec_is_positive, number_of_iterations_for_all_loops,
- scev_const_prop): Use number_of_latch_executions.
- (set_nb_iterations_in_loop): Do not increase the value of the
- number of iterations.
- (number_of_iterations_in_loop): Renamed to ...
- (number_of_latch_executions): ... this.
- (number_of_exit_cond_executions): New function.
- * tree-scalar-evolution.h (number_of_iterations_in_loop): Declaration
- removed.
- (number_of_latch_executions, number_of_exit_cond_executions): Declare.
- * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Use
- number_of_latch_executions.
- * tree-data-ref.c (get_number_of_iters_for_loop): Use
- number_of_exit_cond_executions.
- * tree-vect-analyze.c (vect_get_loop_niters): Ditto.
- * cfgloop.h (struct loop): Improve description of the nb_iterations
- field.
-
-2006-12-10 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-alias.c (compact_name_tags): Use sort_tags_by_id.
- (tree_pointer_compare): Remove.
-
-2006-12-10 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-vrp.c (adjust_range_with_scev): Use get_chrec_loop.
- * loop-unswitch.c (unswitch_loops): Use FOR_EACH_LOOP.
- * tree-loop-linear.c (linear_transform_loops): Ditto.
- * tree-ssa-loop-im.c (determine_lsm): Ditto.
- * tree-ssa-loop-niter.c (estimate_numbers_of_iterations,
- free_numbers_of_iterations_estimates): Ditto.
- * tree_ssa_unswitch_loops (tree_ssa_unswitch_loops): Ditto.
- * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
- * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Ditto.
- * modulo-sched.c (sms_schedule): Ditto.
- * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables,
- tree_unroll_loops_completely): Ditto.
- * predict.c (predict_loops): Ditto.
- * tree-if-conv.c (main_tree_if_conversion): Ditto.
- * loop-unroll.c (unroll_and_peel_loops, peel_loops_completely,
- decide_unrolling_and_peeling): Ditto.
- * cfgloopmanip.c (unloop): Use delete_loop.
- (place_new_loop): Access larray vector instead of parray.
- (create_preheaders, force_single_succ_latches,
- fix_loop_structure): Use FOR_EACH_LOOP and delete_loop..
- * loop-doloop.c (doloop_optimize_loops): Ditto.
- * loop-invariant.c (move_loop_invariants): Ditto.
- * tree-cfg.c (replace_uses_by): Ditto.
- * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Ditto.
- * tree-chrec.h (CHREC_VAR, CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE):
- Moved to ...
- * tree.h (CHREC_VAR, CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE):
- ... here.
- * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop,
- compute_overall_effect_of_inner_loop, chrec_is_positive): Use
- get_loop and get_chrec_loop.
- (number_of_iterations_for_all_loops): Use number_of_loops.
- (scev_initialize, scev_reset, scev_const_prop): Use FOR_EACH_LOOP.
- * tree-scalar-evolution.h (get_chrec_loop): New inline function.
- * cfgloopanal.c (mark_irreducible_loops): Use number_of_loops,
- and FOR_EACH_LOOP.
- * tree-chrec.c (evolution_function_is_invariant_rec_p,
- chrec_convert_1): Use get_loop and get_chrec_loop.
- * loop-init.c (loop_optimizer_init): Use number_of_loops.
- (loop_optimizer_init): Use FOR_EACH_LOOP.
- * tree-vectorizer.c (vect_loops_num): Removed.
- (vectorize_loops): Store number of loops locally. Use
- FOR_EACH_LOOP and get_loop.
- * tree-vectorizer.h (vect_loops_num): Removed.
- * tree-data-ref.c (get_number_of_iters_for_loop): Use get_loop.
- (find_data_references_in_loop): Do not set parallel_p.
- * tree-data-ref.h: Do not declare VEC(loop_p).
- * cfgloop.c (flow_loops_dump, mark_single_exit_loops,
- verify_loop_structure): Use FOR_EACH_LOOP.
- (flow_loops_free): Use FOR_EACH_LOOP, free larray vector.
- (initialize_loops_parallel_p): Removed.
- (flow_loops_find): Push the loops into a vector.
- (delete_loop): New function.
- (cancel_loop): Use delete_loop.
- * cfgloop.h: Declare VEC(loop_p).
- (struct loop): Remove parallel_p field.
- (struct loops): Replace num and parray field by larray vector.
- Remove shared_headers field.
- (delete_loop): Declare.
- (get_loop, get_loops, number_of_loops, fel_next, fel_init,
- FOR_EACH_LOOP): New.
- * doc/loop.tex: Document new accessor functions.
-
-2006-12-10 Andrew MacLeod <amacleod@redhat.com>
-
- * common.opt (-ftree-lrs): Remove live range splitting option.
- * makefile.in: Add tree-ssa-coalesce.o and reduce header dependancies.
- * opts.c (decode_options): Remove flag_tree_live_range_split.
- * tree-flow.h (struct var_ann_d): Rename fields from root_ to base_.
- * tree-flow-inline.h (single_imm_use_p): New. Check for single use.
- * tree-outof-ssa.c: Remove header files which aren't needed.
- (SSANORM_*): Remove flags.
- (print_exprs_edge, coalesce_abnormal_edges, coalesce_phi_operands,
- coalesce_result_decls_and_copies, coalesce_asm_operands): Remove.
- (coalesce_ssa_name): Move to tree-ssa-coalesce.c.
- (assign_vars): Use Basevar instead of root_var structure.
- (replace_def_variable): Dont do anything if def is replaceable.
- (remove_ssa_form): Integrate functional changes.
- (rewrite_out_of_ssa): Remove live-range_split option.
- * tree-ssa-coalesce.c: New File for ssa-name coalescing.
- (coalesce_cost): Calculate the cost of a coalesce.
- (coalesce_cost_bb): Calculate the coalesce cost within a BB.
- (coalesce_cost_edge): Calculate the coalesce cost on an edge.
- (pop_cost_one_pair): Remove the best coalesce with cost 1 from the list.
- (pop_best_coalesce): Remove the best coalesce from the list.
- (coalesce_pair_map_hash): Calculate coalesce pair hash.
- (coalesce_pair_map_eq): Compare 2 coalesce pairs for hash function.
- (create_coalesce_list): Create a coalesce list object.
- (delete_coalesce_list): Free a coalesce list object.
- (find_coalesce_pair): Find matching pair in the coalesce list.
- (add_cost_one_coalesce): Add a coalesce to the "cost one" list.
- (add_coalesce): Add a coalesce to the coalesce list.
- (compare_pairs): Comparision function to determine pair sorted order.
- (num_coalesce_pairs): Number of coalesced pairs.
- (first_coalesce_pair, end_coalesce_pair_p, next_coalesce_pair):
- Coalesce pair iterator functions.
- (sort_coalesce_list): Sort coalesce pairs in order of expense.
- (dump_coalesce_list): Show coalesce list.
- (ssa_conflicts_new): Create an SSA conflict graph.
- (ssa_conflicts_delete): Delete an SSA conflict graph.
- (ssa_conflicts_test_p): Test for conflicts.
- (ssa_conflicts_add_one): Add a single conflict.
- (ssa_conflicts_add): Add a conflict pair.
- (ssa_conflicts_merge): Merge conflicts.
- (struct live_track_d): Struct for tracking live partitions.
- (new_live_track): Create new live_track object.
- (delete_live_track): Delete a live_track object.
- (live_track_remove_partition): Remove a partition from the live list.
- (live_track_add_partition): Add a partition from the live list.
- (live_track_clear_var): Take VAR from the live list.
- (live_track_live_p): Is var live?
- (live_track_process_use): Make var come alive.
- (live_track_process_def): Make var go dead, add conflicts.
- (live_track_init): Initialize to a live on exit set.
- (live_track_clear_base_vars): Clear live partitions.
- (build_ssa_conflict_graph): Build a conflict graph.
- (print_exprs): Common debug output routine.
- (abnormal_corrupt): Output info about a failed coalesce across an
- abnormal edge.
- (fail_abnormal_edge_coalesce): Output info about a failed MUST_COALESCE.
- (create_outofssa_var_map): Create a var map and coalesce list.
- (attempt_coalesce): Coalesce a pair.
- (coalesce_partitions): Coalesce all pairs in a coalesce list.
- (coalesce_ssa_name): Entry point. Determine what ssa_names to coalesce.
- * tree-ssa-live.c: Remove header files which aren't needed.
- (var_map_base_init): New. Initialize a basevar list.
- (var_map_base_fini): New. Finish a basevar list.
- (init_var_map): Initialize new fields.
- (delete_var_map): Free new fields.
- (var_union): Use renamed fields.
- (compact_var_map): Remove.
- (partition_to_view_init): Use renamed fields, change order of an if.
- (partition_view_fini): Use renamed fields.
- (partition_view_normal): Create basevar list if requested.
- (partition_view_bitmap): Create a view based on a bitmap of partitions.
- (change_partition_var): Use renamed fields.
- (create_ssa_var_map): Remove.
- (tpa_init, tpa_remove_partition, tpa_delete, tpa_compact,
- root_var_init): Remove.
- (partition_pair_map_hash, partition_pair_map_eq, create_coalesce_list,
- delete_coalesce_list, find_partition_pair, coalesce_cost, add_coalesce,
- compare_pairs, num_coalesce_pairs, first_partition_pair,
- end_partition_pair_p, next_partition_pair, sort_coalesce_list,
- pop_best_coalesce, add_conflicts_if_valid, set_if_valid,
- build_tree_conflict_graph, coalesce_tpa_members, dump_coalesce_list,
- tpa_dump): Moved to tree-ssa-coalesce.c and/or renamed there.
- (dump_var_map): Use renamed fields.
- * tree-ssa-live.h (struct _var_map): Modify fields.
- (partition_to_var, version_to_var, var_to_partition): Use renamed
- fields.
- (basevar_index): New. Index of the base variable of a partition.
- (num_basevars): New. Number of unique base variables in partition map.
- (register_ssa_partition): Use renamed fields.
- (struct tree_partition_associator_d): Remove.
- (tpa_num_trees, tpa_tree, tpa_first_partition, tpa_next_partition,
- tpa_find_tree, tpa_decompact, root_var_init, root_var_num,
- root_var, root_var_first_partition, root_var_next_partition,
- root_var_dump, root_var_delete, root_var_remove_partition,
- root_var_find, root_var_compact, root_var_decompact): Remove.
- (struct partition_pair, struct coalesce_list_d): Moved to
- tree-ssa-coalesce.c
- * tree-ssa-ter.c: Remove header files which aren't needed.
-
-2006-12-10 Steven Bosscher <steven@gcc.gnu.org>
-
- * cse.c: (struct cse_basic_block_data): Remove LAST field.
- (struct branch_path): Remove BRANCH and TAKEN fields. Add new
- BB field.
- (cse_visited_basic_blocks): New static bitmap.
- (cse_end_of_basic_block, cse_basic_block): Remove.
- (cse_find_path, cse_dump_path, cse_prescan_path,
- cse_extended_basic_block): New static functions.
- (cse_insn): Don't CSE over setjmp calls. Use the CFG to find
- basic block boundaries. Don't record jump equivalences here.
- Update the CFG after doing in-place replacement of the SET_SRC.
- (cse_main): Rewrite. Look for extended basic block headers
- and call cse_extended_basic_block on them until all paths that
- start at this header are exhausted.
- (rest_of_handle_cse): Verify that the CFG is incrementally updated
- and correct after cse_main.
- Don't call delete_trivially_dead_insns, let cfgcleanup do that.
- (rest_of_handle_cse2): Verify the CFG here, too, after cse_main.
- (pass_cse): Add TODO_verify_flow.
- (pass_cse2): Likewise.
-
-2006-12-10 Rask Ingemann Lambertsen <rask@sygehus.dk>
-
- * reload1.c (choose_reload_regs): Don't set byte offset when
- resolving subregs of hard regs.
-
-2006-12-09 Zack Weinberg <zackw@panix.com>
-
- * c-opts.c (c_common_parse_file): Unconditionally give a warning,
- suitable for the language, if set_yydebug is true.
- * c-pragma.h: Define enum pragma_omp_clause here. Don't define
- YYDEBUG or declare yydebug.
- * c-parser.c (yydebug, enum pragma_omp_clause): Delete.
-
-2006-12-09 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c: Update copyright.
- * cgraph.h: Likewise
- (cgraph_update_pending_function): Remove prototype.
- * cgraphunit.c: Update copyright; update overall comment.
- (cgraph_assemble_pending_functions): Make local.
-
-2006-12-09 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
-
- * haifa-sched.c (schedule_block): Remove excessive sanity check.
-
-2006-12-08 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
-
- * config/spu/spu-protos.h (spu_split_immediate): Renamed from
- spu_split_address.
- (cpat_const_p, gen_cpat_const): Add.
- * config/spu/spu.c (immediate_class): New enum.
- (cpat_info, classify_immediate): New.
- (print_operand): Use S, D, T instead of F, G, H. Use
- classify_immediate. Handle cpat cases.
- (spu_split_immediate): Renamed from spu_split_address. Split all
- immediates that can be split.
- (immediate_load_p): Use classify_immediate.
- (spu_legitimate_constant_p): Accept everything except some cases of
- CONST_VECTOR.
- (spu_expand_move): Use spu_split_immedate.
- (fsmbi_const_p): Use classify_immediate.
- (cpat_const_p): New.
- (gen_cpat_const: New.
- * config/spu/constraints.md (j,k,l): New constraints for cpat
- instructions.
- * config/spu/spu.md (unnamed splitter): Change address splitter to
- handle all immediates.
- (_mov<mode>, _movdi, _movti): Handle i, j, k constraints for cpat
- instructions.
- (cpat, _cpat, splitter): Generate a TImode constant for cpat patterns
- when possible.
-
-2006-12-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/30039
- * pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
- patterns. Correct length of high:DI instruction sequence.
-
-2006-12-08 Mike Stump <mrs@apple.com>
-
- * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
- libgcc with -mmacosx-version-min=10.4.
- * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
- G4 for 10.5+ unless doing kernel builds.
-
-2006-12-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/30120
- * reg-stack.c (convert_regs_entry): Mark current argument passing
- registers as live.
-
- * config/i386/i386.h (X87_REGPARM_MAX): Set to 0 to disable passing
- of float arguments in x87 registers.
-
-2006-12-08 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca>
-
- * pa.h (LEGITIMATE_CONSTANT_P): Simplify.
-
-2006-12-08 Mark Shinwell <shinwell@codesourcery.com>
-
- * recog.c (mode_dependent_address_p): Identify pre-increment,
- pre-decrement, post-increment and post-decrement addressing as always
- being mode-dependent.
- * config/m32c/m32c.c (m32c_mode_dependent_address): Delete.
- * config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/m32c/m32c-protos.h (m32c_mode_dependent_address): Delete.
- * config/m32r/m32r.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
- PRE_INC and POST_INC checks.
- * config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/c4x/c4x.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
- PRE_INC, POST_DEC and POST_INC cases.
- * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
- Delete POST_INC and PRE_DEC cases.
- * config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
- no-op.
- * config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
- no-op.
- * config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Delete
- PRE_INC and PRE_DEC cases.
- * config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/arm/arm.h (ARM_GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
- (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
- * config/vax/vax.c (vax_mode_dependent_address_p): Delete
- auto-increment cases.
- * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete
- auto-increment cases.
- * config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
-
-2006-12-08 Andrew MacLeod <amacleod@redhat.com>
-
- * Makefile.in: Add new file tree-ssa-ter.c.
- * tree-outof-ssa.c (struct temp_expr_table_d, new_temp_expr_table,
- free_temp_expr_table, add_value_to_version_list,
- add_value_to_partition_list, remove_value_from_partition_list,
- add_dependence, check_replaceable, finish_expr, mark_replaceable,
- kill_expr, kill_virtual_exprs, find_replaceable_in_bb,
- find_replaceable_exprs, dump_replaceable_exprs): Move to tree-ssa-ter.c.
- * tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Add
- prototypes.
- * tree-ssa-ter.c: New file using code moved from tree-outof-ssa.c.
- (struct value_expr_d): Remove.
- (struct temp_expr_table_d): Rename fields, add explicit vector of
- replaceable expressions instead of sharing. Change value_expr_p's to
- bitmap. Delete free_list.
- (new_temp_expr_table): Rename fields, count number of ssa_names in
- each partition.
- (free_temp_expr_table): Rename field, free new fields.
- (new_value_expr, free_value_expr, find_value_in_list, add_value_to_list,
- add_info_to_list, remove_value_from_list): Delete.
- (version_to_be_replaced_p): New. Is an ssa-name replaceable?
- (make_dependent_on_partition): New. Set bit in version list, allocating
- a bitmap if need be.
- (add_to_partition_kill_list): New. Set bit in the partition list,
- allocating a bitmap if need be.
- (remove_from_partition_kill_list): New. Remove a bit from the
- partition list, free the bitmap if it is empty.
- (add_dependence): Use renamed field, cleanup. Don't add a dependence
- on partitions with only one member.
- (is_replaceable_p): New. Split out replaceability check from
- check_replaceable.
- (process_replaceable): New. Code split from check_replaceable.
- (check_replaceable): Removed.
- (finished_with_expr): Renamed from finish_expr.
- (kill_expr): Use renamed fields and less parameters.
- (kill_virtual_exprs): Less parameters.
- (mark_replaceable): Use renamed fields.
- (find_replaceable_in_bb): Use renamed fields, cleanup.
- (find_replaceable_exprs): Use renamed routines, cleanup.
- (dump_replaceable_exprs): Don't go past end of ssa_names list.
- (debug_ter): New. Debug routine to dump state.
-
-2006-12-08 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.c (effective_address_32bit_p): Return true for
- anything involving the GOT.
- (bfin_adjust_cost): Don't take the REGNO of a MEM.
- (trapping_loads_p): Look inside the pattern of an insn to find the
- SET.
- * config/bfin/bfin.md (attr "type"): Add movcc.
- (insn_reservation "alu"): Likewise.
- (movsicc_insn1, movsicc_insn2): Change type to movcc.
-
-2006-12-07 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- * config/spu/spu-c.c (spu_build_overload_builtin): Delete.
- (spu_resolve_overloaded_builtin): Check for non scalar instead
- of vector type and check the function call argument type also for
- non scalar.
- Call build_function_call instead of spu_build_overload_builtin.
-
-2006-12-07 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
-
- * config/spu/spu.c (array_to_constant): Correct the order of arguments
- to the calls of hwint_to_const_double.
-
-2006-12-07 Nick Clifton <nickc@redhat.com>
-
- * config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to
- elf_record_gcc_switches.
-
-2006-12-07 Andrew Macleod <amacleod@redhat.com>
-
- * expr.c (string_constant): Account for non-zero lower bound arrays.
-
-2006-12-07 Richard Guenther <rguenther@suse.de>
-
- * builtins.c (expand_builtin_pow): Adjust predicates for
- pow to cbrt expansion to unsafe math and !HONOR_NANS for
- negative base.
-
-2006-12-07 Jan Hubicka <jh@suse.cz>
-
- * i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset
- codegen.
-
-2006-12-07 Jan Hubicka <jh@suse.cz>
-
- * tree-vrp.c (compare_values): Short circuit INTEGER_CST;
- use fold_constant_to_binary; tolerate wrong type constants.
- (value_intersect_p): Do just two tests.
-
-2006-12-07 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.c (print_operand): New modifier 'N' for constants.
- * config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
- lshifthi3): Use it, and fix the order of alternatives.
-
-2006-12-07 Nick Clifton <nickc@redhat.com>
-
- * common.opt (record-gcc-switches): New command line switch.
- * target.h (print_switch_type): New enum.
- (print_switch_fn_type): New typedef for a function pointer.
- (struct gcc_target): Add record_gcc_switches and
- record_gcc_switches_section fields.
- * target-def.h (TARGET_ASM_RECORD_GCC_SWITCHES): Provide a
- default definition.
- (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Provide a default
- definition.
- * toplev.c (print_single_switch): Simplify by providing a
- pointer to function that will format and output the switch
- appropriately.
- (print_switch_values): Likewise.
- (print_to_asm_out_file): New function.
- (print_to_stderr): New function.
- (init_asm_output): If flag_record_gcc_switches is set then if
- the target supports recording the switches then emit them into
- the assembler output file, otherwise tell the user that the
- switch is not supported.
- * varasm.c (eld_record_gcc_switches): New function. Example
- handler for the record_gcc_switches target hook.
- * doc/tm.texi (TARGET_ASM_RECORD_GCC_SWITCHES): Document the new
- target hook.
- (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Likewise.
- * doc/invoke.texi (-frecord-gcc-switches): Document.
-
-2006-12-07 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
-
- PR target/29794
- * sched-rgn.c (add_block1): Use correct initializer.
-
-2006-12-07 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-transform.c (vectorizable_call): Fix leftover of
- TREE_OPERAND to GIMPLE_STMT_OPERAND conversion.
-
-2006-12-06 Aldy Hernandez <aldyh@redhat.com>
-
- PR/30079
- * config/pa/pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR
- not GIMPLE_MODIFY_STMT.
-
-2006-12-06 Jan Hubicka <jh@suse.cz>
-
- * tree-vrp.c (operand_less_p): New.
- (compare_values, value_inside_range): Rewrite in terms of
- operand_less_p.
-
-2006-12-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (DIRFLAG_REG): Remove constant.
- (type): Remove cld.
- (length_immediate): Do not depend on cld type attribute.
- (length_address): Ditto.
- (modrm): Ditto.
- (memory): Ditto.
- (cld): Remove insn pattern.
- (strmov_singleop): Do not use DIRFLAG_REG.
- (*strmovdi_rex_1): Ditto.
- (*strmovsi_1): Ditto.
- (*strmovsi_rex_1): Ditto.
- (*strmovhi_1): Ditto.
- (*strmovhi_rex_1): Ditto.
- (*strmovqi_1): Ditto.
- (*strmovqi_rex_1): Ditto.
- (rep_mov): Ditto.
- (*rep_movdi_rex64): Ditto.
- (*rep_movsi): Ditto.
- (*rep_movsi_rex64): Ditto.
- (*rep_movqi): Ditto.
- (*rep_movqi_rex64): Ditto.
- (strset_singleop): Ditto.
- (*strsetdi_rex_1): Ditto.
- (*strsetsi_1): Ditto.
- (*strsetsi_rex_1): Ditto.
- (*strsethi_1): Ditto.
- (*strsethi_rex_1): Ditto.
- (*strsetqi_1): Ditto.
- (*strsetqi_rex_1): Ditto.
- (rep_stos): Ditto.
- (*rep_stosdi_rex64): Ditto.
- (*rep_stossi): Ditto.
- (*rep_stossi_rex64): Ditto.
- (*rep_stosqi): Ditto.
- (*rep_stosqi_rex64): Ditto.
- (cmpstrnsi): Do not generate cld insn.
- (cmpstrnqi_nz_1): Do not use DIRFLAG_REG.
- (*cmpstrnqi_nz_1): Ditto.
- (*cmpstrnqi_nz_rex_1): Ditto.
- (cmpstrnqi_1): Ditto.
- (*cmpstrnqi_1): Ditto.
- (*cmpstrnqi_rex_1): Ditto.
- (strlenqi_1): Ditto.
- (*strlenqi_1): Ditto.
- (*strlenqi_rex_1): Ditto.
-
- * config/i386/geode.md (shift): Do not depend on cld type attribute.
- * config/i386/pentium.md (pent_cld): Remove insn reservation.
- * config/i386/athlon.md (athlon_decode): Do not depend on cld
- type attribute.
- * config/i386/ppro.md (ppro_cld): Remove insn reservation.
- * config/i386/k6.md (k6_alux_only): Do not depend on cld type
- attribute.
- (k6_alux_only_load): Ditto.
- (k6_alux_only_store): Ditto.
-
- * config/i386/i386.c (ix86_expand_movmem): Remove cld_done boolean.
- Do not emit cld instruction.
- (ix86_expand_setmem): Ditto.
- (ix86_expand_strlen): Do not emit cld instruction.
-
-2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.c (bfin_rtx_costs): Add a number of new cases, tweak
- old ones.
-
-2006-12-06 Diego Novillo <dnovillo@redhat.com>
-
- * gdbinit.in: Set complaints to 0.
-
-2006-12-06 Jan Hubicka <jh@suse.cz>
-
- * statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO,
- ALONE_MEM_STAT_DECL): New macros.
- * bitmap.h: Include statistics.h
- (struct bitmap_head_def): Add variant with pointer to bitmap descriptor.
- (bitmap_initialize_stat): Rename from bitmap_initialize; add statistics.
- (bitmap_obstack_alloc_stat, bitmap_gc_alloc_stat): Declare.
- * bitmap.c: Include hashtab.h
- (bitmap_descriptor): New.
- (bitmap_hash): New static variable
- (hash_descriptor, eq_descriptor, bitmap_descriptor, register_overhead):
- New static functions.
- (bitmap_register): New.
- (bitmap_element_free, bitmap_element_allocate, bitmap_elt_clear_from,
- bitmap_obstack_release): Do accounting.
- (bitmap_obstack_alloc_stat): Rename from bitmap_obstack_alloc ; do
- accounting.
- (bitmap_gc_alloc_stat): Likewise.
- (bitmap_obstack_free, bitmap_find_bit): Do statictics.
- (print_statistics, dump_bitmap_statistics): New functions.
- * toplev.c (finalize): Dump bitmap statistics.
-
-2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * reload1.c (delete_output_reload): Count occurrences in
- CALL_INSN_FUNCTION_USAGE.
- * rtlanal.c (count_occurrences): Handle EXPR_LIST nodes without
- crashing at the end of the list.
-
-2006-12-05 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-structalias.c (set_used_smts): Re-fix pr29156.
- Optimize to avoid marking more SMT's as used when they aren't.
-
-2006-12-05 Eric Christopher <echristo@apple.com>
-
- * config/i386/i386.c (x86_output_aligned_bss): Move out
- of COMMON_ASM_OP ifdef.
-
-2006-12-05 Eric Christopher <echristo@apple.com>
-
- * config/darwin.h (DARWIN_EXTRA_SPECS): New.
- (STARTFILE_SPEC): Use.
- (DARWIN_DYLIB1_SPEC): New.
- (DARWIN_CRT1_SPEC): New.
- * config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use
- DARWIN_EXTRA_SPECS.
- * config/i386/darwin.h: Ditto.
- * config/rs6000/darwin.h: Ditto.
-
-2006-12-05 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-vrp.c (pass_vrp): Remove PROP_smt_usage.
- * tree-complex.c (pass_lower_complex): Ditto.
- * tree-ssa-ccp.c (pass_ccp): Ditto.
- (pass_store_ccp): Ditto.
- * tree-ssa-dom.c (pass_dominator): Ditto.
- (pass_phi_only_cprop): Ditto.
- * tree-sra.c (pass_sra): Ditto.
- * tree-ssa-forwprop.c (pass_forwprop): Ditto.
- * tree-flow.h (updating_used_alone): Remove.
- (updating_used_alone): Ditto.
- * tree-ssa-alias.c (updating_used_alone): Remove variable.
- (lhs_may_store_to): Remove function.
- (recalculate_used_alone): Ditto.
- (compute_may_aliases): Remove used_alone calculation.
- * tree.h (struct tree_memory_tag): Remove is_used_alone and
- old_used_alone. Remove SMT_USED_ALONE and SMT_OLD_USED_ALONE.
- * tree-pass.h (PROP_smt_usage): Remove.
- * passes.c (execute_todo): Remove used alone recalculation.
- (execute_one_pass): Ditto.
- * tree-ssa-operands.c (add_virtual_operand): Remove used_alone
- stuff.
-
-2006-12-05 Brooks Moses <brooks.moses@codesourcery.com>
-
- * doc/include/texinfo.tex: Update to version 2006-11-08.17.
-
-2006-12-05 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/14784
- * tree-ssa-operands.c (access_can_touch_variable): Unrevert the fix.
-
-2006-12-05 Aldy Hernandez <aldyh@redhat.com>
-
- Merge from gimple-tuples-branch.
-
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
-
- * config/s390/s390.c (s390_va_start): Replace MODIFY_EXPR with
- GIMPLE_MODIFY_STMT.
- (s390_gimplify_va_arg): Same.
- * config/sparc/sparc.c (sparc_gimplify_va_arg): Same.
- * config/sh/sh.c (sh_va_start): Same.
- (sh_gimplify_va_arg_expr): Same.
- * config/xtensa/xtensa.c (xtensa_va_start): Same.
- (xtensa_gimplify_va_arg_expr): Same.
- * config/ia64/ia64.c (ia64_gimplify_va_arg): Same.
- * config/pa/pa.c (hppa_gimplify_va_arg_expr): Same.
- * config/mips/mips.c (mips_va_start): Same.
- (mips_gimplify_va_arg_expr): Same.
-
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
-
- * Merge from mainline at revision 119445.
-
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
-
- * config/spu/spu.c (spu_va_start): Change MODIFY_EXPR to
- GIMPLE_MODIFY_STMT.
- (spu_gimplify_va_arg_expr): Same.
-
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
-
- * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
- Change uses of MODIFY_EXPR to GIMPLE_MODIFY_STMT.
- (xstormy16_expand_builtin_va_arg): Same.
-
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
-
- * config/frv/frv.c (frv_expand_builtin_va_start): Change MODIFY_EXPR
- to GIMPLE_MODIFY_STMT.
-
- 2006-12-04 Aldy Hernandez <aldyh@redhat.com>
-
- * config/alpha/alpha.c (va_list_skip_additions): Change all
- occurrences of MODIFY_EXPR to GIMPLE_MODIFY_STMT.
- (alpha_va_start): Same.
- (alpha_gimplify_va_arg_1): Same.
- (alpha_gimplify_va_arg): Same.
-
- 2006-12-01 Aldy Hernandez <aldyh@redhat.com>
-
- * gimplify.c (gimplify_modify_expr): Remove FIXME comment.
-
- 2006-12-01 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-ssa-loop-im.c: Rename all PROTECTED_TREE_OPERAND to
- GENERIC_TREE_OPERAND, and all PROTECTED_TREE_TYPE to
- GENERIC_TREE_TYPE.
- * tree-complex.c: Same.
- * tree-pretty-print.c: Same.
- * tree.c: Same.
- * tree.h: Same.
- * builtins.c: Same.
- * fold-const.c: Same.
- * tree-ssa-dom.c: Same.
- * tree-ssa-propagate.c: Same.
- * tree-ssa-alias.c: Same.
- * gimple-low.c: Same.
- * dwarf2out.c: Same.
- * c-pretty-print.c: Same.
- * gimplify.c: Same.
- * tree-inline.c: Same.
- * tree-outof-ssa.c: Same.
- * tree-ssa-structalias.c: Same.
- * tree-ssa-reassoc.c: Same.
- * stmt.c: Same.
-
- 2006-11-16 Aldy Hernandez <aldyh@redhat.com>
-
- * tree.c (build2_stat): Fix comment.
-
- 2006-11-13 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-ssa-propagate.c (get_rhs): Use GIMPLE_MODIFY_STMT and
- TREE_OPERAND when appropriate.
-
- 2006-11-04 Aldy Hernandez <aldyh@redhat.com>
-
- * java/java-tree.h (lang_tree_node): Handle gimple tuples.
- (EXPR_WFL_EMIT_LINE_NOTE): Look inside base.
- (EXPR_WFL_LINECOL): Use EXPR_LOCUS macro instead of exp.locus.
- * java/java-gimplify.c (java_gimplify_expr): Comment on why we do
- not handle GIMPLE_MODIFY_STMT in the switch statement.
- (java_gimplify_modify_expr): Call build2 with GIMPLE_MODIFY_STMT.
- (java_gimplify_new_array_init): Same.
-
- 2006-11-03 Aldy Hernandez <aldyh@redhat.com>
-
- * gimplify.c (gimplify_omp_for): Allow gimple statements.
- * tree-outof-ssa.c (check_replaceable): Use PROTECTED_TREE_OPERAND.
- * fold-const.c (fold_binary): Allow gimple statements.
- (fold): Same.
- * fortran/trans-array.c (gfc_conv_descriptor_data_set_internal):
- Rename from gfc_conv_descriptor_data_set.
- Call gfc_add_modify instead of gfc_add_modify_expr.
- * fortran/trans-array.h (gfc_conv_descriptor_data_set_internal):
- Rename from gfc_conv_descriptor_data_set.
- (gfc_conv_descriptor_data_set): New macro.
- (gfc_conv_descriptor_data_set_tuples): New macros.
- * fortran/trans-openmp.c (gfc_omp_clause_default_ctor): Call
- gfc_conv_descriptor_data_set_tuples.
- * fortran/trans.c (gfc_add_modify): Rename from gfc_add_modify_expr.
- Generate GIMPLE_MODIFY_STMT when appropriate.
- * fortran/trans.h (gfc_add_modify): Rename from gfc_add_modify_expr.
- (gfc_add_modify_expr): New macro.
- (gfc_add_modify_stmt): New macro.
- * fortran/f95-lang.c (lang_tree_node): Handle gimple statements.
-
- 2006-11-01 Aldy Hernandez <aldyh@redhat.com>
-
- * Merge from mainline at revision 118200.
-
- 2006-10-09 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-inline.c (copy_bb): Check for GIMPLE_MODIFY_STMT, and adjust
- accordingly.
-
- 2006-10-09 Aldy Hernandez <aldyh@redhat.com>
-
- * tree.h (TREE_CHAIN, TREE_TYPE): Add versions for non GCC or not
- enable checking.
- Also, add __extension__ to GCC versions.
- * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
- * tree-inline.c (copy_tree_r): Initialize chain to assuage the warning
- patrol.
-
- 2006-10-05 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-complex.c (expand_complex_libcall): Adjust for
- GIMPLE_MODIFY_STMT.
- (expand_complex_comparison): Same.
- * tree-pretty-print.c (dump_generic_node): Is_expr should include
- GIMPLE_STMT_P statements.
- * value-prof.c (tree_divmod_fixed_value_transform): Adjust for
- GIMPLE_MODIFY_STMT.
- (tree_mod_pow2_value_transform): Same.
- (tree_mod_subtract_transform): Same.
- * tree.c (build2_stat): Check for gimplified function in cfun.
- * tree.h (DECL_GIMPLIFIED): Delete.
- (struct tree_function_decl): Remove gimplified_flag.
- * omp-low.c (lower_omp_for): Adjust for GIMPLE_MODIFY_STMT.
- * cp/cp-gimplify.c (cp_gimplify_expr): Adjust for GIMPLE_MODIFY_STMT.
- (cxx_omp_clause_apply_fn): Adjust for GIMPLE_MODIFY_STMT.
- (cxx_omp_clause_copy_ctor): Same.
- (cxx_omp_clause_assign_op): Same.
- * c-pretty-print.c (pp_c_conditional_expression): Same.
- (pp_c_expression): Same.
- * langhooks.c (lhd_omp_predetermined_sharing): Same.
- * function.h (struct function): Add gimplified field.
- * tree-if-conv.c (add_to_dst_predicate_list): Adjust for
- GIMPLE_MODIFY_STMT.
- (find_phi_replacement_condition): Same.
- * gimplify.c (gimplify_modify_expr_to_memcpy): Same.
- (gimplify_modify_expr_to_memset): Same.
- (gimplify_init_ctor_eval_range): Same.
- (gimplify_modify_expr_complex_part): Same.
- (tree_to_gimple_tuple): Same.
- (gimplify_modify_expr): Same.
- (gimple_push_cleanup): Same.
- (gimplify_omp_for): Same.
- (gimplify_omp_atomic_pipeline): Same.
- (gimplify_omp_atomic_mutex): Same.
- (gimplify_expr): Same.
- (gimplify_one_sizepos): Same.
- (gimplify_function_tree): Same.
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Same.
- (vect_recog_widen_sum_pattern): Same.
- * tree-vect-transform.c (get_initial_def_for_reduction): Same.
- (vect_create_epilog_for_reduction): Same.
- (vectorizable_reduction): Same.
-
- 2006-09-28 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-ssa-math-opts.c (replace_reciprocal): Use GIMPLE_STMT_OPERAND.
- * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): Same.
- (ifc_temp_var): Same.
- * tree-vect-analyze.c (vect_determine_vectorization_factor): Check
- for gimple statements.
- (vect_analyze_operations): Same.
- (exist_non_indexing_operands_for_use_p): Use GIMPLE_STMT_OPERAND.
- * gimplify.c (gimplify_return_expr): Handle gimple statements.
- * lambda-code.c (can_put_in_inner_loop): Same.
- (can_put_after_inner_loop): Same.
- * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same.
- (vect_create_data_ref_ptr): Same.
- (vect_init_vector): Same.
- (vect_get_vec_def_for_operand): Same.
- (vect_create_epilog_for_reduction): Same.
- (vectorizable_reduction): Same.
- (vectorizable_assignment): Same.
- (vectorizable_operation): Same.
- (vectorizable_load): Same.
- (vectorizable_condition): Same.
- * config/rs6000/rs6000.c (rs6000_va_start): Do not create MODIFY_EXPRs.
- (rs6000_gimplify_va_arg): Same.
-
- 2006-09-25 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-vrp.c (simplify_div_or_mod_using_ranges): Use
- GIMPLE_STMT_OPERAND.
- (simplify_abs_using_ranges): Same.
- * tree-complex.c (expand_complex_operations_1): Use
- PROTECTED_TREE_OPERAND.
- * tree-ssa-loop-niter.c (simplify_replace_tree): Check for gimple
- stmt.
- (get_val_for): Use GIMPLE_STMT_OPERAND.
- * tree-tailcall.c (adjust_accumulator_values): Same.
- (adjust_return_value): Same.
- * tree.c (walk_tree): Use IS_GIMPLE_STMT_CODE_CLASS on default
- case. Remove special case for tcc_gimple_stmt.
- * tree.h (CAN_HAVE_LOCATION_P): New.
- * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Check for
- GIMPLE_STMT_P.
- * tree-stdarg.c (va_list_counter_bump): Use GIMPLE_STMT_OPERAND.
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Same.
- * tree-nrv.c (execute_return_slot_opt): Same.
- * tree-ssa-alias.c (count_uses_and_derefs): Check for GIMPLE_STMT_P.
- * tree-vn.c (set_value_handle): Same.
- (get_value_handle): Same.
- * c-decl.c (add_stmt): Use CAN_HAVE_LOCATION_P.
- * tree-vectorizer.c (find_loop_location): Same.
- * c-typeck.c (c_process_expr_stmt): Same.
- (c_finish_stmt_expr): Same.
- * gimplify.c (should_carry_locus_p): Same.
- (tree_to_gimple_tuple): Delete definition and use of unecessary
- variable save_tree_block.
- * tree-ssa-pre.c (phi_translate): Check for GIMPLE_STMT_P.
- (create_expression_by_pieces): Use GIMPLE_STMT_OPERAND.
- (realify_fake_stores): Same.
- * tree-ssa-forwprop.c (forward_propagate_addr_into_variable_arr):
- Use TREE_OPERAND.
- * tree-inline.c (copy_body_r): Check for EXPR_P and GIMPLE_STMT_P.
- (copy_tree_r): Check for IS_GIMPLE_STMT_CODE_CLASS.
- * tree-cfg.c (move_stmt_r): Use EXPR_P. Check for GIMPLE_STMT_P.
- * c-parser.c (c_parser_typeof_specifier): Use CAN_HAVE_LOCATION_P.
- (c_parser_statement_after_labels): Same.
- (c_parser_paren_condition): Same.
- (c_parser_for_statement): Same.
- (c_parser_omp_for_loop): Same.
- * tree-ssa-reassoc.c (linearize_expr): Use GIMPLE_STMT_OPERAND.
- (linearize_expr_tree): Same.
- * dwarf2out.c (reference_to_unused): Check for GIMPLE_STMT_P.
- * function.c (instantiate_expr): Same.
-
- 2006-09-22 Aldy Hernandez <aldyh@redhat.com>
-
- * tree.c (expr_location): Use GIMPLE_STMT_LOCUS.
- (set_expr_location): Same.
- (expr_locus): Same.
- (set_expr_locus): Same.
- (expr_filename): Same.
- (expr_lineno): Same.
- (tree_block): Use GIMPLE_STMT_BLOCK.
- (protected_tree_operand): Use GIMPLE_STMT_OPERAND.
- * tree.h (struct gimple_stmt): Remove prev and next.
- (GIMPLE_STMT_OPERAND_CHECK): New.
- (TREE_TO_GIMPLE_STMT): Delete.
- (GIMPLE_STMT_TO_TREE): Delete.
- (GIMPLE_STMT_OPERAND): Use union, not cast.
- (GIMPLE_STMT_LOCUS): New.
- (GIMPLE_STMT_BLOCK): New.
- * gimplify.c (tree_to_gimple_tuple): Use union. Do not cast
- to tree_base.
- * tree-cfg.c (verify_gimple_tuples_1): Call gcc_unreachable.
-
- 2006-09-21 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-into-ssa.c (REGISTER_DEFS_IN_STMT): Change common.base
- to base.
- * tree-tailcall.c (adjust_return_value): Same.
- * tree.c (tree_code_size): Remove GIMPLE_STATEMENT_LIST case.
- (copy_node_stat): Change common.base to base.
- (tree_node_structure): Return TS_GIMPLE_STATEMENT for tcc_gimple_stmt.
- Remove GIMPLE_STATEMENT_LIST case.
- * tree.h (struct gimple_stmt): Make operands of type tree.
- (TREE_CODE, TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL,
- CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN,
- TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED,
- TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC,
- TYPE_CACHED_VALUES_P, TREE_SIDE_EFFECTS, FORCED_LABEL,
- TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY,
- TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED,
- BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN, TREE_USED,
- TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT, DECL_BY_REFERENCE,
- CALL_FROM_THUNK_P, TYPE_ALIGN_OK, TREE_PRIVATE, TREE_PROTECTED,
- TREE_DEPRECATED, IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT,
- TREE_LANG_FLAG_*, SSA_NAME_OCCURS_IN_ABNORMAL_PHI,
- SSA_NAME_IN_FREE_LIST, TYPE_VOLATILE, TYPE_READONLY, BINFO_VIRTUAL_P):
- Change common.base to base.
- (GIMPLE_STATEMENT_LIST*): Remove.
- (union tree_node): Add base. Remove gimple_statement_list.
- Remove pointer from gstmt.
- * tree-ssa-propagate.c (set_rhs): Change common.base to base.
- * treestruct.def: Add TS_BASE. Remove TS_GIMPLE_STATEMENT_LIST.
- * tree-vn.c (vn_compute): Change common.base to base.
- * tree-eh.c (verify_eh_throw_stmt_node): Same.
- * tree-flow-inline.h (var_ann): Same.
- (function_ann): Same.
- (stmt_ann): Same.
- (mark_non_addressable): Same.
- * gimplify.c (tree_to_gimple_tuple): Same.
- * tree.def (DEFTREECODE): Remove GIMPLE_STATEMENT_LIST.
- * tree-dfa.c (create_var_ann): Change common.base to base.
- (create_function_ann): Same.
- (create_stmt_ann): Same.
- (create_tree_ann): Same.
- (collect_dfa_stats_r): Same.
- * tree-ssa-pre.c (NECESSARY): Change common.base to base.
- * tree-ssa-dce.c (NECESSARY): Same.
- * tree-ssa.c (delete_tree_ssa): Same.
- * tree-optimize.c (execute_free_cfg_annotations): Same.
- * tree-flow.h: Same.
-
- 2006-09-19 Aldy Hernandez <aldyh@redhat.com>
-
- * tree.c (tree_code_size): Handle GIMPLE_STATEMENT_LIST.
- (tree_node_structure): Handle GIMPLE_STATEMENT_LIST and
- GIMPLE_MODIFY_STMT.
- * tree.h (struct gimple_stmt): Add prev and next fields.
- (GIMPLE_STMT_TO_TREE): Cast, do not call GIMPLE_STMT_CHECK.
- (GIMPLE_STATEMENT_LIST_HEAD): New.
- (GIMPLE_STATEMENT_LIST_TAIL): New.
- (struct gimple_statement_list): New.
- (union tree_node): Add gimple_stmt_list and gstmt.
- * treestruct.def: Add TS_GIMPLE_STATEMENT_LIST, TS_GIMPLE_STATEMENT.
- * tree.def: Add GIMPLE_STATEMENT_LIST.
-
- 2006-09-06 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-dump.c (dequeue_and_dump): Handle GIMPLE_MODIFY_STMT.
- * tree-vrp.c (build_assert_expr_for): Change uses of
- MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly.
- (find_assert_locations): Same.
- (remove_range_assertions): Same.
- (stmt_interesting_for_vrp): Same.
- (vrp_visit_assignment): Same.
- (vrp_visit_stmt): Same.
- (simplify_cond_using_ranges): Same.
- * tree-into-ssa.c (REGISTER_DEFS_IN_THIS_STMT): Adjust for new
- tree structure.
- * tree-ssa-loop-im.c (movement_possibility): Change uses of
- MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly.
- (stmt_cost): Same.
- (determine_invariantness_stmt): Same.
- (schedule_sm): Same.
- (gather_mem_refs_stmt): Same.
- * tree-complex.c (init_dont_simulate_again): Same.
- (complex_visit_stmt): Same.
- (set_component_ssa_name): Same.
- (expand_complex_move): Same.
- (expand_complex_div_wide): Same.
- (expand_complex_comparison): Same.
- (expand_complex_operations_1): Same.
- * tree-ssa-loop-niter.c (expand_simple_operations): Same.
- (chain_of_csts_start): Same.
- (infer_loop_bounds_from_undefined): Same.
- * tree-pretty-print.c (dump_generic_node): Same.
- (op_prio): Same.
- (op_symbol_1): Same.
- * tree-ssa-loop-manip.c (create_iv): Same.
- * value-prof.c (tree_divmod_fixed_value): Same.
- (tree_divmod_fixed_value_transform): Same.
- (tree_mod_pow2): Same.
- (tree_mod_pow2_value_transform): Same.
- (tree_mod_subtract): Same.
- (tree_mod_subtract_transform): Same.
- (tree_divmod_values_to_profile): Same.
- * tree-tailcall.c (process_assignment): Same.
- (find_tail_calls): Same.
- (adjust_accumulator_values): Same.
- (adjust_return_value): Same.
- (eliminate_tail_call): Same.
- * tree.c (tree_code_size): Handle tcc_gimple_stmt.
- (make_node_stat): Same.
- (copy_node_stat): Handle gimple tuples.
- (expr_align): Handle GIMPLE_MODIFY_STMT. Abort on MODIFY_EXPR.
- (tree_node_structure): Handle tcc_gimple_stmt.
- (build2_stat): Abort on MODIFY_EXPR after gimplification. Handle
- tcc_gimple_stmt.
- (build2_gimple_stat): New.
- (expr_location): New.
- (set_expr_location): New.
- (expr_has_location): New.
- (expr_locus): New.
- (set_expr_locus): New.
- (expr_filename): New.
- (expr_lineno): New.
- (walk_tree): Handle tcc_gimple_stmt.
- (tree_block): New.
- (protected_tree_operand): New.
- (protected_tree_type): New.
- (tree_code_kind): Add gimple statements.
- * tree.h (tree_code_class): Add tcc_gimple_stmt.
- (IS_GIMPLE_STMT_CODE_CLASS): New.
- (struct tree_base): New.
- (struct tree_common): Shrink.
- (struct gimple_stmt): New.
- (struct gimple_expr): New.
- (TREE_SET_CODE, TREE_ADDRESSABLE, CALL_EXPR_TAILCALL,
- CASE_LOW_SEEN, TREE_STATIC, CLEANUP_EH_ONLY, CASE_HIGH_SEEN,
- TREE_NO_WARNING, TREE_CONSTANT_OVERFLOW, TREE_SYMBOL_REFERENCED,
- TYPE_REF_CAN_ALIAS_ALL, TREE_OVERFLOW, TREE_PUBLIC,
- TYPE_CACHED_VALUES_P, SAVE_EXPR_RESOLVED_P, TREE_SIDE_EFFECTS,
- FORCED_LABEL, TREE_THIS_VOLATILE, TREE_THIS_NOTRAP, TREE_READONLY,
- TREE_CONSTANT, TYPE_SIZES_GIMPLIFIED, DECL_UNSIGNED,
- BIT_FIELD_REF_UNSIGNED, TYPE_UNSIGNED, TREE_ASM_WRITTEN,
- TREE_USED, TREE_NOTHROW, CALL_EXPR_RETURN_SLOT_OPT,
- DECL_BY_REFERENCE, CALL_FROM_THUNK_P, TYPE_ALIGN_OK,
- TREE_PRIVATE, TREE_PROTECTED, TREE_DEPRECATED,
- IDENTIFIER_TRANSPARENT_ALIAS, TREE_INVARIANT,
- TREE_LANG_FLAG_[0-6], SSA_NAME_CHECK, SSA_NAME_IN_FREE_LIST,
- TYPE_VOLATILE, TYPE_READONLY, TREE_VISITED, BINFO_VIRTUAL_P):
- Adjust for new `common' layout.
- (struct tree_function_decl): Add gimplified_flag.
- (DECL_GIMPLIFIED): NEW.
- (EXPR_LOCATION, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LOCUS,
- SET_EXPR_LOCUS, SET_EXPR_LOCATION, EXPR_LINENO,
- EXPR_HAS_LOCATION): Call corresponding function.
- (GIMPLE_STMT_CHECK): New.
- (TREE_OPERAND_CHECK, TREE_TYPE, TREE_CHAIN): Abort on gimple tuples.
- (TREE_BLOCK): Call tree_block.
- (GIMPLE_STMT_P): New.
- (GIMPLE_TUPLE_P): New.
- (TREE_TO_GIMPLE_STMT): New.
- (GIMPLE_STMT_TO_TREE): New.
- (GIMPLE_STMT_OPERAND): New.
- (GIMPLE_TUPLE_HAS_LOCUS_P): New.
- (PROTECTED_TREE_OPERAND): New.
- (PROTECTED_TREE_TYPE): New.
- (build2_gimple_stat): Protoize.
- (build2_gimple): New.
- (expr_location): Protoize.
- (set_expr_location): Protoize.
- (expr_has_location): Protoize.
- (expr_locus): Protoize.
- (set_expr_locus): Protoize.
- (expr_filename): Protoize.
- (expr_lineno): Protoize.
- (tree_block): Protoize.
- (protected_tree_operand): Protoize.
- (protected_tree_type): Protoize.
- (enum tree_node_kind): Add gimple_stmt_kind.
- * c-decl.c (union lang_tree_node): Tuples do not have a
- TREE_CHAIN.
- * ipa-cp.c (constant_val_insert): Change uses of MODIFY_EXPR to
- GIMPLE_MODIFY_STMT and adjust accordingly.
- * tree-scalar-evolution.c (follow_ssa_edge): Same.
- (interpret_condition_phi): Same.
- (pointer_used_p): Same.
- (analyze_scalar_evolution_1): Same.
- (scev_const_prop): Same.
- (interpret_rhs_modify_stmt): Rename from
- interpret_rhs_modify_expr.
- * builtins.c (std_expand_builtin_va_start): Change uses of
- MODIFY_EXPR to GIMPLE_MODIFY_STMT and adjust accordingly.
- (std_gimplify_va_arg_expr): Same.
- (expand_builtin_va_copy): Same.
- (integer_valued_real_p): Same.
- * fold-const.c (maybe_lvalue_p): Same.
- (fold_unary): Same.
- (tree_expr_nonnegative_p): Same.
- (tree_expr_nonzero_p): Same.
- * omp-low.c (extract_omp_for_data): Same.
- (lower_rec_input_clauses): Same.
- (lower_reduction_clauses): Same.
- (lower_copyprivate_clauses): Same.
- (lower_send_clauses): Same.
- (lower_send_shared_vars): Same.
- (expand_parallel_call): Same.
- (expand_omp_parallel): Same.
- (expand_omp_for_generic): Same.
- (expand_omp_for_static_nochunk): Same.
- (expand_omp_for_static_chunk): Same.
- (expand_omp_sections): Same.
- (lower_omp_single_copy): Same.
- (lower_omp_parallel): Same.
- * tree-ssa-dse.c (memory_address_same): Same.
- (dse_optimize_stmt): Same.
- * ipa-reference.c (scan_for_static_refs): Same.
- * tree-gimple.c (is_gimple_reg_rhs): Same.
- (get_call_expr_in): Same.
- (recalculate_side_effects): Same.
- * cgraphunit.c (cgraph_create_edges): Same.
- * tree-ssa-copyrename.c (rename_ssa_copies): Same.
- * tree-ssa-ccp.c (get_default_value): Same.
- (likely_value): Same.
- (visit_assignment): Same.
- (ccp_visit_stmt): Same.
- (get_maxval_strlen): Same.
- (ccp_fold_builtin): Same.
- * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Same.
- (find_givs_in_stmt): Same.
- (find_interesting_uses_op): Same.
- (find_interesting_uses_stmt): Same.
- (rewrite_use_nonlinear_expr): Same.
- * ipa-pure-const.c (scan_function): Same.
- * tree-stdarg.c (va_list_counter_bump): Same.
- (check_all_va_list_escapes): Same.
- (execute_optimize_stdarg): Same.
- * tree-ssa-math-opts.c (compute_merit): Same.
- (insert_reciprocals): Same.
- (execute_cse_reciprocals): Same.
- * tree-ssa-dom.c (initialize_hash_element): Same.
- (simple_iv_increment_p): Same.
- (record_equivalences_from_stmt): Same.
- (optimize_stmt): Same.
- (remove_stmt_or_phi): Same.
- (get_rhs_or_phi_arg): Same.
- (get_lhs_or_phi_result): Same.
- (propagate_rhs_into_lhs): Same.
- * tree-nrv.c (tree_nrv): Same.
- (execute_return_slot_opt): Same.
- * tree-ssa-propagate.c (get_rhs): Same.
- (set_rhs): Same.
- (stmt_makes_single_load): Same.
- (stmt_makes_single_store): Same.
- (replace_vuses_in): Same.
- (fold_predicate_in): Same.
- (substitute_and_fold): Same.
- * tree-ssa-alias.c (compute_call_clobbered): Same.
- (recalculate_used_alone): Same.
- (count_uses_and_derefs): Same.
- (is_escape_site): Same.
- (find_used_portions): Same.
- * gimple-low.c (lower_stmt): Same.
- (block_may_fallthru): Same.
- (lower_return_expr): Same.
- * tree-ssa-sink.c (is_hidden_global_store): Same.
- (statement_sink_location): Same.
- * dwarf2out.c (loc_descriptor_from_tree_1): Same.
- * expr.c (safe_from_p): Same.
- (expand_expr_real): Same.
- (expand_expr_real_1): Same.
- * tree-ssa-loop-ivcanon.c (empty_loop_p): Same.
- * predict.c (expr_expected_value): Same.
- (strip_builtin_expect): Same.
- (apply_return_prediction): Same.
- (tree_bb_level_predictions): Same.
- (tree_estimate_probability): Same.
- * tree-vn.c (vn_compute): Same.
- * tree-eh.c (add_stmt_to_eh_region_fn): Same.
- (remove_stmt_from_eh_region_fn): Same.
- (do_return_redirection): Same.
- (honor_protect_cleanup_actions): Same.
- (lower_try_finally_switch): Same.
- (lower_eh_constructs_1): Same.
- (tree_could_throw_p): Same.
- (verify_eh_throw_stmt_node): Same.
- * function.c (gimplify_parameters): Same.
- * tree-vectorizer.c (vect_is_simple_use): Same.
- (vect_is_simple_reduction): Same.
- * ipa-type-escape.c (scan_for_refs): Same.
- * tree-if-conv.c (tree_if_conversion): Same.
- (tree_if_convert_stmt): Same.
- (if_convertible_gimplify_modify_stmt_p): Rename from
- if_convertible_modify_expr_p.
- (if_convertible_stmt_p): Adjust for GIMPLE_MODIFY_STMT.
- (ifc_temp_var): Same.
- (replace_phi_with_cond_modify_stmt): Rename from
- replace_phi_with_cond_modify_expr.
- (process_phi_nodes): Call replace_phi_with_cond_modify_stmt.
- * tree.def (DEFTREECODE): Add GIMPLE_MODIFY_STMT.
- * tree-data-ref.c (find_data_references_in_loop): Adjust for
- GIMPLE_MODIFY_STMT.
- * tree-flow-inline.h (var_ann): Same.
- (function_ann): Same.
- (stmt_ann): Same.
- (mark_non_addressable): Same.
- * tree-vect-analyze.c (vect_determine_vectorization_factor): Same.
- * gimplify.c (tree_to_gimple_tuple): New.
- (build_stack_save_restore): Adjust for GIMPLE_MODIFY_STMT.
- (gimplify_return_expr): Same.
- (gimplify_decl_expr): Same.
- (gimplify_self_mod_expr): Same.
- (gimplify_cond_expr): Same.
- (gimplify_init_constructor): Same.
- (gimplify_modify_expr): Same.
- (gimplify_expr): Same.
- (gimplify_function_tree): Same.
- (force_gimple_operand): Same.
- * tree-ssa-phiopt.c (conditional_replacement): Same.
- (minmax_replacement): Same.
- (abs_replacement): Same.
- * tree-dfa.c (create_var_ann): Same.
- (create_function_ann): Same.
- (create_stmt_ann): Same.
- (create_tree_ann): Same.
- (collect_dfa_stats_r): Same.
- * tree-ssa-pre.c (find_or_generate_expression): Same.
- (create_expression_by_pieces): Same.
- (try_look_through_load): Same.
- (insert_fake_stores): Same.
- (realify_fake_stores): Same.
- (compute_avail): Same.
- (eliminate): Same.
- (init_pre): Same.
- (poolify_modify_stmt): Rename from poolify_modify_stmt.
- Adjust for GIMPLE_MODIFY_STMT.
- (NECESSARY): Adjust for new `common' layout.
- * tree-ssa-live.c (build_tree_conflict_graph): Adjust for
- GIMPLE_MODIFY_STMT.
- * tree-sra.c (sra_walk_modify_stmt): Rename from
- sra_walk_modify_expr.
- (sra_walk_function): Adjust for GIMPLE_MODIFY_STMT.
- (generate_copy_inout): Same.
- (generate_element_copy): Same.
- (generate_element_zero): Same.
- (scalarize_copy): Same.
- * tree-mudflap.c (mf_decl_cache_locals): Same.
- (mf_build_check_statement_for): Same.
- (mf_xform_derefs): Same.
- * ipa-prop.c (ipa_method_modify_stmt): Same.
- * print-tree.c (print_node): Handle gimple tuples.
- Add case for tcc_gimple_stmt.
- * tree-ssa-copy.c (stmt_may_generate_copy): Adjust for
- GIMPLE_MODIFY_STMT.
- (copy_prop_visit_assignment): Same.
- (copy_prop_visit_stmt): Same.
- (init_copy_prop): Same.
- * tree-ssa-forwprop.c (ssa_name_defined_by_comparison_p): Same.
- (forward_propagate_into_cond_1): Same.
- (find_equivalent_equality_comparison): Same.
- (tidy_after_forward_propagate_addr): Same.
- (forward_propagate_addr_expr_1): Same.
- (simplify_not_neg_expr): Same.
- (simplify_switch_expr): Same.
- * tree-ssa-dce.c (find_pdom): Same.
- (mark_stmt_if_obviously_necessary): Same.
- (NECESSARY): Adjust for new `common' layout.
- * tree-flow.h: Same.
- * tree-vect-patterns.c (widened_name_p): Adjust for
- GIMPLE_MODIFY_STMT.
- (vect_recog_dot_prod_pattern): Same.
- (vect_recog_widen_sum_pattern): Same.
- (vect_pattern_recog_1): Same.
- * tree-nested.c (init_tmp_var): Same.
- (save_tmp_var): Same.
- (walk_stmts): Same.
- (convert_call_expr): Same.
- (finalize_nesting_tree_1): Same.
- * tree-ssa.c (verify_ssa): Same.
- (delete_tree_ssa): Same.
- * lambda-code.c (lbv_to_gcc_expression): Same.
- (lle_to_gcc_expression): Same.
- (lambda_loopnest_to_gcc_loopnest): Same.
- (can_put_in_inner_loop): Same.
- (can_convert_to_perfect_nest): Same.
- (perfect_nestify): Same.
- * tree-ssa-loop-prefetch.c (gather_memory_references): Same.
- * tree-inline.c (copy_body_r): Same.
- (setup_one_parameter): Same.
- (initialize_inlined_parameters): Same.
- (estimate_num_insns_1): Same.
- (expand_call_inline): Same.
- (gimple_expand_calls_inline): Same.
- (copy_tree_r): Same.
- * tree-optimize.c (execute_free_cfg_annotations): Same.
- * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Same.
- (vect_align_data_ref): Same.
- (vect_create_data_ref_ptr): Same.
- (vect_init_vector): Same.
- (vect_create_epilog_for_reduction): Same.
- (vectorizable_reduction): Same.
- (vectorizable_assignment): Same.
- (vectorizable_operation): Same.
- (vectorizable_store): Same.
- (vectorizable_load): Same.
- (vectorizable_live_operation): Same.
- (vectorizable_condition): Same.
- (vect_generate_tmps_on_preheader): Same.
- (vect_create_cond_for_align_checks): Same.
- * tree-object-size.c (collect_object_sizes_for): Same.
- (check_for_plus_in_loops_1): Same.
- (check_for_plus_in_loops): Same.
- * tree-outof-ssa.c (insert_copy_on_edge): Same.
- (replace_use_variable): Same.
- (check_replaceable): Same.
- (rewrite_trees): Same.
- (identical_copies_p): Same.
- (insert_backedge_copies): Same.
- * tree-profile.c (tree_gen_edge_profiler): Same.
- * tree-vect-generic.c (expand_vector_operations_1): Same.
- * tree-ssa-structalias.c (update_alias_info): Same.
- (find_func_aliases): Same.
- * tree-cfg.c (factor_computed_gotos): Same.
- (make_edges): Same.
- (make_goto_expr_edges): Same.
- (tree_merge_blocks): Same.
- (remove_useless_stmts_cond): Same.
- (remove_useless_stmts_1): Same.
- (tree_find_edge_insert_loc): Same.
- (verify_expr): Same.
- (gimplify_val): Same.
- (verify_gimple_tuples_1): New.
- (verify_gimple_tuples): New.
- (verify_stmts): Call verify_gimple_tuples.
- * tree-ssa-reassoc.c (get_rank): Adjust for GIMPLE_MODIFY_STMT.
- (get_unary_op): Same.
- (linearize_expr): Same.
- (get_single_immediate_use): Same.
- (negate_value): Same.
- (should_break_up_subtract): Same.
- (break_up_subtract): Same.
- (repropagate_negates): Same.
- (break_up_subtract_bb): Same.
- (reassociate_bb): Same.
- * config/i386/i386.c (ix86_va_start): Same.
- (ix86_gimplify_va_arg): Same.
- * stmt.c (expand_expr_stmt): Same.
- (warn_if_unused_value): Same.
- (expand_return): Same.
- * tree-ssanames.c (make_ssa_name): Same.
- * tree-ssa-threadedge.c (lhs_of_dominating_assert): Same.
- * tree-ssa-operands.c (finalize_ssa_defs): Same.
- (add_virtual_operand): Same.
- (get_expr_operands): Same.
- (parse_ssa_operands): Same.
- (get_modify_stmt_operands): Rename from get_modify_expr_operands.
-
-2006-12-05 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.host: Remove extra blank line.
-
-2006-12-05 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config.host (i[34567]86-*-*, x86-64-*-*): Use driver-i386.o only if
- target is also an x86 variant.
-
-2006-12-05 Richard Guenther <rguenther@suse.de>
-
- * config/i386/i386.c (ix86_builtin_vectorized_function): Declare.
- (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define.
- (ix86_builtin_vectorized_function): New function to vectorize
- sqrt.
-
-2006-12-05 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.c (output_file_start): Fix comment which referred to
- ia64_override_options.
-
-2006-12-04 Jan Hubicka <jh@suse.cz>
-
- * cfgexpand.c (expand_one_var): Guard expand_one_stack_var by
- really_expand.
-
-2006-12-04 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * rtlanal.c (note_uses): Deal with SEQUENCEs.
- * config/bfin/bfin.c: Include "timevar.h".
- (bfin_flag_schedule_insns2, splitting_for_sched,
- bfin_flag_var_tracking): New variables.
- (print_operand): Handle '%!'.
- (override_options): Disable normal sched2 pass, instead set
- bfin_flag_schedule_insns2 for reorg to handle it.
- (output_file_start): Likewise for var-tracking.
- (bfin_optimize_loop): Take some care not to stumble over SEQUENCEs.
- (gen_one_bundle, bfin_gen_bundles, type_for_anomaly, trapping_loads_p):
- New functions.
- (bfin_reorg): Do second scheduling pass here, and call
- bfin_gen_bundles. Use type_for_anomaly and trapping_loads_p instead
- of examining insns directly. If bfin_flag_var_tracking, call
- var-tracking pass when done with everything else.
- * config/bfin/bfin.h (PRINT_OPERAND_PUNCT_VALID_P): '!' is valid.
- * config/bfin/bfin.md (UNSPEC_32BIT): New constant.
- (movsi_insn32): New pattern, with two new splits to create it
- before the final scheduling pass.
- (neghi2): Not a dsp32 insn, rather alu0.
- (movbi, pushsi_insn, popsi_insn, movsi_insn, movv2hi_insn, movhi_insn,
- movqi_insn, movsf_insn, movsi_insv, extendhisi2, zero_extendhisi2,
- extendqihi2, extendqisi2, zero_extendqihi2, zero_extendqisi2,
- mulhisi3, umulhisi3, ssadsi3, sssubsi3, smaxsi3, sminsi3, abssi2,
- ssnegsi2, signbitssi2, smaxhi3, sminhi3, abshi2, ssneghi2, signbitshi2,
- movhi_low2high, movhi_high2high, movhi_low2low, movhi_high2low,
- movhiv2hi_low, movhiv2hi_high, composev2hi, packv2hi, movv2hi_hi,
- ssaddhi3, sssubhi3, addv2hi3, ssaddv2hi3, subv2hi3, sssubv2hi3,
- addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, sublohiv2hi3,
- subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, addlohiv2hi3,
- addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, sminv2hi3, smaxv2hi3,
- flag_mulhi, flag_mulhisi, flag_mulhisi_parts, flag_machi,
- flag_machi_acconly, flag_macinithi, flag_macinit1hi, mulv2hi3,
- flag_mulv2hi, flag_mulv2hi_parts, flag_macv2hi_parts,
- flag_macv2hi_parts_acconly, flag_macinitv2hi_parts,
- flag_macinit1v2hi_parts, mulhisi_ll, mulhisi_lh, mulhisi_hl,
- mulhisi_hh, ssnegv2hi2, absv2hi2, ssashiftv2hi3, ssashifthi3,
- lshiftv2hi3, lshifthi3): Use '%!' to terminate all dsp32/load/store
- variants instead of ';'.
- (ror_one, rol_one): Likewise. Make them dsp32 insns.
- (ashlsi3_insn, ashrsi3, lshrsi3): Add dsp32 variants.
- (align8, align16, align24): Now named patterns; also using '%!'.
- (mnop): New insn.
-
-2006-12-05 Kazu Hirata <kazu@codesourcery.com>
-
- * config/i386/darwin.h, config/spu/spu.c, tree-ssa-live.c,
- tree-vect-generic.c, tree-vect-transform.c: Fix comment typos.
-
-2006-12-04 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
-
- * config/spu/spu-protos.c (spu_split_address): Add.
- * config/spu/spu.c (spu_split_address): Add.
- (print_operand): Handle HIGH.
- (spu_legitimate_address): Don't test for aligned CONST.
- (spu_expand_mov): Don't split addresses here.
- * config/spu/constraints.md (A): Don't test legitimate_const.
- * config/spu/spu.md: Add split of movsi patterns for PIC mode.
- (ceq_di): Use correct predicates.
-
-2006-12-04 Eric Christopher <echristo@apple.com>
-
- * config/darwin.h: Update copyright notice.
- * config/i386/darwin.h: Ditto.
-
-2006-12-04 Jan Hubicka <jh@suse.cz>
-
- * builtins.c (fold_builtin_memory_op): Check that expr_size match.
- * explow.c (expr_size, int_expr_size): Assert that size is non_NULL.
-
-2006-12-04 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Call
- set_used_smts.
- * tree-ssa-structalias.c (set_used_smts): Export.
- (find_what_p_points_to): Don't call set_used_smts here.
- * tree-ssa-structalias.h (set_used_smts): Add prototype.
-
-2006-12-04 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-alias.c (compute_may_aliases):
- Compute flow sensitive before flow insensitive.
- (compute_flow_sensitive_aliasing): Don't try to add
- a symbol memory tag to itself.
-
- * alias.h (alias_set_subset_of): New prototype.
-
- * alias.c (alias_set_subset_of): New function.
-
- * tree-ssa-structalias.c: Update comments.
- (struct variable_info): Add finished_solution.
- (new_varinfo): Set finished solution to NULL.
- (var_escaped_vars): Remove.
- (escaped_vars_tree): Remove.
- (escaped_vars_id): Remove.
- (nonlocal_vars_id): Remove.
- (constraint_expr_type): Add INCLUDES.
- (graph_size): Removed.
- (dump_constraint): Support INCLUDES.
- (build_constraint_graph): Ditto.
- (collapse_nodes): Add merge_solutions argument.
- Don't merge attributes.
- (process_unification_queue): Just use collapse_nodes.
- (perform_var_substitution): Update call to collapse_nodes.
- (get_constraint_exp_from_ssa_var): Use INCLUDES.
- (process_constraint): Fix non-field sensitive handling
- Handle includes.
- (get_constraint_for): Use INCLUDES.
- (make_constraint_from_anything): Renamed from
- make_constraint_from_escaped.
- (make_constraint_to_escaped): Removed.
- (find_global_initializers): Removed.
- (create_variable_info_for): Do not make constraints to escaped
- vars anymore.
- (dump_solution_for_var): Don't print out the equivalent points-to
- sets, just use the name of the variable it shares it with.
- (intra_create_variable_infos): Use INCLUDES.
- Change nonlocal variable sets to anything sets.
- (init_base_vars): Remove escaped_vars and nonlocal_var
- initialization.
- (find_escape_constraints): Removed.
- (delete_points_to_sets): Remove dead code.
- (used_smt_calculated): New variable.
- (set_used_smts): New function.
- (merge_smts_into): New function.
- (find_what_p_points_to): Modify to use SMTs.
- (create_nonlocal_var): Remove.
-
- * tree-ssa-operands.c (access_can_touch_variable): Remove
- reference to nonlocal_all.
-
- * tree-ssa.c (verify_name_tags): Remove.
-
-2006-12-04 Carlos O'Donell <carlos@codesourcery.com>
-
- * config/arm/unwind-arm.c: Adjust __cxa_type_match declaration.
- (__gnu_unwind_pr_common): Pass is_reference to __cxa_type_match.
-
-2006-12-04 Andrew MacLeod <amacleod@redhat.com>
-
- * tree-outof-ssa.c (coalesce_ssa_name): Use calculate_live_ranges.
- * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info): Update.
- (add_livein_if_notdef): Delete.
- (loe_visit_block): New. Propogate live on entry info for a block into
- each predecessor. If it changes, make sure it is visited again.
- (live_worklist): Visit every block and update the live on entry info
- for preds. Iterate over any that changed.
- (set_var_live_on_entry): Populate the live on entry blocks with bits
- based on the immediate uses of a var.
- (calculate_live_on_entry): Remove.
- (calculate_live_on_exit): Calculate live on exit based on the newly
- oriented live on entry bits.
- (calculate_live_ranges): Build live on entry and exit vectors.
- (dump_live_info): Use new orientation of live on entry bitmaps.
- (verify_live_on_entry): New. Split out verification code from old
- calculate_live_on_entry routine.
- * tree-ssa-live.h (struct tree_live_info_d): Add Working stack.
- (live_entry_blocks): Rename to live_on_entry and return bitmap for a
- basic_block instead of for a partition.
- (live_merge_and_clear): Add asserts.
- (make_live_on_entry): Set partition bit in basic block vector.
-
-2006-12-04 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/29947
- * omp-low.c (expand_omp_for_static_nochunk,
- expand_omp_for_static_chunk): Do all arithmetics in signed rather than
- unsigned type.
-
- PR middle-end/29965
- * omp-low.c (determine_parallel_type): Don't try to optimize combined
- parallels if region->exit or region->inner->exit is NULL.
- (expand_omp_parallel): Handle NULL region->exit even if cfg is already
- built.
- (expand_omp_for_generic): Handle NULL region->cond and region->exit.
- (expand_omp_for): Use expand_omp_for_generic if either region->cond
- or region->exit is NULL.
- (expand_omp_sections): Handle NULL region->cond or region->exit.
- (expand_omp_synch):
-
-2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * config/sparc/sp64-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Delete.
- * config/sparc/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
-
-2006-12-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.c (walk_type_fields): Do not handle TYPE_MIN_VALUE and
- TYPE_MAX_VALUE for scalar types here but...
- (walk_tree): ...there instead. Return NULL_TREE if the TYPE_DECL
- is attached an error mark, and the return value of the callback
- if it is not NULL_TREE.
-
-2006-12-04 Ben Elliston <bje@au.ibm.com>
-
- * config/spu/spu.md (_mulv4si3): Remove unused local variables.
-
-2006-12-03 Eric Christopher <echristo@apple.com>
-
- PR target/24598
- * config/t-slibgcc-darwin: Pass -install_name.
- * config/darwin.h (LINK_COMMAND_SPEC): Remove use of
- libtool. Only pass through options that the linker recognizes.
- (LINK_SPEC): Update comment. Translate options.
- (STARTFILE_SPEC): Add dylib1.o for shared libraries.
- * config/darwin9.h (LINK_COMMAND_SPEC): Ditto above.
-
-2006-12-03 Dorit Nuzman <dorit@il.ibm.com>
-
- * config/spu/spu.md (smaxv4sf3, sminv4sf3): New.
-
-2006-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/30041
- * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
- operands[1] in insn constraint. Correct type attribute to sselog1.
-
-2006-12-02 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/30040
- * config/i386/driver-i386.c: Include "coretypes.h" and "tm.h".
- (bit_SSSE3): New.
- (host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite
- processor detection.
-
- * config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for
- -march=native if there is no -mtune=*.
-
- * config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H)
- coretypes.h.
-
-2006-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * doc/install.texi: Update recommended MPFR version. Remove
- obsolete reference to cumulative patch.
-
-2006-12-02 Lee Millward <lee.millward@codesourcery.com>
-
- PR c/27953
- * c-decl.c (store_parm_decls_oldstyle): Robustify.
-
-2006-11-30 Jan Hubicka <jh@suse.cz>
- Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (pentium4_cost, nocona_cost): Update
- 32bit memcpy/memset decriptors.
- (decide_alg): With -minline-all-stringops and sizes that are best
- to be copied via libcall still work hard enough to pick non-libcall
- strategy.
-
-2006-12-02 Kazu Hirata <kazu@codesourcery.com>
-
- * doc/extend.texi, doc/invoke.texi, doc/md.texi: Fix typos.
-
- * builtins.c, cfgloop.h, cgraph.h, config/arm/arm.c,
- config/i386/i386.c, config/i386/i386.h, config/mips/mips.h,
- config/rs6000/cell.md, config/rs6000/rs6000.c, config/sh/sh.c,
- config/sh/sh4-300.md, config/spu/spu-builtins.def,
- config/spu/spu-c.c, config/spu/spu-modes.def,
- config/spu/spu.c, config/spu/spu.md,
- config/spu/spu_internals.h, config/spu/vmx2spu.h,
- fold-const.c, fwprop.c, predict.c, tree-data-ref.h,
- tree-flow.h, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
- tree-ssa-pre.c, tree-vect-analyze.c, tree-vect-transform.c,
- tree-vectorizer.c, tree-vrp.c: Fix comment typos. Follow
- spelling conventions.
-
- * config/i386/i386.c: Fix a comment typo.
-
-2006-12-01 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
-
- * config/spu/spu.c (spu_immediate): Remove trailing comma.
- (reloc_diagnostic): Call warning when -mwarn-reloc is specified.
- * config/spu/spu.md: (zero_extendhisi2): Expand instead of split for
- better optimization.
- (floatv4siv4sf2): New.
- (fix_truncv4sfv4si2): New.
- (floatunsv4siv4sf2): New.
- (fixuns_truncv4sfv4si2): New.
- (addv16qi3): New.
- (subv16qi3): New.
- (negv16qi2): New.
- (mulv8hi3): New.
- (mulsi3): Remove.
- (mul<mode>3): New.
- (_mulv4si3): New.
- (cmp<mode>): Don't accept constant arguments for DI, TI and SF.
- * config/spu/spu_internals.h: Handle overloaded intrinsics in C++ with
- spu_resolve_overloaded_builtin instead of static inline functions.
-
-2006-12-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (fold_binary) <LT_EXPR>: Use the precision of the
- type instead of the size of its mode to compute the highest and
- lowest possible values. Still check the size of the mode before
- flipping the signedness of the comparison.
-
-2006-12-01 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
-
- * config/spu/predicates.md (spu_mov_operand): Add.
- * config/spu/spu.c (spu_expand_extv): Remove unused code.
- (print_operand_address, print_operand): Handle addresses containing AND.
- (spu_split_load, spu_split_store): Use updated movti pattern.
- * config/spu/spu.md: (_mov<mode>, _movdi, _movti): Handle loads and
- stores in mov patterns for correct operation of reload.
- (lq, lq_<mode>, stq, stq_<mode>): Remove.
-
-2006-12-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
-
- PR c++/30021
- * c-common.c (check_main_parameter_types): Check for error_mark_node.
-
-2006-12-01 Andrew MacLeod <amacleod@redhat.com>
-
- * common.opt (ftree-combine-temps): Remove.
- * tree-outof-ssa.c (SSANORM_COMBINE_TEMPS): Remove.
- (coalesce_ssa_name): Don't check for combine-temps.
- (coalesce_vars): Remove.
- (check_replaceable): Use num_imm_uses.
- (remove_ssa_form, insert_backedge_copies, rewrite_out_of_ssa): Don't
- check for combine-temps.
- (rewrite_out_of_ssa): Never create a ref_count in the var_map.
- * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Change parms
- to register_ssa_partition calls.
- * tree-ssa-live.c (register_ssa_partition): Remove prototype.
- (init_var_map, delete_var_map): remove refernces to ref_count.
- (create_ssa_var_map): Never calculate a ref count.
- (type_var_init): Remove.
- * tree-ssa-live.h (typedef struct _var_map): Remove ref_count.
- (SSA_VAR_MAP_REF_COUNT): Delete.
- (create_ssa_var_map): Change Prototype to have no parameters.
- (version_ref_count): Delete.
- (register_ssa_partition): Remove 'is_use' paramater and don't set the
- ref_count vector.
- (type_var_num, type_var, type_var_first_partition,
- type_var_next_partition, type_var_dump, type_var_delete,
- type_var_remove_partition, type_var_find, type_var_compact,
- type_var_decompact): Remove.
-
-2006-12-01 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype
- attribute.
-
-2006-12-01 Richard Guenther <rguenther@suse.de>
-
- PR c++/29433
- * dwarf2out.c (struct pubname_struct): Make name const.
- (add_pubtype): Do not xstrdup identifiers.
-
-2006-12-01 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures
- multiword accesses are in range.
-
-2006-12-01 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/29921
- * tree-ssa-ccp.c (canonicalize_float_value): New function.
- (set_lattice_value): Use canonicalize_float_value.
-
-2006-11-30 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- * config/spu/spu.c (spu_builtin_range): Move from spu-c.c
- (TARGET_RESOLVE_OVERLOADED_BUILTIN): Delete.
- (spu_cpu_cpp_builtins): Remove.
- (spu_override_options): Don't set warn_main.
- (spu_force_reg): Move from spu-c.c.
- (spu_check_builtin_parm): Likewise.
- (expand_builtin_args): Likewise.
- (spu_expand_builtin_1): Likewise.
- (spu_expand_builtin): Likewise.
- * config/spu/spu.h (REGISTER_TARGET_PRAGMAS): Define, set
- warn_main and targetm.resolve_overloaded_builtin.
- * config/spu/spu-c.c (spu_builtin_range): Remove.
- (spu_check_builtin_parm): Remove.
- (expand_builtin_args): Remove.
- (spu_expand_builtin_1): Remove.
- (spu_expand_builtin): Remove.
- (spu_cpu_cpp_builtins): Moved from spu.c
- (spu_force_reg): Remove.
-
-2006-12-01 Joseph Myers <joseph@codesourcery.com>
- David Edelsohn <edelsohn@gnu.org>
-
- PR target/24036
- * doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING,
- HARD_REGNO_NREGS_WITH_PADDING): Document new target macros.
- * defaults.h (HARD_REGNO_NREGS_HAS_PADDING,
- HARD_REGNO_NREGS_WITH_PADDING): Define.
- * config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING,
- HARD_REGNO_NREGS_WITH_PADDING): Define.
- * rtlanal.c (subreg_regno_offset, subreg_offset_representable_p):
- Use new macros to detect modes with holes; do not look at integer
- units.
- (subreg_offset_representable_p): Check for and disallow cases
- where the modes use different numbers of bits from registers.
- * config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode
- constant for soft-float.
- (rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs
- containing doubles.
- (rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves
- in E500 double case.
- * config/rs6000/rs6000.md (movtf): Allow soft-float.
- (movtf_softfloat): New.
-
-2006-11-30 Richard Sandiford <richard@codesourcery.com>
-
- * simplify-rtx.c (simplify_rtx): Use simplify_subreg rather than
- simplify_gen_subreg.
-
-2006-11-30 Andrew Macleod <amacleod@redhat.com>
-
- * tree-ssa-live.c (create_coalesce_list): Create a hash table.
- (COALESCE_HASH_FN): New. Define hash function.
- (partition_pair_map_hash): New. Hash value for a partition pair.
- (partition_pair_map_eq): New. Equality for hash pairs.
- (create_coalesce_list): Create hash table.
- (delete_coalesce_list): Free hash table.
- (find_partition_pair): Find/create pairs in hash table.
- (compare_pairs): Sort pairs in ascending order now.
- (num_coalesce_pairs): New. Number of pairs in hash table.
- (struct partition_pair_iterator): Iterator struct for pair table.
- (first_partition_pair): Iterator function for first pair.
- (end_partition_pair_p): Iterator function for end of iteration.
- (next_partition_pair): Iterator function for next pair.
- (FOR_EACH_PARTITION_PAIR): Macro for iterating over pairs.
- (sort_coalesce_list): Sort pairs from hash table into an array.
- (pop_best_coalesce): Take pairs from the array.
- (dump_coalesce_list): Update to use hash table or sorted array.
- * tree-ssa-live.h (struct partition_pair_d): Remove next field.
- (struct coalesce_list_d): Add hash table related fields.
-
-2006-11-30 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/30028
- * builtins.c (fold_builtin_memory_op): Fix typo in the check for
- memmove/bcopy->memcpy conversion.
-
-2006-11-30 Carlos O'Donell <carlos@codesourcery.com>
-
- * doc/tm.texi (MAX_OFILE_ALIGNMENT): Document default.
- * config/elfos.h [!MAX_OFILE_ALIGNMENT] (MAX_OFILE_ALIGNMENT):
- Default is the largest alignment supported for 32-bit ELF and
- representable on a 32-bit host.
-
-2006-11-30 Janis Johnson <janis187@us.ibm.com>
-
- * config/dfp-bit.c (DFP_TO_INT): Use wider precision.
-
-2006-11-30 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-operands.h (struct ssa_operands): New.
- * tree-flow-inline.h (gimple_ssa_operands): New function.
- * tree-flow.h: (struct gimple_df): Add ssa_operands.
- * Makefile.in: Remove gt-tree-ssa-operands.h
- * tree-ssa-operands.c: Do not include gt-tree-ssa-operands.h
- (free_defs, free_uses, free_vuses, free_maydefs, free_mustdefs,
- operand_memory, operand_memory_index, ops_active): Remove statics.
- (ALLOC_OPTYPE): Update.
- (operand_build_sort_virtual): Update.
- (ssa_operands_active): Update.
- (init_ssa_operands): Update.
- (fini_ssa_operands): Update.
- (ssa_operand_alloc): Update.
- (INITIALIZE_USE): Update.
- (finalize_ssa_use_ops): Update.
- (finalize_ssa_v_may_def_ops): Update.
- (finalize_ssa_vuse_ops): Update.
- (finalize_ssa_v_must_def_ops): Update.
-
-2006-11-30 Richard Guenther <rguenther@suse.de>
-
- * tree-vectorizer.h (vectorizable_function): Export.
- * tree-vect-transform.c (vectorizable_function): Likewise.
- * tree-vect-patterns.c (vect_recog_pow_pattern): Set
- type_in to scalar type in recognition of squaring.
- Make sure the target can vectorize sqrt in recognition
- of sqrt, set type_in to vector type in this case.
-
-2006-11-30 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (R10_REG): New constant.
- * config/i386/i386.c (pro_epilogue_adjust_stack): Use R11_REG.
- (ix86_emit_restore_regs_using_mov): Ditto.
- (ix86_expand_call): Ditto.
- (x86_output_mi_thunk): Ditto. Also use R10_REG.
-
-2006-11-30 Steven Bosscher <steven@gcc.gnu.org>
-
- * cselib.c (cselib_init): Use special MEM rtx form for callmem.
- * alias.c (canon_true_dependence): Update comment.
-
-2006-11-30 Steven Bosscher <steven@gcc.gnu.org>
-
- * cgraphunit.c (cgraph_finalize_compilation_unit): Add a newline
- at the end of a diagnostics message.
-
- * alloc-pool.c (pool_free): Postpone clearing the pool entry
- until after asserting that it was allocated in the right pool.
-
- * cfgrtl.c (print_rtl_with_bb): Print predecessor and
- successor edge information as well. Make output of live regs
- on exit consistent with live regs on entry.
-
-2006-11-30 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/29852
- * config/i386/i386.md (*truncxfsf2_mixed, *truncxfdf2_mixed): Enable
- insn patterns for TARGET_80387.
- (*truncxfsf2_i387, *truncxfdf2_i387): Remove.
- (*truncxfsf2_i387_1): Rename to *truncxfsf2_i387.
- (*truncxfdf2_i387_1): Rename to *truncxfdf2_i387.
- (fmod<mode>3, remainder<mode>3): Enable expaders for SSE math.
- Generate truncxf<mode>2 insn patterns for strict SSE math.
-
-2006-11-30 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (movsf_1): Enable pattern for standard
- 80387 constants before reload when optimizing for size.
- (*movdf_nointeger, *movdf_integer): Ditto.
- (*movxf_nointeger, *movxf_integer): Disable patterns for standard
- 80387 constants before reload when not optimizing for size.
-
- (*fop_xf_4_i387, *fop_xf_5_i387, *fop_xf_6_i387): Avoid float
- extension of XFmode input operands.
-
-2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- * config/spu/crt0.c (__dso_handle): Define.
-
-2006-11-30 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * emit-rtl.c (verify_rtl_sharing): Handle SEQUENCE specially
- when clearing the used flags.
-
-2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- * config/spu/spu.md (extend_compare): Fix whitespace formatting.
-
-2006-11-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR target/29945
- * config/spu/spu.md (extend_compare<mode>): New pattern.
- (extend_compare): Change to expand and use the above pattern.
-
-2006-11-29 Janis Johnson <janis187@us.ibm.com>
-
- * config/dfp-bit.c (DFP_TO_INT): Fix rounding mode.
-
- * config/dfp-bit.h (CONTEXT_ROUND): Delete.
- (DFP_INIT_ROUNDMODE): Define.
- * config/dfp-bit.c: Replace CONTEXT_ROUND with DFP_INIT_ROUNDMODE.
- * mklibgcc.in: Fix dependencies for dfp-bit.c.
-
-2006-11-29 Tehila Meyzels <tehila@il.ibm.com>
-
- * haifa-sched.c: Remove define LINE_NOTE(INSN). Remove line_note_head.
- Update documentation.
- (associate_line_notes_with_blocks): Kill.
- (extend_bb): Remove basic block argument, put void instead.
- Remove line number handling for each bb.
- (save_line_notes): Kill.
- (restore_line_notes): Kill.
- (sched_init): Remove line_note_head initialization.
- Change extend_bb call.
- (sched_finish): Remove free of line_note_head.
- (add_block): Change extend_bb call.
- * sched-ebb.c (schedule_ebb): Remove save_line_notes,
- rm_line_notes and restore_line_notes calls.
- (schedule_ebbs): Remove rm_redundant_line_notes.
- * sched-int.h (struct haifa_insn_data): Remove line_note.
- (save_line_notes): Remove declaration.
- (restore_line_notes): Remove declaration.
- * modulo-sched.c (loop_canon_p): Update debug info printing
- by using insn locators instead of line note.
- (sms_schedule): Update debug info printing, by using insn
- locators instead of line note.
- * sched-rgn.c (debug_dependencies): Remove handling of case
- n>0 (line number), since it's a dead code.
- (schedule_region): Remove save_line_notes and
- restore_line_notes calls.
-
-2006-11-29 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/predicates.md (gpc_reg_operand): Check
- invalid_e500_subreg.
- * config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any
- SImode subregs of SPE vectors.
- * config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs.
- * jump.c (true_regnum): Require subregs to satisfy
- subreg_offset_representable_p.
-
-2006-11-29 Daniel Berlin <dberlin@dberlin.org>
- Steven Bosscher <stevenb.gcc@gmail.com>
-
- * Makefile.in (tree-ssanames.o): Remove gt-tree-ssanames.h,
- since it no longer exists.
-
-2006-11-29 Duncan Sands <baldrick@free.fr>
-
- PR tree-optimization/23744
- * tree-vrp.c (vrp_meet): do not require ranges to intersect.
-
-2006-11-29 Duncan Sands <baldrick@free.fr>
-
- PR tree-optimization/23744
- * testsuite/gcc.dg/tree-ssa/pr23744.c: new test.
-
-2006-11-29 Duncan Sands <baldrick@free.fr>
-
- PR tree-optimization/23744
- * testsuite/gcc.dg/tree-ssa/update-threading.c: xfail.
-
-2006-11-29 Jie Zhang <jie.zhang@analog.com>
-
- * doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately.
-
-2006-11-29 J"orn Rennecke <joern.rennecke@st.com>
-
- * sh.opt (minline-ic_invalidate): New option.
- (musermode): Adjust comment.
- * sh.c (sh_initialize_trampoline): Emit library call unless
- is set; if it is set, don't emit library call if we can use icbi
- instead.
- * sh.md (ic_invalidate_line, ic_invalidate_line_sh4a): Also use
- icbi for TARGET_SH4_300.
- * t-sh (LIB1ASMFUNCS_CACHE): Set.
- * doc/invoke.texi: Document -minline-ic_invalidate; Update
- -musermode documentation.
-
-2006-11-29 Jim Tison <jtison@us.ibm.com>
-
- * gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
- __gthread_recursive_mutex_init): Define.
-
-2006-11-29 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): If
- STRICT_ALIGNMENT and the type is more aligned than the saved
- registers, copy via a temporary.
-
-2006-11-28 Andrew Pinski <pinskia@gmail.com>
-
- PR tree-opt/29984
- * tree-ssa-reassoc.c (eliminate_duplicate_pair): Handle MAX_EXPR
- and MIN_EXRP.
-
-2006-11-28 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a12-a15 on exit.
-
-2006-11-28 Jan Hubicka <jh@suse.cz>
-
- Privatize SSA variables into gimple_df.
- * tree-flow-inline.h
- (gimple_in_ssa_p, gimple_aliases_computed_p, gimple_addressable_vars,
- gimple_call_clobbered_vars, gimple_referenced_vars, gimple_global_var,
- gimple_nonlocal_all): New accessors.
- (first_referenced_var): Update.
- (mark_stmt_modified): Update.
- (is_call_clobbered): Update.
- (mark_call_clobbered): Update.
- (clear_call_clobbered): Update.
- (mark_non_addressable): Update.
- * tree-vrp.c (get_value_range): Update.
- * tree-into-ssa.c (in_ssa_p): Kill.
- (get_default_def_for): Update.
- (rewrite_into_ssa): Update.
- * tree-complex.c (init_parameter_lattice_values): Update.
- (update_complex_assignment): Update.
- (update_parameter_components): Update.
- (expand_complex_libcall): Update.
- (expand_complex_operations_1): Update.
- * tree-tailcall.c (arg_needs_copy_p): Update.
- (add_virtual_phis): Update.
- (tree_optimize_tail_calls_1): Update.
- * tree-ssa-dse.c (memory_ssa_name_same): Update.
- * tree-ssa-copyrename.c
- (copy_rename_partition_coalesce): Update.
- * tree-ssa-math-opts.c (execute_cse_reciprocals): Update.
- * tree-ssa-propagate.c (set_rhs): Update.
- * tree-ssa-alias.c (aliases_computed_p, call_clobbered_vars,
- addressable_vars, global_var):Kill.
- (set_initial_properties): Update.
- (init_alias_info): Update.
- (finalize_ref_all_pointers): Update.
- (setup_pointers_and_addressables): Update.
- (maybe_create_global_var): Update.
- (create_global_var): Update.
- (dump_points_to_info): Update.
- * function.h (struct gimple_df): Forward declare.
- (struct function): Add GIMPLE_DF field.
- * gimplify.c (force_gimple_operand): Update.
- * tree-dfa.c (referenced_vars, default_defs): KIll.
- (make_rename_temp): Update.
- (dump_variable): Update.
- (referenced_var_lookup): Update.
- (referenced_var_check_and_insert): Update.
- (default_def): Rename to ...
- (gimple_default_def): ... this one; accept cfun argument.
- (set_default_def): Update.
- * tree-cfgcleanup.c (modified_noreturn_calls): Kill.
- (cleanup_control_flow): Update.
- * tree-ssa-pre.c (compute_avail): Update
- * tree-ssa-live.c (calculate_live_on_entry): Update.
- * tree-ssa.c (verify_use): Update.
- (verify_call_clobbering): Update.
- (verify_call_clobbering): Update.
- (init_tree_ssa): Update.
- (delete_tree_ssa): Update.
- * tree-outof-ssa.c (coalesce_ssa_name): Update.
- (rewrite_out_of_ssa): Update.
- * tree-flow.h (gimple_df): New structure collecting dataflow variables.
- (FREE_SSANAMES, SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS): New
- private accessors.
- (in_ssa_p, modified_noreturn_calls, referenced_vars, default_defs,
- ssa_names, global_var, nonlocal_all, call_clobbered_vars,
- addressable_vars, aliases_computed_p): Kill.
- (default_def): Rename to...
- (gimple_default_def): ... this one.
- (defaule_def_fn): Kill.
- (num_referenced_vars, ssa_names, num_ssa_names): Update.
- * tree-ssa-structalias.c (nonlocal_all): Kill.
- (get_constraint_exp_from_ssa_var): Update.
- (create_nonlocal_var): Update.
- (get_constraint_for): Update.
- (update_alias_info): Update.
- (find_global_initializers): Update.
- (intra_create_variable_infos): Update.
- (intra_create_variable_infos):
- (find_what_p_points_to): Update.
- (init_alias_heapvars): Update.
- * tree-cfg.c (remove_bb): Update.
- (gimplify_val): Update.
- * tree-ssa-reassoc.c (get_rank): Update.
- (init_reassoc): Update.
- * tree-ssanames.c: Do not include gt-tree-ssanames.h
- (ssa_names, free_ssanames): Kill.
- (init_ssanames): Update.
- (make_ssa_name): Update.
- (release_ssa_name): Update.
- (release_defs): Update.
- (replace_ssa_name_symbol): Update.
- * tree-ssa-operands.c (access_can_touch_variable): Update.
- (add_virtual_operand): Update.
- (add_call_clobber_ops): Update.
- (add_call_read_ops): Update.
- (get_call_expr_operands): Update.
- (get_asm_expr_operands): Update.
-
-2006-11-28 Jan Hubicka <jh@suse.cz>
-
- * builtins.c: Include tree-flow.h.
- (fold_builtin_memory_op): Be more aggressive on converting memcpy to
- assignment; convert memmove to memcpy for sizes greater than 1 where
- alignment of operands prohibit the partial overlap.
-
-2006-11-28 Jan Hubicka <jh@suse.cz>
-
- * invoke.texi (large-stack-frame, large-stack-frame-growth): New params.
- * cgraph.c (dump_cgraph_node): Dump stack usage.
- * cgraph.h (cgraph_local_info): Add estimated_self_stack_size.
- (cgraph_global_info): Add estimated_stack_size and stack_frame_offset.
- * cgraphunit.c (cgraph_analyze_function): Analyze stack sizes.
- * ipa-inline.c (cgraph_clone_inlined_nodes): Propagate stack usage.
- (cgraph_check_inline_limits): Limit stack growth.
- * cfgexpand.c: Include tree-inline.h.
- (account_stack_vars): New function.
- (expand_one_var): New param to just account the stack; return estimated
- size.
- (expand_used_vars_for_block): Update call of expand_one_var.
- (account_used_vars_for_block): New function.
- (estimated_stack_frame_size): Likewise.
- (init_vars_expansion, fini_vars_expansion): Break out from..
- (expand_used_vars): ... here.
- * tree-inline.h (estimated_stack_frame_size): Declare.
- * params.def (PARAM_LARGE_STACK_FRAME, PARAM_STACK_FRAME_GROWTH): New.
-
-2006-11-28 Richard Guenther <rguenther@suse.de>
-
- * ggc-page.c (ggc_print_statistics): Use %ul and a cast to
- unsigned long for printing OBJECT_SIZE.
-
-2006-11-27 Steven Bosscher <steven@gcc.gnu.org>
-
- * alias.c (init_alias_analysis): Remove simplification loop
- after propagating pointers.
-
-2006-11-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (x86_ext_80387_constants): Add m_K8, m_CORE2
- and m_GENERIC64.
-
-2006-11-27 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/xtensa.h (XCHAL_HAVE_MUL32_HIGH): Provide default.
-
-2006-11-27 Roger Sayle <roger@eyesopen.com>
- Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
- * c-common.c (constant_fits_type_p): Delete.
- (unsigned_conversion_warning): Delete.
- (conversion_warning): Integrate Wconversion warning from
- unsigned_conversion_warning.
- (convert_and_check): Integrate Woverflow warning from
- unsigned_conversion_warning. Reorganize and simplify to avoid
- dependence upon the middle-end setting TREE_OVERFLOW on integral
- conversions, by using int_fits_type_p directly.
-
-2006-11-27 Tobias Burnus <burnus@net-b.de>
-
- * doc/invoke.texi: Fixed typo.
-
-2006-11-27 Michael Matz <matz@suse.de>
- Andreas Krebbel <krebbel1@de.ibm.com>
-
- PR target/29319
- * config/s390/predicates.md (larl_operand): Check addend of larl
- operand to be in range of -/+2GB.
- * config/s390/s390.c (legitimize_pic_address): Likewise.
- Changed type of variable even to HOST_WIDE_INT.
-
-2006-11-27 Jan Hubicka <jh@suse.cz>
-
- * expr.c (emit_block_move_via_libcall): Export.
- (clear_storage_via_libcall): Rename to ...
- (set_storage_via_libcall): ... this one; handle arbitrary value to set.
- (clear_storage): Update to set_storage_via_libcall.
- * expr.h (emit_block_move_via_libcall): Declare
- * config/i386/i386.h (stringop_alg): New enum.
- (MAX_STRINGOP_ALGS): New constant.
- (stringop_algs): New struct.
- (processor_costs): Add memcpy/memset descriptors.
- (TARGET_REP_MOVEL_OPTIMAL): Remove.
- * config/i386/i386.md (movsi_insv_1_rex64): New pattern.
- (strmovsi, strmovdi, strsetsi, strsetdi): Update; accept all operands
- for memset.
- * config/i386/i386.opt (minline-stringops-dynamically,
- mstringop-strategy): New
- parameters.
- * config/i386/i386-prostos.h (ix86_expand_movmem): Update prototype.
- (ix86_expand-clrmem): Rename to ...
- (ix86_expand_setmem): ... this one; update prototype.
- * config/i386/i386.c (DUMMY_STRINGOP_ALGS): New constant.
- (size_cost, i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
- geode_cost, k6_cost, athlon_cost, k8_cost, pentium4_cost,
- nocona_cost, core2_cost, generic_cost, generic64_cost,
- generic32_cost): Add memcpy/memset descriptors.
- (x86_rep_movl_optimal): Remove.
- (stringop_alg): New static variable.
- (ix86_expand_aligntest): Handle predictions.
- (override_options): Add strgop_alg handling.
- (predict_jump): New function.
- (scale_counter): New function.
- (expand_set_or_movmem_via_loop): New function.
- (expand_movmem_via_rep_mov): New function.
- (expand_setmem_via_rep_stots): New function.
- (emit_strmov): New function.
- (expand_movmem_epilogue): New function.
- (expand_setmem_epilogue_via_loop): New function.
- (expand_setmem_epilogue): New function.
- (expand_movmem_prologue): New function.
- (expand_setmem_prologue): New function.
- (decide_alg): New function.
- (decide_alignment): New function.
- (ix86_exand_movmem): Rewrite.
- (promote_duplicated_reg): New function.
- (ix86_expand_clrmem): Rename to ...
- (ix86_expand_setmem): ... this one. Rewrite.
-
- * invoke.texi (minline-stringops-dynamically): New command line option.
- (mstringop-strategy): Likewise.
-
-2006-11-27 Jan Hubicka <jh@suse.cz>
-
- * cfgexpand.c (construct_exit_block): Don't disturb end of last BB.
- * rtl.texi (NOTE_INSN_FUNCTION_END): Remove.
- * final.c (final_scan_insn): Don't scan NOTE_INSN_FUNCTION_END.
- * insn-notes.def (FUNCTION_END): Remove.
- * jump.c (delete_related_insns): Don't worry about FUNCTION_END.
- (redicect_jump_2): Don't accept -1 parameter to remove FUNCTION_END
- note.
- * ifcvt.c (dead_or_predictable): Update call of redirect_jump_2.
- * function.c (expand_function_end): Don't emit NOTE_INSN_FUNCTION_END
- * cfglayout.c (duplicate_insn_chain): Don't worry about
- NOTE_FUNCTION_END.
-
-2006-11-27 Richard Guenther <rguenther@suse.de>
- Zdenek Dvorak <dvorakz@suse.cz>
-
- * target.h (struct gcc_target): Add builtin_vectorized_function
- target hook.
- * target-def.h (TARGET_VECTORIZE): Likewise.
- * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
- Document new target hook.
- * targhooks.h (default_builtin_vectorized_function): Declare.
- * targhooks.c (default_builtin_vectorized_function): Define.
- * tree-vectorizer.h (stmt_vec_info_type): Add call_vec_info_type.
- (vectorizable_call): Declare.
- * tree-vect-analyze.c (vect_analyze_operations): Call
- vectorizable_call.
- * tree-vect-transform.c (vectorizable_function): New static function.
- (build_vectorized_function_call): Likewise.
- (vectorizable_call): New function.
- (vect_transform_stmt): Handle vectorizable calls.
-
-2006-11-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/25620
- * builtins.c (expand_builtin_pow): Optimize non integer valued
- constant exponents using sqrt or cbrt if possible. Always fall back
- to expanding via optabs.
-
-2006-11-27 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/22372
- * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Convert
- the type of the base address.
- (vect_create_data_ref_ptr): Add an argument, type of the data-ref. Use
- it in the data-ref pointer creation.
- (vect_init_vector): Add an argument, type of the init vector. Use it in
- the stmt creation.
- (vect_get_vec_def_for_operand): Fix calls to vect_init_vector.
- (get_initial_def_for_reduction): Likewise.
- (vect_create_epilog_for_reduction): Change type of MODIFY_EXPR to
- void_type_node.
- (vectorizable_assignment, vect_permute_store_chain): Likewise.
- (vectorizable_store): Fix call to vect_create_data_ref_ptr. Use the
- correct type in stmt creation.
- (vect_setup_realignment): Use the correct type in stmt creation.
- (vect_permute_load_chain): Change type of MODIFY_EXPR to
- void_type_node.
- (vectorizable_load): Fix calls to vect_create_data_ref_ptr. Change type
- of MODIFY_EXPR to void_type_node.
- (vectorizable_condition): Change type of MODIFY_EXPR to
- void_type_node.
- (vect_update_ivs_after_vectorizer): Use the correct type in stmt
- creation.
-
-2006-11-27 Uros Bizjak <ubizjak@gmail.com>
-
- Revert:
- 2006-05-08 Uros Bizjak <uros@kss-loka.si>
- * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
- standard 80387 constants, raise the cost to prevent
- compress_float_constant() to generate load from memory.
-
- * config/i386/i386.md: Add new splitter pattern to split
- float_extended load of constant from constant pool into
- pure constant load.
-
-2006-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * doc/install.texi: Move GMP/MPFR configure options from Fortran
- section to general section. Remove documentation for
- --with-mpfr-dir and --with-gmp-dir, add documentation for
- --with-mpfr-include, --with-mpfr-lib, --with-gmp-include and
- --with-gmp-lib.
-
- * builtins.c (fold_builtin_fmin_fmax): Handle NaN arguments.
-
-2006-11-26 Razya Ladklesky <razya@il.ibm.com>
-
- * testsuite/gcc.dg/ipa/ipa-6.c: New.
-
-2006-11-26 Razya Ladklesky <razya@il.ibm.com>
-
- PR tree-optimization/29122
- * tree-inline.c (tree_function_versioning): Update DECL_ASSEMBLER_NAME
- for the new version. Assign NULL to DECL_RTL of the new version.
-
-2006-11-25 Uros Bizjak <ubizjak@gmail.com>
-
- * reg-stack.c (get_true_reg): Fix UNSPEC_TRUNC_NOOP handling.
-
-2006-11-25 Steven Bosscher <steven@gcc.gnu.org>
-
- * cse.c (cse_altered): Remove.
- (record_jump_equiv): Make true/false argument a bool instead
- of an int.
- (cse_insn): Don't set cse_altered. Use delete_insn_and_edges
- where appropriate. Emit a new jump before the existing one
- instead of after so that delete_insn_and_edges removes the
- dead edges properly. Check any_condjump_p before calling
- record_jump_equiv.
- (cse_basic_block): Check any_condjump_p before calling
- record_jump_equiv.
- (cse_main): Don't set/check cse_altered. Remove USE_C_ALLOCA.
-
-2006-11-25 Brooks Moses <brooks.moses@codesourcery.com>
-
- * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
- -ffixed-line-length-* options.
-
-2006-11-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (fpremxf4): Rename to fpremxf4_i387.
- (fprem1xf4): Rename to fprem1xf4_i387.
-
- (fmodsf3, fmoddf3): Macroize patterns using X87MODEF12 mode macro.
- Rename patterns to fmod<mode>3. Use general_operand operand
- constraint for operands 1 and 2. Use SSE_FLOAT_MODE_P to disable
- patterns for SSE math.
- (remaindersf3, remainderdf3): Ditto.
-
-2006-11-25 Joseph Myers <joseph@codesourcery.com>
-
- * function.c (instantiate_virtual_regs_in_insn): Call force_reg
- inside start_sequence / end_sequence pair.
-
-2006-11-25 Steven Bosscher <steven@gcc.gnu.org>
-
- * jump.c (mark_all_labels): Work in cfglayout mode.
- * cfgcleanup.c (cleanup_cfg): Do not call delete_dead_jumptables
- when in cfglayout mode, because there are no dead jumptables
- visible.
- * cfgrtl.c (commit_one_edge_insertion): Don't set bb->aux when
- in cfglayout mode.
- (commit_edge_insertions): Do not allow insertion of instructions
- with control flow insns when in cfglayout mode.
-
-2006-11-25 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-vrp.c (execute_vrp): Do not pass loops structure through
- arguments.
- * loop-unswitch.c (unswitch_loops, unswitch_single_loop,
- unswitch_loop): Ditto.
- * tree-loop-linear.c (linear_transform_loops): Ditto.
- * tree-ssa-loop-im.c (determine_lsm, tree_ssa_lim_initialize,
- tree_ssa_lim): Ditto.
- * tree-ssa-loop-niter.c (estimate_numbers_of_iterations,
- free_numbers_of_iterations_estimates): Ditto.
- * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops,
- tree_unswitch_single_loop, tree_unswitch_loop): Ditto.
- * cfgloopmanip.c (fix_bb_placement, fix_bb_placements,
- remove_path, add_loop, loopify, unloop, fix_loop_placements,
- place_new_loop, duplicate_loop, duplicate_subloops,
- update_single_exit_for_duplicated_loops, copy_loops_to,
- duplicate_loop_to_header_edge, create_preheaders,
- force_single_succ_latches, loop_version, fix_loop_structure):
- Ditto.
- * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge,
- tree_unroll_loop): Ditto.
- * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
- * tree-scalar-evolution.c (select_loops_exit_conditions,
- scev_initialize, scev_analysis): Ditto.
- * tree-scalar-evolution.h (scev_initialize): Ditto.
- * cfghooks.c (cfg_hook_duplicate_loop_to_header_edge): Ditto.
- * cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto.
- * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Ditto.
- * modulo-sched.c (sms_schedule): Ditto.
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
- * loop-init.c (loop_optimizer_init, rtl_move_loop_invariants,
- rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): Ditto.
- * ifcvt.c (if_convert): Ditto.
- * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely,
- canonicalize_loop_induction_variables,
- canonicalize_induction_variables,
- tree_unroll_loops_completely, remove_empty_loops): Ditto.
- * tree-ssa-loop.c (tree_ssa_loop_init, tree_ssa_loop_im,
- tree_ssa_loop_unswitch, tree_vectorize, tree_linear_transform,
- tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds,
- tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts,
- tree_ssa_loop_done): Ditto.
- * predict.c (predict_loops, tree_estimate_probability, estimate_loops,
- estimate_bb_frequencies): Ditto.
- * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg,
- slpeel_tree_peel_loop_to_edge, vectorize_loops): Ditto.
- * loop-unroll.c (unroll_and_peel_loops, peel_loops_completely,
- decide_unrolling_and_peeling, peel_loop_completely,
- unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
- peel_loop_simple, unroll_loop_stupid): Ditto.
- * loop-doloop.c (doloop_optimize_loops): Ditto.
- * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Ditto.
- * loop-invariant.c (move_loop_invariants): Ditto.
- * tree-ssa-dce.c (tree_ssa_dce_loop): Ditto.
- * tree-ssa-loop-prefetch.c (loop_prefetch_arrays,
- tree_ssa_prefetch_arrays): Ditto.
- * lambda-code.c (gcc_loopnest_to_lambda_loopnest, perfect_nestify):
- Ditto.
- * tree-vect-transform.c (vect_do_peeling_for_loop_bound,
- vect_do_peeling_for_alignment, vect_transform_loop): Ditto.
- * cfgloop.c (flow_loops_cfg_dump, flow_loops_dump,
- mark_single_exit_loops, cancel_loop, cancel_loop_tree,
- verify_loop_structure): Ditto.
- * tree-flow.h (vectorize_loops, tree_ssa_lim, tree_ssa_unswitch_loops,
- canonicalize_induction_variables, tree_unroll_loops_completely,
- tree_ssa_prefetch_arrays, remove_empty_loops, tree_ssa_iv_optimize,
- estimate_numbers_of_iterations, free_numbers_of_iterations_estimates,
- tree_duplicate_loop_to_header_edge, tree_ssa_loop_version,
- tree_unroll_loop, linear_transform_loops): Declaration changed.
- * basic-block.h: Remove declaration of struct loops.
- * cfghooks.h (struct cfg_hooks): Change type of
- cfg_hook_duplicate_loop_to_header_edge.
- (cfg_hook_duplicate_loop_to_header_edge): Declaration changed.
- * tree-vectorizer.h (slpeel_tree_peel_loop_to_edge,
- vect_transform_loop): Declaration changed.
- * lambda.h (gcc_loopnest_to_lambda_loopnest): Declaration changed.
- * cfgloop.h (flow_loops_dump, fix_loop_structure,
- mark_irreducible_loops, mark_single_exit_loops, mark_loop_exit_edges,
- cancel_loop_tree, create_preheaders, force_single_succ_latches,
- verify_loop_structure, duplicate_loop, duplicate_loop_to_header_edge,
- loopify, loop_version, remove_path, unswitch_loops,
- unroll_and_peel_loops, doloop_optimize_loops, move_loop_invariants):
- Declaration changed.
-
-2006-11-24 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (UNSPEC_TRUNC_NOOP): New unspec definition.
- (X87MODEF): New mode macro.
- (ssemodefsuffix): New mode attribute.
- (truncxf<mode>2_i387_noop_unspec): New insn pattern.
- (sqrt_extend<mode>xf2_i387): New insn pattern.
- (sqrt<mode>2): For non-SSE sqrt, emit sqrt_extend<mode>xf2_i387
- insn and truncate result back to original mode using
- UNSPEC_TRUNC_NOOP truncation.
- (*sqrt<mode>2_sse): Implement using SSEMODEF mode macro and
- ssemodefsuffix mode attribute.
- (*sqrtsf2_mixed, *sqrtsf2_i387, *sqrtdf2_mixed, *sqrtdf2_i387)
- (*sqrtextendsfdf2_i387, *sqrtextendsfxf2_i387)
- (*sqrtextenddfxf2_i387): Remove insn patterns.
-
- (fmodsf3, fmoddf3, remaindersf3, remainderdf3): Use noop
- truncation patterns.
-
- * reg-stack.c (get_true_reg): Handle UNSPEC_TRUNC_NOOP.
-
-2006-11-24 Jakub Jelinek <jakub@redhat.com>
-
- PR c/29955
- * c-tree.h (c_maybe_initialize_eh): New prototype.
- * c-decl.c (finish_decl): Move EH initialization...
- (c_maybe_initialize_eh): ... here. New function.
- * c-parser.c (c_parser_omp_construct): Call c_maybe_initialize_eh
- if not #pragma omp atomic.
-
- PR c/29736
- * c-common.c (handle_vector_size_attribute): Disallow VECTOR_TYPE
- or UNION_TYPE inner types.
-
-2006-11-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR tree-opt/29964
- * ipa-pure-const.c (check_tree): If the original tree
- is volatile return early and say the function is not pure
- nor const. Remove the volatile check for writes.
- (analyze_function): Print out the result of the local
- analysis pass.
-
-2006-11-24 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/eabispe.h (TARGET_DEFAULT): Include
- MASK_STRICT_ALIGN.
- * config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise.
- * config/rs6000/rs6000.c (rs6000_override_options): Use
- MASK_STRICT_ALIGN for 8540 and 8548. Add MASK_STRICT_ALIGN to
- POWERPC_MASKS.
-
-2006-11-24 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * config/s390.c (s390_emit_compare_and_swap): New function.
- (s390_expand_cs_hqi, s390_expand_atomic): Call
- s390_emit_compare_and_swap.
-
-2006-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.
-
-2006-11-24 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
- PR c/2707
- PR c++/26167
- * c-common.c (conversion_warning): New.
- (convert_and_check): Call conversion_warning unless there is an
- overflow warning.
- * doc/invoke.texi (-Wconversion): Update description.
-
-2006-11-23 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-alias.c (tree_pointer_compare): New function.
- (compact_name_tags): New function.
- (group_aliases): Call compact_name_tags.
-
-2006-11-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
- * real.h (real_isinteger): Declare.
- * real.c (real_isinteger): Define.
- * builtins.c (integer_valued_real_p): Use it.
-
-2006-11-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
- PR c/9072
- * c.opt (Wtraditional-conversion): New.
- (Wconversion): Update description.
- * c-typeck.c (convert_arguments): Warnings for prototypes causing
- type conversions different from what would happen in the absence
- of prototype are now handled by Wtraditional-conversion.
- * doc/invoke.texi (Wtraditional-conversion): New.
- (Wconversion): Update description.
- * doc/trouble.texi (Wconversion): Replace Wconversion by
- Wtraditional-conversion.
-
-2006-11-23 Andrew Pinski <pinskia@gmail.com>
-
- * predict.c (tree_estimate_probability): Check to make
- sure current_loops is non null before calling flow_loops_dump.
-
-2006-11-23 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * var-tracking.c (emit_note_insn_var_location): Revert previous patch.
-
-2006-11-23 David Ung <davidu@mips.com>
-
- * config/mips/mips.h (ISA_HAS_FP4): Add MIPS32R2 + 64bit fpu
- combination.
- (ISA_HAS_MXHC1): True if ISA supports mfhc1 and mthc1 opcodes.
- (ASM_SPEC): Pass along -mfp32 and -mfp64.
- * config/mips/mips.c (mips_split_64bit_move): Use gen_mthc1 to set
- high part of FP register when in 64-bit FP register mode. Similarly
- use gen_mfhc1 to load high part of FP register.
- (override_options): Allow -mgp32 and -mfp64 combination if
- ISA_HAS_MXHC1 (currently for O32 only).
- (mips_cannot_change_mode_class): If floating-point registers are
- bigger than word size. disallow conversion of float register from a
- large integer mode to a float mode smaller than the float register
- size.
- (mips_class_max_nregs): Handle float registers case seperately.
- * config/mips/mips.md (define_constants): Add UNSPEC_MFHC1,
- UNSPEC_MTHC1.
- (movdi_32bit): Use !TARGET_FLOAT64 in condition pattern.
- (movdf_hardfloat_32bit): Similarly.
- (movdi_gp32_fp64): New DImode pattern for MIPS32R2 which optionally
- support a full 64-bit fpu.
- (mthc1): New pattern to generate MTHC1 instruction.
- (mfhc1): New pattern to generate MFHC1 instruction.
- * doc/invoke.texi (MIPS Options): Document the -mgp32 -mfp64
- option for the MIPS32R2 and mention its use under O32 ABI.
-
-2006-11-23 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * var-tracking.c (emit_note_insn_var_location): Take care not to
- cause verify_flow_info failures.
-
-2006-11-22 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-structalias.c: Remove edge weights in favor of just
- processing them as complex constraints.
- (struct constraint_graph): Remove weighted succs and preds. Rename
- nonweighted succs and preds.
- (constraint_edge): Removed.
- (constraint_edge_t): Ditto.
- (constraint_edge_pool): Ditto.
- (new_constraint_edge): Ditto.
- (constraint_edge_equal): Ditto.
- (constraint_edge_less): Ditto.
- (constraint_edge_vec_find): Ditto.
- (erase_self_graph_edge): Ditto.
- (add_graph_edge): Removed.
- (get_graph_weights): Ditto.
- (allocate_graph_weights): Ditto.
- (valid_weighted_graph_edge): Ditto
- (bitmap_other_than_zero_bit_set): Ditto.
- (int_add_graph_edge): Renamed to add_graph_edge.
- (clear_edges_for_node): Remove support for weighted edges.
- (merge_graph_nodes): Ditto.
- (valid_graph_edge): Ditto.
- (build_constraint_graph): Ditto.
- (scc_visit): Ditto.
- (collapse_nodes): Ditto.
- (process_unification_queue): Ditto.
- (topo_visit): Ditto.
- (do_ds_constraint): Ditto.
- (perform_var_subsitution): Ditto.
- (solve_graph): Ditto.
- (init_alias_vars): Ditto.
- (delete_points_to_sets): Ditto.
- (do_complex_constraint): Support offsetted copies here.
-
-2006-11-23 Ulrich Weigand <uweigand@de.ibm.com>
-
- * config/spu/spu_intrinsics.h (SPU_RdEventStatMask): Rename to
- SPU_RdEventMask.
- * config/spu/spu_mfcio.h (spu_read_event_mask): Update.
-
- * config/spu/spu_mfcio.h (struct mfc_list_element): Change width
- of size bitfield.
-
-2006-11-23 Ben Elliston <bje@au.ibm.com>
-
- * config/spu/spu-elf.h (LIB_SPEC): Do not link with -lc_p.
-
-2006-11-23 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/29921
- * fold-const.c (operand_equal_p): Without HONOR_SIGNED_ZEROS, consider
- signed and unsigned zero equal.
-
-2006-11-22 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/rs6000.c (get_store_dest): New.
- (adjacent_mem_locations): Use get_store_dest() to get
- the rtl of the store destination.
-
-2006-11-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/spe.md (SPE64): New mode macro.
- (mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0. Add
- memory load.
- (mov_si<mode>_e500_subreg0_2): New.
- (mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4. Add
- memory load.
- (mov_si<mode>_e500_subreg4_2): New.
- * config/rs6000/predicates.md (input_operand): Do not allow
- invalid E500 subregs.
- (rs6000_nonimmediate_operand): Check for invalid E500 subregs also
- if TARGET_SPE.
- * config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs
- involving DFmode if TARGET_E500_DOUBLE. Check for subregs
- involving vector modes if TARGET_SPE.
-
-2006-11-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- Revert
- 2006-11-12 Kaz Kojima <kkojima@gcc.gnu.org>
- * reorg.c (emit_delay_sequence): Copy the delay slot insn.
-
-2006-11-22 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/predicates.md (d_register_operand, mem_p_address_operand,
- mem_i_address_operand): New predicates.
- * config/bfin/bfin.c (bfin_issue_rate): New function.
- (TARGET_SCHED_ISSUE_RATE): New macro.
- * config/bfin/bfin.md (addrtype): New attribute.
- (slot0, slot1, slot2, store, pregs): New cpu_units.
- (core): Now a define_reservation.
- (alu): Remove some insn types from this reservation.
- (dsp32, load32, loadp, loadi, store32, storep, storei, multi): New
- insn reservations.
- (dummy reservation): Don't trigger for mcld insns.
- (absence_sets): Two new absence sets to enforce slot ordering.
- (popsi_insn): Set addrtype.
-
-2006-11-22 Ira Rosen <irar@il.ibm.com>
-
- * doc/c-tree.texi: Document new tree codes.
- * doc/md.texi: Document new optabs.
- * tree-pretty-print.c (dump_generic_node): Handle print of new tree
- codes.
- * optabs.c (optab_for_tree_code, init_optabs): Handle new optabs.
- * optabs.h (optab_index): Add new.
- (vec_extract_even_optab, vec_extract_odd_optab,
- vec_interleave_high_optab, vec_interleave_low_optab): New optabs.
- * genopinit.c (vec_extract_even_optab, vec_extract_odd_optab,
- vec_interleave_high_optab, vec_interleave_low_optab): Initialize
- new optabs.
- * expr.c (expand_expr_real_1): Add implementation for new tree codes.
- * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields.
- * tree-vectorizer.h (stmt_vec_info): Add new fields for interleaving
- along with macros for their access.
- * tree-data-ref.h (first_location_in_loop, data_reference): Update
- comment.
- * tree-vect-analyze.c (toplev.h): Include.
- (vect_determine_vectorization_factor): Fix indentation.
- (vect_insert_into_interleaving_chain,
- vect_update_interleaving_chain, vect_equal_offsets): New functions.
- (vect_analyze_data_ref_dependence): Add argument for interleaving
- check. Check for interleaving if it's true.
- (vect_check_dependences): New function.
- (vect_analyze_data_ref_dependences): Call vect_check_dependences for
- every ddr. Call vect_analyze_data_ref_dependence with new argument.
- (vect_update_misalignment_for_peel): Update for interleaving.
- (vect_verify_datarefs_alignment): Check only first data-ref for
- interleaving.
- (vect_enhance_data_refs_alignment): Update for interleaving. Check
- only first data-ref for interleaving.
- (vect_analyze_data_ref_access): Check interleaving, update
- interleaving data.
- (vect_analyze_data_refs): Call compute_data_dependences_for_loop
- with different parameters.
- * tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR,
- VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): New tree codes.
- * tree-inline.c (estimate_num_insns_1): Add cases for new codes.
- * tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
- Update step in case of interleaving.
- (vect_strided_store_supported, vect_permute_store_chain): New
- functions.
- (vectorizable_store): Handle strided stores.
- (vect_strided_load_supported, vect_permute_load_chain,
- vect_transform_strided_load): New functions.
- (vectorizable_load): Handle strided loads.
- (vect_transform_stmt): Add argument. Handle strided stores. Check
- that vectorized stmt exists for patterns.
- (vect_gen_niters_for_prolog_loop): Update calculation for
- interleaving.
- (vect_transform_loop): Remove stmt_vec_info for strided stores after
- whole chain vectorization.
- * config/rs6000/altivec.md (UNSPEC_EXTEVEN, UNSPEC_EXTODD,
- UNSPEC_INTERHI, UNSPEC_INTERLO): New constants.
- (vpkuhum_nomode, vpkuwum_nomode, vec_extract_even<mode>,
- vec_extract_odd<mode>, altivec_vmrghsf, altivec_vmrglsf,
- vec_interleave_high<mode>, vec_interleave_low<mode>): Implement.
-
-2006-11-22 Steven Bosscher <steven@gcc.gnu.org>
-
- * cse.c (enum taken): Remove PATH_AROUND.
- (addr_affects_sp_p, invalidate_skipped_set,
- invalidate_skipped_block): Remove.
- (cse_end_of_basic_block): Remove skip_blocks and related code.
- (cse_main): Don't test for flag_cse_skip_blocks.
- Update cse_end_of_basic_block call.
- (cse_basic_block): Likewise. Remove PATH_AROUND case. Remove
- code to lengthen the path if a jump was simplified.
-
-2006-11-22 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR rtl-optimization/29924
- * loop-unroll.c (split_edge_and_insert): Handle the case insns is NULL.
- (unroll_loop_runtime_iterations): Assert that the argument passed to
- split_edge_and_insert is not NULL.
- * loop-doloop.c (add_test): Ditto.
-
-2006-11-22 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-loop-linear.c (linear_transform_loops): Use single_exit accessor
- functions.
- * tree-ssa-loop-niter.c (loop_only_exit_p): Ditto.
- * cfgloopmanip.c (update_single_exits_after_duplication,
- update_single_exit_for_duplicated_loop, loop_version): Ditto.
- * tree-scalar-evolution.c (get_loop_exit_condition,
- get_exit_conditions_rec, loop_closed_phi_def,
- number_of_iterations_in_loop, scev_const_prop): Ditto.
- * tree-ssa-loop-ivopts.c (single_dom_exit): Ditto.
- * modulo-sched.c (generate_prolog_epilog, loop_canon_p, sms_schedule):
- Ditto.
- * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
- Ditto.
- * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
- slpeel_update_phi_nodes_for_guard1, slpeel_update_phi_nodes_for_guard2,
- slpeel_make_loop_iterate_ntimes,
- slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_can_duplicate_loop_p,
- slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
- Ditto.
- * tree-if-conv.c (if_convertible_loop_p): Ditto.
- * tree-vect-analyze.c (vect_analyze_operations, vect_stmt_relevant_p,
- vect_analyze_loop_form): Ditto.
- * lambda-code.c (lambda_loopnest_to_gcc_loopnest, exit_phi_for_loop_p,
- can_convert_to_perfect_nest, perfect_nestify): Ditto.
- * tree-vect-transform.c (vect_create_epilog_for_reduction,
- vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
- vect_transform_loop): Ditto.
- * cfgloop.c (mark_single_exit_loops, verify_loop_structure): Ditto.
- (single_exit, set_single_exit): New functions.
- * cfgloop.h (struct loop): Rename single_exit field to single_exit_.
- (single_exit, set_single_exit): Declare.
- * doc/loop.texi: Undocument single_exit field. Document single_exit
- accessor function.
-
-2006-11-22 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/29902
- * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
- any involved ssa name appears in abnormal phi node.
-
-2006-11-21 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/xtensa.c (xtensa_char_to_class): Delete.
- (xtensa_const_ok_for_letter_p): Delete.
- (xtensa_extra_constraint): Delete.
- (override_options): Delete xtensa_char_to_class initialization.
- * config/xtensa/xtensa.h (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT): Delete.
- * config/xtensa/xtensa.md: Include constraints.md.
- (call_internal): Combine alternatives.
- (call_value_internal): Likewise, and remove invalid constraints.
- * config/xtensa/constraints.md: New file.
- * config/xtensa/xtensa-protos.h (xtensa_const_ok_for_letter_p): Delete.
- (xtensa_extra_constraint): Delete.
- * doc/md.texi (Machine Constraints): Refer to constraints.md for
- Xtensa constraints.
-
-2006-11-21 Janis Johnson <janis187@us.ibm.com>
-
- * config/dfp-bits.c (DFP_TO_INT): Remove code to saturate result
- of conversion that doesn't fit.
-
- * config/dfp-bit.h (CONTEXT_TRAPS, CONTEXT_ERRORS, DFP_RAISE): Delete.
- * config/dfp-bit.c (dfp_unary_op, dfp_binary_op, dfp_compare_op,
- DFP_TO_DFP, INT_TO_DFP, BFP_TO_DFP): Remove calls to DFP_RAISE.
-
- * config/dfp-bit.c (dfp_binary_func): Fix typedef.
-
-2006-11-21 Douglas Gregor <doug.gregor@gmail.com>
-
- * c-common.h (enum rid): Add RID_STATIC_ASSERT.
-
-2006-11-21 Richard Guenther <rguenther@suse.de>
-
- * tree-vectorizer.h (NUM_PATTERNS): Increase.
- * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
- vect_recog_pow_pattern.
- (vect_recog_pow_pattern): New function.
-
-2006-11-21 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.opt (mstack-check-l1): New.
- * doc/invoke.texi (Blackfin Options): Document it.
- * config/bfin/bfin.c (bfin_expand_prologue): Generate code to use
- stack bounds in L1 memory if the new option is enabled.
- (override_options): Don't allow combinations of -fstack-limit and
- -mstack-check-l1.
- (add_to_reg): Renamed from add_to_sp. All callers changed. Lose some
- dead code.
-
- * config/bfin/bfin.c (hard_regno_mode_ok): Only allow first 31
- regs for DImode.
- (bfin_register_move_cost): Bump costs if trying to move plain
- integer values through accumulators.
-
-2006-11-21 Ben Elliston <bje@au.ibm.com>
-
- * config/spu/spu.c (spu_expand_vector_init): Initialise x.
-
-2006-11-20 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
- Russell Olsen <Russell_Olsen@playstation.sony.com>
- Dmitri Makarov <Dmitri_Makarov@playstation.sony.com>
- Yukishige Shibata <shibata@rd.scei.sony.co.jp>
- Nobuhisa Fujinami <fnami@rd.scei.sony.co.jp>
- Takeaki Fukuoka <fukuoka@rd.scei.sony.co.jp>
- Andrew Pinski <Andrew_Pinski@playstation.sony.com>
-
- * config.gcc: Add target for SPU.
- * config/spu/constraints.md: New file.
- * config/spu/crt0.c: New file.
- * config/spu/crtend.c: New file.
- * config/spu/crti.asm: New file.
- * config/spu/crtn.asm: New file.
- * config/spu/float_unsdidf.c: New file.
- * config/spu/float_unssidf.c: New file.
- * config/spu/predicates.md: New file.
- * config/spu/spu-builtins.def: New file.
- * config/spu/spu-builtins.h: New file.
- * config/spu/spu-builtins.md: New file.
- * config/spu/spu-c.c: New file.
- * config/spu/spu-elf.h: New file.
- * config/spu/spu-modes.def: New file.
- * config/spu/spu-protos.h: New file.
- * config/spu/spu.c: New file.
- * config/spu/spu.h: New file.
- * config/spu/spu.md: New file.
- * config/spu/spu.opt: New file.
- * config/spu/spu_internals.h: New file.
- * config/spu/spu_intrinsics.h: New file.
- * config/spu/spu_mfcio.h: New file.
- * config/spu/t-spu-elf: New file.
- * config/spu/vec_types.h: New file.
- * config/spu/vmx2spu.h: New file.
- * doc/contrib.texi: Document SPU contributor.
- * doc/extend.texi: Document SPU extensions.
- * doc/invoke.texi: Document SPU options.
- * doc/md.texi: Document SPU constraints.
-
-2006-11-21 Zdenek Dvorak <dvorakz@suse.cz>
-
- * cfgloopmanip.c (add_loop, duplicate_loop): Do not set level
- of the loop.
- * cfgloop.c (flow_loop_level_compute, flow_loops_level_compute):
- Removed.
- (flow_loop_dump): Do not dump loop level.
- (flow_loops_find): Do not call flow_loops_level_compute.
- * cfgloop.h (struct loop): Remove level field.
-
-2006-11-21 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-im.c (schedule_sm, determine_lsm_ref,
- hoist_memory_references, loop_suitable_for_sm, determine_lsm_loop):
- Use vector of edges instead of array.
- * tree-ssa-loop-niter.c (find_loop_niter, find_loop_niter_by_eval,
- estimate_numbers_of_iterations_loop): Ditto.
- * predict.c (predict_loops): Ditto.
- * loop-unroll.c (analyze_insns_in_loop): Ditto.
- * tree-ssa-threadupdate.c: Remove declaration of heap allocation for
- edge vectors.
- * basic-block.h: Declare heap allocation for edge vectors.
- * tree-outof-ssa.c: Ditto.
- * cfgloop.c (get_loop_exit_edges): Return vector of edges.
- * cfgloop.h (get_loop_exit_edges): Declaration changed.
-
-2006-11-20 Zack Weinberg <zackw@panix.com>
-
- * gengtype.c (process_gc_options): Remove unnecessary forward decl.
- Add another out parameter, "skip".
- (set_gc_used_type): Adjust calls to process_gc_options. If a field
- is tagged "skip", do not mark its type used.
-
-2006-11-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR tree-opt/25500
- * tree-sra.c (single_scalar_field_in_record_p): New function.
- (decide_block_copy): Use it.
-
-2006-11-20 David Daney <ddaney@avtrex.com>
-
- * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
- PC to point to following instruction.
-
-2006-11-20 Anatoly Sokolov <aesok@post.ru>
-
- PR target/18553
- PR target/29449
- * config/avr/avr.h (OBJECT_FORMAT_ELF): Define.
-
- * config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define.
-
-2006-11-20 J"orn Rennecke <joern.rennecke@st.com>
-
- * config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
- Add sh/superh.h to tm_file.
-
-2006-11-20 Carlos O'Donell <carlos@codesourcery.com>
- Mark Mitchell <mark@codesourcery.com>
-
- * cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and
- gcc_exec_prefix.
- (cpp_relocated): New function.
- * cppdefault.h: Declare cpp_PREFIX, cpp_PREFIX_len, gcc_exec_prefix
- and cpp_relocated.
- * Makefile.in (PREPROCESSOR_DEFINES): Add -DPREFIX option.
- * c-incpath.c (add_standard_paths): Call cpp_relocated. If relocated,
- replace configured prefix with gcc_exec_prefix.
-
-2006-11-20 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Call
- bfin_legitimate_constant_p.
- * config/bfin/bfin.md (movsi expander): Check return value of
- expand_mvoe.
- * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Declare.
- (expand_move): Adjust prototype.
- * config/bfin/bfin.c (expand_move): Now returns bool. Handle
- invalid constants specially.
- (bfin_cannot_force_const_mem, bfin_legitimate_constant_p): New
- functions.
- (TARGET_CANNOT_FORCE_CONST_MEM): New macro.
-
- * config/bfin/bfin.md (call_symbol, call_value_symbol, sibcall_symbol,
- sibcall_value_symbol): Allow these patterns if
- TARGET_LEAF_ID_SHARED_LIBRARY.
- * config/bfin/bfin.c (bfin_expand_call): Allow them here as well.
- (override_options): Turn on id shared library flags if -msep-data,
- but disallow the combination of these options on the command line.
- * config/bfin/bfin.h (TARGET_LEAF_ID_SHARED_LIBRARY, MASK_SEP_DATA
- MASK_LEAF_ID_SHARED_LIBRARY, TARGET_SEP_DATA): New macros.
- (DRIVER_SELF_SPECS): -mleaf-id-shared-library implies
- -mid-shared-library.
- (TARGET_SWITCHES): Add -mleaf-id-shared-library and -msep-data.
- * doc/invoke.texi (Blackfin Options): Document new switches.
-
- * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Handle some
- edge cases with local functions and TARGET_ID_SHARED_LIBRARY.
-
- * tree-ssa-loop-ivopts.c (get_address_cost): Do not artificially
- inflate costs for addresses with an out-of-bounds address.
-
-2006-11-19 Andrew Pinski <pinskia@gmail.com>
-
- PR rtl-opt/29879
- * fwprop.c (loops): Remove.
- (forward_propagate_into): Use current_loops instead of
- loops.
- (fwprop_init): Call loop_optimizer_init instead of
- flow_loops_find.
- (fwprop_done): Call loop_optimizer_finalize instead of
- flow_loops_free.
- (fwprop): Use current_loops instead of loops.
-
-2006-11-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- PR c++/8586
- * c-opts.c (c_common_handle_option): Enable -Wwrite-strings if -Wall.
-
-2006-11-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/29114
- * pa.c (emit_move_sequence): Don't split constants with PLUS for modes
- larger than BITS_PER_WORD.
-
-2006-11-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR fortran/27885
- PR middle-end/28176
- * stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types
- to MAX_FIXED_MODE_SIZE.
-
-2006-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * builtins.c (integer_valued_real_p): Handle fmin/fmax.
- (fold_builtin_fmin_fmax): New.
- (fold_builtin_1): Use it.
-
- * fold-const.c (fold_strip_sign_ops): Handle copysign.
-
-2006-11-18 Richard Guenther <rguenther@suse.de>
-
- * config/i386/i386.c (ix86_builtins): New array for ix86
- builtin function decls.
- (def_builtin): New function.
- (def_builtin_const): Likewise.
- (ix86_init_mmx_sse_builtins): Mark sqrt and cvt builtins const.
-
-2006-11-18 Vladimir Makarov <vmakarov@redhat.com>
-
- * doc/invoke.texi (core2): Add item.
-
- * config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New
- macros.
- (TARGET_CPU_CPP_BUILTINS): Add code for core2.
- (TARGET_CPU_DEFAULT_generic): Change value.
- (TARGET_CPU_DEFAULT_NAMES): Add core2.
- (processor_type): Add new constant PROCESSOR_CORE2.
-
- * config/i386/i386.md (cpu): Add core2.
-
- * config/i386/i386.c (core2_cost): New initialized variable.
- (m_CORE2): New macro.
- (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
- x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop,
- x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
- x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
- x86_partial_reg_dependency, x86_memory_mismatch_stall,
- x86_accumulate_outgoing_args, x86_prologue_using_move,
- x86_epilogue_using_move, x86_arch_always_fancy_math_387,
- x86_sse_partial_reg_dependency, x86_rep_movl_optimal,
- x86_use_incdec, x86_four_jump_limit, x86_schedule,
- x86_pad_returns): Add m_CORE2.
- (override_options): Add entries for Core2.
- (ix86_issue_rate): Add case for Core2.
-
-2006-11-18 Aldy Hernandez <aldyh@redhat.com>
-
- * doc/invoke.texi: Fix mno-isel typo.
-
-2006-11-18 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/spe.md (movv4hi_internal): Add alternative for
- easy vector constant loads.
-
-2006-11-18 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
- __NO_LWSYNC__ if TARGET_NO_LWSYNC.
- * config/rs6000/sync.md (lwsync): Emit plain sync if
- TARGET_NO_LWSYNC.
-
-2006-11-17 DJ Delorie <dj@redhat.com>
-
- * reload1.c (reloads_unique_chain): New.
- (reloads_conflict): Call it.
-
-2006-11-17 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/predicates.md (addsubx_operand): New.
- * config/xtensa/xtensa.c (xtensa_emit_branch): New.
- (xtensa_emit_bit_branch): New.
- (xtensa_emit_movcc): New.
- * config/xtensa/xtensa.md (any_minmax): New code macro.
- (minmax): New code attribute.
- (any_cond, any_scc, any_scc_sf): New code macros.
- (*addx2, *addx4, *addx8): Delete.
- (*addx): New.
- (*subx2, *subx4, *subx8): Delete.
- (*subx): New.
- (sminsi3, uminsi3, smaxsi3, umaxsi3): Use any_minmax macro.
- (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Use any_cond.
- (*btrue, *bfalse, *ubtrue, *ubfalse): Use xtensa_emit_branch.
- (*bittrue, *bitfalse): Use xtensa_emit_bit_branch.
- (seq, sne, sgt, sge, slt, sle): Use any_scc macro.
- (movsicc_internal0, movsicc_internal1): Use xtensa_emit_movcc.
- (movsfcc_internal0, movsfcc_internal1): Likewise.
- (seq_sf, slt_sf, sle_sf): Use any_scc_sf macro.
- * config/xtensa/xtensa-protos.h: (xtensa_emit_branch): New.
- (xtensa_emit_bit_branch): New.
- (xtensa_emit_movcc): New.
- (function_arg_boundary): Add missing prototype.
-
-2006-11-17 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/xtensa.md (tstsi): Delete
-
-2006-11-17 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/xtensa.md (entry): Do not emit .frame directive.
-
-2006-11-17 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
-
-2006-11-17 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit.
-
-2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-vrp.c (execute_vrp): Do not update current_loops.
- * loop-unswitch.c (unswitch_loop): Do not use loop_split_edge_with.
- * doc/loop.texi: Remove documentation for cancelled functions.
- * tree-ssa-loop-im.c (loop_commit_inserts): Removed.
- (move_computations, determine_lsm): Use bsi_commit_edge_inserts
- instead.
- * cfgloopmanip.c (remove_bbs): Do not update loops explicitly.
- (remove_path): Ensure that in delete_basic_blocks, the loops
- are still allocated.
- (add_loop): Work on valid loop structures.
- (loopify): Modify call of add_loop.
- (mfb_update_loops): Removed.
- (create_preheader): Do not update loops explicitly.
- (force_single_succ_latches, loop_version): Do not use
- loop_split_edge_with.
- (loop_split_edge_with): Removed.
- * tree-ssa-loop-manip.c (create_iv, determine_exit_conditions):
- Do not use bsi_insert_on_edge_immediate_loop.
- (split_loop_exit_edge, tree_unroll_loop): Do not use
- loop_split_edge_with.
- (bsi_insert_on_edge_immediate_loop): Removed.
- * tree-ssa-loop-ch.c (copy_loop_headers): Use current_loops. Do not
- use loop_split_edge_with.
- * cfghooks.c: Include cfgloop.h.
- (verify_flow_info): Verify that loop_father is filled iff current_loops
- are available.
- (redirect_edge_and_branch_force, split_block, delete_basic_block,
- split_edge, merge_blocks, make_forwarder_block, duplicate_block):
- Update cfg.
- * cfgloopanal.c (mark_irreducible_loops): Work if the function contains
- no loops.
- * modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use
- loop_split_edge_with.
- (sms_schedule): Use current_loops.
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Use current_loops.
- * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Set
- current_loops.
- (rtl_loop_init, rtl_loop_done): Do not set current_loops.
- * tree-ssa-sink.c (execute_sink_code): Use current_loops.
- * ifcvt.c (if_convert): Ditto.
- * predict.c (predict_loops): Do not clear current_loops.
- (tree_estimate_probability): Use current_loops.
- (propagate_freq): Receive head of the region to propagate instead of
- loop.
- (estimate_loops_at_level): Do not use shared to_visit bitmap.
- (estimate_loops): New function. Handle case current_loops == NULL.
- (estimate_bb_frequencies): Do not allocate tovisit. Use
- estimate_loops.
- * tree-ssa-loop.c (current_loops): Removed.
- (tree_loop_optimizer_init): Do not return loops.
- (tree_ssa_loop_init, tree_ssa_loop_done): Do not set current_loops.
- * tree-vectorizer.c (slpeel_update_phi_nodes_for_guard1,
- slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge):
- Do not update loops explicitly.
- * function.h (struct function): Add x_current_loops field.
- (current_loops): New macro.
- * tree-if-conv.c (combine_blocks): Do not update loops explicitly.
- * loop-unroll.c (split_edge_and_insert): New function.
- (unroll_loop_runtime_iterations, analyze_insns_in_loop): Do not
- use loop_split_edge_with.
- * loop-doloop.c (add_test, doloop_modify): Ditto.
- * tree-ssa-pre.c (init_pre, fini_pre): Do not set current_loops.
- * cfglayout.c (copy_bbs): Do not update loops explicitly.
- * lambda-code.c (perfect_nestify): Do not use loop_split_edge_with.
- * tree-vect-transform.c (vect_transform_loop): Do not update loops
- explicitly.
- * cfgloop.c (flow_loops_cfg_dump): Do not dump dfs_order and rc_order.
- (flow_loops_free): Do not free dfs_order and rc_order.
- (flow_loops_find): Do not set dfs_order and rc_order in loops
- structure. Do not call loops and flow info verification.
- (add_bb_to_loop, remove_bb_from_loops): Check whether the block
- already belongs to some loop.
- * cfgloop.h (struct loops): Remove struct cfg.
- (current_loops, loop_split_edge_with): Declaration removed.
- (loop_optimizer_init, loop_optimizer_finalize): Declaration changed.
- * tree-flow.h (loop_commit_inserts, bsi_insert_on_edge_immediate_loop):
- Declaration removed.
- * Makefile.in (cfghooks.o): Add CFGLOOP_H dependency.
- * basic-block.h (split_edge_and_insert): Declare.
- * tree-cfg.c (remove_bb): Do not update loops explicitly.
-
-2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/29801
- * tree-ssa-ccp.c (get_symbol_constant_value): New function.
- (get_default_value): Use get_symbol_constant_value.
- (set_lattice_value): ICE when the value of the constant is
- changed.
- (visit_assignment): Ignore VDEFs of read-only variables.
-
-2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-vect-transform.c (vect_create_epilog_for_reduction): Fix
- formating.
- (vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
- vect_gen_niters_for_prolog_loop): Fold the emited expressions.
-
-2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-alias.c (new_type_alias): Do not use offset of expr to
- select subvars of var.
-
-2006-11-17 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/29584
- * tree-ssa-forwprop.c (simplify_switch_expr): Don't
- optimize if DEF doesn't have integral type.
-
-2006-11-16 Mike Stump <mrs@apple.com>
-
- * config/darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on
- pre-darwin9 system, unless the user asks for it directly.
- (PREFERRED_DEBUGGING_TYPE): Likewise.
- * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Likewise.
- * config.gcc: Add suppport for darwin9.h.
- * config/darwin9.h: Add.
- * doc/install.texi (Specific): Clarify darwin documentation.
-
-2006-11-16 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when
- optimizing for size.
-
-2006-11-16 Mike Stump <mrs@apple.com>
-
- * Makefile.in (targhooks.o): Add $(OPTABS_H).
-
-2006-11-16 Dirk Mueller <dmueller@suse.de>
-
- * tree-vrp.c (get_value_range): Use XCNEW instead
- of XNEW and memset.
- (insert_range_assertions): Use XCNEWVEC instead
- of XNEWVEC and memset.
- (vrp_initialize): Same.
- (vrp_finalize): Same.
- * tree-ssa-ccp.c (ccp_initialize): Same.
- * predict.c (tree_bb_level_predictions): Same.
- * calls.c (expand_call): Same.
- * tree-ssa-copy.c (init_copy_prop): Same.
- (fini_copy_prop): Same.
- * tree-ssa-alias.c (get_ptr_info): Use GGC_CNEW instead
- of GGC_NEW and memset.
-
-2006-11-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/26306
- * gimplify.c (gimplify_expr): Only force a load for references to
- non-BLKmode volatile values.
- * doc/implement-c.texi (Qualifiers implementation): Document the
- interpretation of what a volatile access is.
- * doc/extend.texi (C++ Extensions): Rework same documentation.
-
-2006-11-16 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
- memory operand.
-
-2006-11-16 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.md (abssi2): Allow Thumb as well. Use an SImode scratch for
- Thumb.
- (arm_neg_abssi2): Renamed from neg_abssi2.
- (thumb_abssi2, thumb_neg_abssi2): New patterns with splitters.
-
-2006-11-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_function_sseregparm): Fix comment:
- number of arguments passed to local functions in SSE registers is 3.
-
- * doc/invoke.texi (Function Attributes) [sseregparm]: Correct
- number of arguments passed in SSE registers to 3.
-
-2006-11-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
-
- PR target/29201
- * cfgrtl.c (rtl_delete_block): Move the code for getting last insn of
- bb to ...
- (get_last_bb_insn): ... new global function.
- (basic_block.h): Declare it.
- * haifa-sched.c (create_recovery_block): Use it.
-
-2006-11-15 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/29862
- * real.c (mpfr_from_real): Call mpfr_set_str before gcc_assert.
-
-2006-11-15 Paul Brook <paul@codesourcery.com>
-
- * config/arm/unwind-arm.c (_Unwind_GetDataRelBase,
- _Unwind_GetTextRelBase): Move from here ...
- * config/arm/pr-support.c (_Unwind_GetDataRelBase,
- _Unwind_GetTextRelBase): ... To here.
-
-2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory
- addresses we generate for testing are aligned.
-
-2006-11-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR tree-opt/29788
- * fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down
- to what is the const decl is a place holder for.
-
-2006-11-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.opt: New target option -mx87regparm.
-
- * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno
- and float_in_x87 variables. mmx_words, sse_words: Remove.
- (X87_REGPARM_MAX): Define.
-
- * config/i386/i386.c (override_options): Error out for
- -mx87regparm but no 80387 support.
- (ix86_attribute_table): Add x87regparm.
- (ix86_handle_cconv_attribute): Update comments for x87regparm.
- (ix86_comp_type_attributes): Check for mismatched x87regparm types.
- (ix86_function_x87regparm): New function.
- (ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
- point registers.
- (init_cumulative_args): Initialize x87_nregs and float_in_x87
- variables.
- (function_arg_advance): Process x87_nregs and x87_regno when
- floating point argument is to be passed in 80387 register.
- (function_arg): Pass XFmode arguments in 80387 registers for local
- functions. Pass SFmode and DFmode arguments to local functions
- in 80387 registers when flag_unsafe_math_optimizations is set.
-
- * reg-stack.c (convert_regs_entry): Disable NaN load for
- stack registers that are used for argument passing.
-
- * doc/extend.texi: Document x87regparm function attribute.
- * doc/invoke.texi: Document -mx87regparm.
-
-2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype.
- * tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): New
- arg MODE; all callers changed. Use it to determine validity per
- machine mode instead of using Pmode for all memory references.
- (get_address_cost): Likewise add and use new arg MEM_MODE.
-
-2006-11-15 Rask Ingemann Lambertsen <rask@sygehus.dk>
- J"orn Rennecke <joern.rennecke@st.com>
-
- * combine.c (likely_spilled_retval_1): Fix masking operation.
- (likely_spilled_retval_p): Use proper pattern for call to
- likely_spilled_retval_1.
-
-2006-11-15 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting.
-
- * config/bfin/bfin.c (legitimize_pic_address): Lose dead code
- that tests for CONSTANT_POOL_ADDRESS_P.
-
-2006-11-15 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/29581
- * lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
- REPLACEMENTS, FIRSTBSI arguments. If initial condition or
- type is different between Y and USE, create a temporary
- variable, initialize it at the beginning of the body bb
- and use it as replacement instead of Y.
-
-2006-11-15 Paolo Bonzini <bonzini@gnu.org>
-
- PR middle-end/29753
- * gimplify.c (fold_indirect_ref_rhs): Use
- STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.
-
-2006-11-14 Richard Earnshaw <rearnsha@arm.com>
-
- * expmed.c (emit_store_flag_1): New function.
- (emit_store_flag): Call it. If we can't find a suitable scc insn,
- try a cstore insn.
- * expr.c (do_store_flag): If we can't find a scc insn, try cstore.
- Use do_compare_rtx_and_jump.
- * arm.h (BRANCH_COST): Increase to 2 on Thumb.
- * arm.md (cstoresi4): New define_expand.
- (cstoresi_eq0_thumb, cstoresi_ne0_thumb): Likewise.
- (cstoresi_eq0_thumb_insn, cstore_ne0_thumb_insn): New patterns.
- (cstoresi_nltu_thumb, thumb_addsi3_addgeu): New patterns.
-
-2006-11-14 Caroline Tice <ctice@apple.com>
-
- * dwarf2out.c (debug_pubtypes_section): New static global variable.
- (pubname_entry): Add DEF_VEC_O and DEF_VEC_ALLOC_O statements for
- this type.
- (pubname_table): Redefine as a vector.
- (pubtype_table): New static global variable, defined as a vector.
- (pubname_table_allocated): Remove static global variable.
- (pubname_table_in_use): Remove static global variable.
- (PUBNAME_TABLE_INCREMENT): Remove constant.
- (size_of_pubnames): Add parameter to deal with either pubnames or
- pubtypes, and change code to deal with table being a vector.
- (add_pubname): Change to deal with table being a vector.
- (add_pubtype): New function.
- (output_pubnames): Add parameter to deal with either pubnames or
- pubtypes, and change code to deal with table being a vector.
- (gen_array_type_die): Add call to add_pubtype.
- (gen_enumeration_type_die): Add call to add_pubtype.
- (gen_struct_or_union_type_die): Add call to add_pubtype.
- (gen_subroutine_type_die): Add call to add_pubtype.
- (gen_typedef_die): Add call to add_pubtype.
- (dwarf2out_init): Add code to initialize pubname_table and
- pubtype_table vectors; also initialize debug_pubtypes_section.
- (prune_unused_types): Change to deal with pubnames being a vector.
- (dwarf2out_finish): Change to deal with pubnames being a vector; add
- pubnames table to call to output_pubnames; Add code to output pubtypes
- table if DEBUG_PUBTYPES_SECTION is defined.
- * config/darwin.c (darwin_file_start): Add DEBUG_PUBTYPES_SECTION to
- debugnames.
- * config/darwin.h (DEBUG_PUBTYPES_SECTION): Define new global variable.
-
-2006-11-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/arm/arm.h (FUNCTION_ARG_ADVANCE): Only adjust
- iwmmxt_nregs if TARGET_IWMMXT_ABI.
- * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
- movv2si_internal): Support moves between core registers.
-
-2006-11-14 Eric Christopher <echristo@apple.com>
-
- * configure: Regenerate with autoconf 2.59.
-
-2006-11-14 Daniel Berlin <dberlin@dberlin.org>
-
- Fix PR tree-optimization/27755
-
- * tree-ssa-pre.c: Update comments.
- (bb_bitmap_sets): Add pa_in and deferred member.
- (BB_DEFERRED): New macro.
- (maximal_set): New variable.
- (pre_stats): Add pa_insert member.
- (bitmap_set_and): Short circuit orig == dest.
- (bitmap_set_subtract_values): New function.
- (bitmap_set_contains_expr): Ditto.
- (translate_vuses_through_block): Add phiblock argument.
- (dependent_clean): New function.
- (compute_antic_aux): Update for maximal_set changes.
- (compute_partial_antic_aux): New function.
- (compute_antic): Handle partial anticipation.
- (do_partial_partial_insertion): New function.
- (insert_aux): Handle partial anticipation.
- (add_to_sets): Add to maximal set.
- (compute_avail): Ditto.
- (init_pre): Initialize maximal_set.
- (execute_pre): Do partial anticipation if -O3+.
-
-2006-11-14 Paolo Bonzini <bonzini@gnu.org>
-
- PR rtl-optimization/29798
-
- * fwprop.c (use_killed_between): Check that DEF_INSN dominates
- TARGET_INSN before any other check.
- (fwprop_init): Always calculate dominators.
- (fwprop_done): Always free them.
-
-2006-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * fold-const.c (fold_strip_sign_ops): Handle COMPOUND_EXPR and
- COND_EXPR.
-
-2006-11-13 DJ Delorie <dj@redhat.com>
-
- * config/m32c/m32c.c (m32c_prepare_shift): Use a separate
- temporary for intermediates.
-
-2006-11-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (expand_cbranchdi4): Initialize skip_label.
- (sh_optimize_target_register_callee_saved): #if 0 the code
- using NOTE_INSN_LOOP_{BEG,END}.
-
-2006-11-13 Roger Sayle <roger@eyesopen.com>
-
- * fold-const.c (optimize_bit_field_compare): Recursively call
- fold when simplifying non-constant comparisons between bit-fields.
-
-2006-11-13 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL
- test.
- * configure: Rebuilt.
-
-2006-11-13 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- * config/rs6000/cell.md: New file.
- * config/rs6000/rs6000.c (rs6000_cell_dont_microcode): New
- variable.
- (ppccell_cost): New cost matrix.
- (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define.
- (rs6000_override_options): Set rs6000_always_hint to false
- for cell. Also align functions/lables/loops to 8byte
- for the Cell. Use PROCESSOR_CELL.
- (rs6000_emit_epilogue): Rename using_mfcr_multiple to
- using_mtcr_multiple.
- (rs6000_variable_issue): If the insn is a nonpipelined instruction
- on the Cell, return 0.
- (rs6000_adjust_cost): Add Cell cost adjustments.
- (is_microcoded_insn): Return true for Cell microcoded
- instructions.
- (is_nonpipeline_insn): New function.
- (rs6000_issue_rate): Add PROCESSOR_CELL.
- (rs6000_use_sched_lookahead): If Cell, then we should look ahead 8
- instructions.
- (rs6000_use_sched_lookahead_guard): New function.
- (rs6000_sched_reorder): Reorder the ready list, if the second
- to last ready insn is a nonepipeline insn on the Cell.
- * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_CELL.
- (ASM_CPU_SPEC): Add Cell.
- * config/rs6000/rs6000.md (cpu): Add Cell.
- (cell_micro): New Attr.
- Include cell.md
-
-2006-11-13 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715
- style versions.
- * configure: Rebuilt.
-
-2006-11-13 Richard Guenther <rguenther@suse.de>
-
- * config/i386/i386.c (ix86_expand_lround): Handle expand_simple_binop
- return value.
- (ix86_expand_lfloorceil): Likewise.
- (ix86_expand_rint): Likewise.
- (ix86_expand_floorceildf_32): Likewise.
- (ix86_expand_floorceil): Likewise.
- (ix86_expand_rounddf_32): Likewise.
- (ix86_expand_truncdf_32): Likewise.
- (ix86_expand_round): Likewise.
-
-2006-11-13 Carlos O'Donell <carlos@codesourcery.com>
- Mark Mitchell <mark@codesourcery.com>
-
- * gcc.c: Organize search path variables into $prefix relative,
- and well-known native. Add comments.
- (add_sysrooted_prefix): Add comment.
- (process_command): If !gcc_exec_prefix add $prefix based paths.
- If *cross_compile == '0', add native well-known paths.
- Assert tooldir_base_prefix is always relative.
- (main): If print_search_dirs, and if gcc_exec_prefix is set,
- use this value for 'install:' path.
- * Makefile.in: Add GCC_EXEC_PREFIX to generated site.exp.
-
-2006-11-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c: Fix a typo in comment.
-
-2006-11-13 Michael Matz <matz@suse.de>
-
- * genemit.c (gen_expand): Allocate enough memory.
-
-2006-11-13 Joseph Myers <joseph@codesourcery.com>
-
- * config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define
- __GXX_TYPEINFO_EQUALITY_INLINE but not
- __GXX_MERGED_TYPEINFO_NAMES.
- * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define
- __GXX_MERGED_TYPEINFO_NAMES.
- * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
- __GXX_TYPEINFO_EQUALITY_INLINE.
-
-2006-11-13 H.J. Lu <hongjiu.lu@intel.com>
- Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/29680
- * tree-ssa-operands.c (access_can_touch_variable): Revert fix for
- PR 14784.
-
-2006-11-12 Jason Merrill <jason@redhat.com>
- Andrew Pinski <pinskia@physics.uc.edu>
-
- PR middle-end/28915
- * gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT
- vector ctors.
- * tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT
- vector ctors.
- * expmed.c (make_tree): Handle CONST, SYMBOL_REF.
- * tree.c (build_vector): Handle non-_CST elements.
-
-2006-11-12 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * genemit.c (gen_insn): Call gen_exp with a non-null used
- when handling multiple insns.
- (gen_expand): Likewise.
- * reorg.c (emit_delay_sequence): Copy the delay slot insn.
- * config/sh/sh.md (ashrsi2_31+1): Copy operands[0].
- (movsi_const_16bit+1): Copy operands[1].
- (call_pcrel): Copy the call_site pattern.
- (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
-
-2006-11-12 Roger Sayle <roger@eyesopen.com>
-
- * fold-const.c (negate_expr_p) <PLUS_EXPR, MINUS_EXPR>: Correct/refine
- condition for transformations. Use !HONOR_SIGN_DEPENDENT_ROUNDING
- && !HONOR_SIGNED_ZEROS instead of flag_unsafe_math_optimizations.
- (fold_negate_expr) <PLUS_EXPR, MINUS_EXPR>: Likewise.
-
-2006-11-12 Daniel Berlin <dberlin@dberlin.org>
-
- Fix PR tree-optimization/29587
- * tree-ssa-structalias.c (process_constraint): Don't
- mark address taken due only to escaped vars constraint.
-
-2006-11-12 Michael Matz <matz@suse.de>
- Roger Sayle <roger@eyesopen.com>
-
- PR rtl-optimization/29797
- * ifcvt.c (noce_try_bitop): Correct calculation of bitnum on
- BITS_BIG_ENDIAN targets.
-
-2006-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * builtins.c (fold_builtin_cosh): New.
- (fold_builtin_1): Use it.
- * fold-const.c (negate_mathfn_p): Add llround, lround, round,
- trunc to the list of "odd" functions. Also add llrint, lrint,
- rint and nearbyint when flag_rounding_math is false.
-
-2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-flow.h (name_mappings_registered_p): Declare.
- * tree-into-ssa.c (name_mappings_registered_p): New function.
- * tree-cfg.c (tree_can_merge_blocks_p): Check
- name_mappings_registered_p instead of need_ssa_update_p.
-
-2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop.c (tree_vectorize): Return the result of
- vectorize_loops.
- * tree-vectorizer.c (vectorize_loops): Return TODO_cleanup_cfg
- if anything changed.
- * tree-vectorizer.h (vectorize_loops): Declaration removed.
- * tree-flow.h (vectorize_loops): Declaration changed.
-
-2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve
- comments.
- (issue_prefetch_ref): Move assignment to write_p out of loop.
- (determine_unroll_factor): Do not take PARAM_MAX_UNROLL_TIMES and
- SIMULTANEOUS_PREFETCHES into account.
- (loop_prefetch_arrays): Do not pass ahead to determine_unroll_factor.
- * lambda-code.c (lcm): Renamed to ...
- (least_common_multiple): ... and exported.
- * tree-flow.h (least_common_multiple): Declare.
-
-2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
-
- * Makefile.in (tree-data-ref.o): Add langhooks.h dependency.
- * tree-ssa-loop-niter.c (derive_constant_upper_bound): Follow
- ud-chains. Handle AND_EXPR.
- (record_estimate): Record whether the estimate is realistic
- and whether it is derived from a loop exit.
- (record_nonwrapping_iv, idx_infer_loop_bounds, infer_loop_bounds_from_ref,
- infer_loop_bounds_from_array, infer_loop_bounds_from_signedness): New
- functions.
- (compute_estimated_nb_iterations): Take only realistic bounds into
- account. Set estimate_state. Use double_ints.
- (infer_loop_bounds_from_undefined): Call infer_loop_bounds_from_array
- and infer_loop_bounds_from_signedness. Do not consider basic blocks
- that do not have to be always executed.
- (estimate_numbers_of_iterations_loop): Set estimate_state, and use it
- to determine whether to call infer_loop_bounds_from_undefined
- and compute_estimated_nb_iterations.
- (n_of_executions_at_most): Use double_ints.
- (free_numbers_of_iterations_estimates_loop): Set estimate_state.
- (substitute_in_loop_info): Do not replace in estimated_nb_iterations.
- * double-int.c (double_int_to_tree): Improve comment.
- (double_int_fits_to_tree_p): New function.
- * double-int.h (double_int_fits_to_tree_p): Declare.
- * tree-data-ref.c: Include langhooks.h.
- (estimate_niter_from_size_of_data, estimate_iters_using_array): Removed.
- (analyze_array_indexes): Do not call estimate_niter_from_size_of_data.
- (analyze_array): Do not pass estimate_only argument to
- analyze_array_indexes.
- (get_number_of_iters_for_loop): Build tree from the stored double_int
- value.
- (get_references_in_stmt, find_data_references_in_stmt): New functions.
- (find_data_references_in_loop): Use find_data_references_in_stmt.
- * tree-data-ref.h (struct data_ref_loc_d): New.
- (get_references_in_stmt): Declare.
- (estimate_iters_using_array): Declaration removed.
- * cfgloop.h (struct nb_iter_bound): Change type of bound to
- double_int. Improve comments. Add is_exit and realistic
- fields.
- (struct loop): Changed type of estimated_nb_iterations to double_int.
- Added estimate_state field.
- (record_estimate): Declaration removed.
-
-2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
-
- * params.c (set_param_value): Initialize the "set" field.
- * params.h (struct param_info): Add "set" field.
- (PARAM_SET_P): New macro.
- (PREFETCH_LATENCY, SIMULTANEOUS_PREFETCHES, L1_CACHE_SIZE,
- L1_CACHE_LINE_SIZE): New macros.
- * toplev.c (DEFPARAM): Initialize the "set" field.
- * tree-ssa-loop-prefetch.c (PREFETCH_LATENCY,
- SIMULTANEOUS_PREFETCHES): Removed.
- (PREFETCH_BLOCK): Use L1_CACHE_LINE_SIZE.
- (tree_ssa_prefetch_arrays): Dump the values of the parameters.
- * config/sparc/sparc.c: Include params.h.
- (sparc_override_options): Set SIMULTANEOUS_PREFETCHES and
- L1_CACHE_LINE_SIZE parameters.
- * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
- Removed.
- * config/i386/i386.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
- Removed.
- * config/i386/i386.c: Include params.h.
- (k8_cost): Change default value for SIMULTANEOUS_PREFETCHES.
- (override_options): Set SIMULTANEOUS_PREFETCHES and
- L1_CACHE_LINE_SIZE parameters.
- * config/sh/sh.h (SIMULTANEOUS_PREFETCHES): Removed.
- (OPTIMIZATION_OPTIONS): Set SIMULTANEOUS_PREFETCHES and
- L1_CACHE_LINE_SIZE parameters.
- * config/ia64/ia64.c (ia64_optimization_options): Set
- SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters.
- * config/ia64/ia64.h (SIMULTANEOUS_PREFETCHES, PREFETCH_BLOCK):
- Removed.
- * params.def (PARAM_PREFETCH_LATENCY, PARAM_SIMULTANEOUS_PREFETCHES,
- PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE): New params.
- * doc/invoke.texi: Document new params.
-
-2006-11-12 Roger Sayle <roger@eyesopen.com>
-
- PR tree-optimization/13827
- * fold-const.c (fold_binary) <EQ_EXPR, NE_EXPR>: Fold (X&C) op (Y&C)
- as ((X^Y)&C) op 0.
-
-2006-11-12 Zdenek Dvorak <dvorakz@suse.cz>
-
- * cfgloopmanip.c (update_single_exit_for_duplicated_loop,
- update_single_exit_for_duplicated_loops): New functions.
- (duplicate_loop_to_header_edge): Use
- update_single_exit_for_duplicated_loops.
- * tree-ssa-loop-manip.c (tree_unroll_loop): Call verification
- functions only with ENABLE_CHECKING.
-
-2006-11-12 Andreas Schwab <schwab@suse.de>
-
- * except.c (sjlj_emit_function_enter): Remove unused variable.
-
-2006-11-11 Roger Sayle <roger@eyesopen.com>
-
- * fold-const.c (int_binop_types_match_p): New function.
- (size_binop): Relax constraint that both arguments must both have
- exactly the same sizetype type. Instead use int_binop_types_match_p.
- (size_diffop): Likewise.
-
- (make_range): Use build_int_cst instead of fold_convert.
- (fold_cond_expr_with_comparison): Use build_int_cst to construct
- integer constants of the correct type.
- (fold_div_compare): Likewise.
- (fold_single_bit_test): Likewise.
- (fold_binary): Likewise.
- * stor-layout.c (layout_type) <VECTOR_TYPE>: Ensure that TYPE_SIZE
- has type bitsizetype and TYPE_SIZE_UNIT has type sizetype.
-
-2006-11-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR rtl-opt/28812
- * alias.c (fixed_scalar_and_varying_struct_p): Don't return a
- non null value if the struct memory access is in the 0th
- aliasing set.
-
-2006-11-12 Jie Zhang <jie.zhang@analog.com>
-
- Revert
- 2006-11-11 Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
- and __BFIN__.
-
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std
- instead of builtin_define for bfin and BFIN.
-
-2006-11-11 Jie Zhang <jie.zhang@analog.com>
-
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
- and __BFIN__.
-
-2006-11-11 Jan Hubicka <jh@suse.cz>
-
- * extend.texi (__builtin_expect): We no longer require second argument
- to be constant.
- * gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE.
- * builtins.c (expand_builtin_expect): Simplify.
- (expand_builtin_expect_jump): Kill.
- * final.c (final_scan_insn): Do not skip the removed notes.
- * insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER,
- EXPECTED_VALUE): Remove.
- * dojump.c (do_jump): Do not care about __builtin_expect.
- * predict.c (expected_value_to_br_prob): Kill.
- * function.c (expand_function_end): Do not expand
- NOTE_INSN_REPEATED_LINE_NUMBER.
- * print-rtl.c (print_rtx): Do not pretty print the removed notes.
- * expect.c (sjlj_emit_function_enter): Emit directly branch probability.
- * cfgexpand.c (add_reg_br_prob_note): Export.
- * cfgcleanup.c (rest_of_handle_jump2): Do not call
- expected_value_to_br_prob.
- * cfglayout.c (duplicate_insn_chain): Do not deal with removed notes.
- * rtl.h (add_reg_br_prob_note): Declare.
-
-2006-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * tree-pretty-print.c (dump_generic_node): Print sign of Inf.
-
-2006-11-11 Jan Hubicka <jh@suse.cz>
-
- * predict.c (predict_loops): Kill RTL variant.
-
-2006-11-11 Jan Hubicka <jh@suse.cz>
-
- * tree-pass.h (pass_purge_lineno_notes): Remove declaration.
- * modulo-sched.c (find_line_note): Remove.
- (loop_canon_p): Do not worry about line number notes.
- (sms_schedule): Likewise.
- * cse.c (cse_main): Likewise.
- * regmove.c (fixup_match_1): Likewise
- * function.c (emit_return_info_block): Likewise.
- (expand_function_end): Likewise.
- (thread_prologue_an_epilogue_insns): Likewise.
- * cfgrtl.c (try_redirect_by_replacing_jump, rtl_tidy_fallthru_edge):
- Likewise.
- * emit-rtl.c (find_line_note, emit_insn_after_with_line_notes,
- emit_note_copy_after): Kill.
- (emit_note_copy): Do not worry about line numbers.
- * jump.c (purge_line_number_notes): Kill.
- (pass_purge_lineno_notes): Kill.
- * cfgcleanup.c (rest_of_handle_jump2): Kill purge_line_number_notes
- call.
- * rtl.h (emit_note_copy_after, emit_insn_after_with_line_notes): Kill.
- * passes.c (init_optimization_passes): Don't purge_lineno_notes.
- * sched-ebb.c (schedule_ebbs): Don't do rm_redundant_line_notes.
- * tree-pass.h (pass_purge_lineno_notes): Kill.
- * sched-ebb.c (schedule_ebb): Don't rm_line_notes,
- rm_redundant_line_notes.
- * sched-rgb.c (schedule_region): Don't rm_line_notes,
- rm_redundant_line_notes.
- * sched-int.h (rm_line_notes, rm_redundant_line_notes): Kill.
- * haifa-sched.c: Update comment about handling notes.
- (unlink_line_notes): Kill.
- (rm_line_notes): Kill.
- (save_line_notes): Simplify.
- (rm_redundant_line_notes): Kill.
-
-2006-11-11 Richard Guenther <rguenther@suse.de>
-
- * tree.def (FIX_CEIL_EXPR, FIX_FLOOR_EXPR, FIX_ROUND_EXPR):
- Remove unused tree codes.
- * tree-vrp.c (extract_range_from_unary_expr): Remove handling
- of FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
- * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
- * tree.c (stabilize_reference): Likewise.
- * fold-const.c (fold_convert_const_int_from_real, operand_equal_p,
- fold_unary): Likewise.
- * tree-gimple.c (is_gimple_cast): Likewise.
- * dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
- * expr.c (expand_expr_real_1): Likewise.
- * tree-eh.c (tree_could_trap_p): Likewise.
- * gimplify.c (gimplify_expr): Likewise.
- * tree-inline.c (estimate_num_insns_1): Likewise.
- * tree-cfg.c (verify_expr): Likewise.
-
-2006-11-11 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop.c (pass_loop_prefetch): Change name to aprefetch.
- * tree-ssa-loop-prefetch.c (dump_mem_ref): Fix target file.
- (tree_ssa_prefetch_arrays): Do not dump for removed loops.
-
-2006-11-11 Richard Sandiford <richard@codesourcery.com>
-
- PR middle-end/27528
- * stmt.c (expand_asm_operands): Use EXPAND_INITIALIZER if the
- constraints accept neither registers or memories.
-
-2006-11-11 Jie Zhang <jie.zhang@analog.com>
-
- * config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO.
- (NO_PROFILE_COUNTERS): Define as 1.
-
-2006-11-10 Roger Sayle <roger@eyesopen.com>
-
- * fold-const.c (operand_equal_p) <INTEGER_CST, REAL_CST, VECTOR_CST>:
- Don't check for TREE_CONSTANT_OVERFLOW when comparing constants.
-
-2006-11-10 Peter Bergner <bergner@vnet.ibm.com>
-
- * rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER.
-
-2006-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * builtins.c (fold_builtin_cos): Use fold_strip_sign_ops().
- (fold_builtin_hypot): Likewise.
- * fold-const.c (fold_strip_sign_ops): Handle "odd" builtins.
-
- * fold-const.c (negate_mathfn_p): Add BUILT_IN_ERF.
-
-2006-11-10 Roger Sayle <roger@eyesopen.com>
-
- * tree.c (build_int_cst_wide): Add an assertion (gcc_unreachable)
- when attempting to build INTEGER_CSTs of non-integral types.
- * expmed.c (make_tree): Use the correct type, i.e. the inner
- type, when constructing the individual elements of a CONST_VECTOR.
-
-2006-11-10 Jan Hubicka <jh@suse.cz>
-
- * cse.c (cse_process_notes): Copy the propagated value.
- * local-alloc.c (update_equiv_regs): Copy the memory RTX to be used
- in REG_EQUIV notes.
- * gcse.c (try_replace_reg): Copy the replacement.
- * i386.c (emit_i387_cw_initialization): Copy stored_mode.
- (assign_386_stack_local): Always return copied memory expression
- * function.c (instantiate_virtual_regs_in_insn): Copy the operand
- duplicates.
-
-2006-11-10 Jan Hubicka <jh@suse.cz>
-
- * final.c (final): Walk from first instruction.
- * cfglayout.c (insn_locators_initialize): Remove line number notes.
-
-2006-11-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/29777
- * config/i386/sse.md (smulv8hi3_highpart): Change from define_insn
- to define_expand.
- (umulv8hi3_highpart): Ditto.
- (vec_widen_smult_hi_v8hi): New expander.
- (vec_widen_smult_lo_v8hi): Ditto.
-
-2006-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR middle-end/29335
- * builtins.c (do_mpfr_arg3): New.
- (fold_builtin_1): Handle builtins fma, fmin and fmax.
-
-2006-11-09 Eric Christopher <echristo@apple.com>
-
- PR bootstrap/26892
- PR bootstrap/27814
- PR other/28994
- * configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks.
- * config.gcc (powerpc64-*-darwin*): New target.
- * config.host: Ditto.
- * config/rs6000/darwin64.h: New file.
- * config/rs6000/x-darwin64: Ditto.
- * config/rs6000/host-ppc64-darwin.c: Ditto.
-
-2006-11-09 Steve Ellcey <sje@cup.hp.com>
-
- * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode
- routines for integer division.
-
-2006-11-09 Daniel Jacobowitz <dan@codesourcery.com>
-
- * config/arm/t-linux (LIBGCC2_DEBUG_CFLAGS): Delete.
-
-2006-11-09 Serge Belyshev <belyshev@depni.sinp.msu.ru>
-
- PR middle-end/29726
- * fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name.
-
-2006-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * simplify-rtx.c (avoid_constant_pool_reference): Avoid calling
- simplify_subreg with BLKmode outer mode.
-
-2006-11-08 Brooks Moses <brooks.moses@codesourcery.com>
-
- * doc/invoke.texi: Minor formatting fixes in option lists.
-
-2006-11-08 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/29738
- * tree-ssa-ccp.c: Remove UNKNOWN_VAL from comments.
- (ccp_lattice_t): Remove UNKNOWN_VAL.
- (dump_lattice_value, ccp_lattice_meet, ccp_visit_phi_node):
- Do not handle UNKNOWN_VAL.
- (get_default_value): Set initial value of virtual operands to
- VARYING.
- (get_value): Always use get_default_value on uninitialized
- operands.
- (set_value_varying, surely_varying_stmt_p): New functions.
- (set_lattice_value): Do not pass argument to get_value.
- Do not handle UNKNOWN_VAL.
- (likely_value): Follow the semantics described in the comment.
- (ccp_initialize): Use surely_varying_stmt_p. Do not mark
- phi nodes DONT_SIMULATE_AGAIN.
- (ccp_fold): Do not pass argument to get_value.
- (fold_const_aggregate_ref, visit_assignment): Ditto. Do not
- handle UNKNOWN_VAL.
-
-2006-11-08 Andrew Pinski <Andrew_Pinski@playstation.sony.com>
-
- * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
- HOST_WIDE_INT_PRINT_DOUBLE_HEX instead of format buffer.
-
-2006-11-08 Roger Sayle <roger@eyesopen.com>
-
- * tree-ssa-propagate.c (set_rhs): Restructure validity tests as a
- test for inclusion rather than as a test for exclusion.
- * tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify
- the condition after calling fold_binary.
- * fold-const.c (fold_inf_compare): Remove in_gimple_form check.
- (fold_binary) <LT_EXPR, GT_EXPR, LE_EXPR, GE_EXPR>: Likewise.
- * builtins.c (fold_builtin_isascii): Likewise.
- (fold_builtin_isdigit): Likewise.
-
-2006-11-08 Carlos O'Donell <carlos@codesourcery.com>
-
- * configure.ac: Do not set PREFIX_INCLUDE_DIR if $prefix is NONE.
- * configure: Regenerate.
-
-2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
-
- * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p): Take
- enum argument instead of bool.
- (vect_analyze_operations): Call vectorizable_type_promotion.
- * tree-vectorizer.h (type_promotion_vec_info_type): New enum
- stmt_vec_info_type value.
- (supportable_widening_operation, vectorizable_type_promotion): New
- function declarations.
- * tree-vect-transform.c (vect_gen_widened_results_half): New function.
- (vectorizable_type_promotion): New function.
- (vect_transform_stmt): Call vectorizable_type_promotion.
- * tree-vect-analyze.c (supportable_widening_operation): New function.
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern):
- Add implementation.
- * tree-vect-generic.c (expand_vector_operations_1): Consider correct
- mode.
-
- * tree.def (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR):
- (VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR): New tree-codes.
- * tree-inline.c (estimate_num_insns_1): Add cases for above new
- tree-codes.
- * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
- * expr.c (expand_expr_real_1): Likewise.
- * optabs.c (optab_for_tree_code): Likewise.
- (init_optabs): Initialize new optabs.
- * genopinit.c (vec_widen_umult_hi_optab, vec_widen_smult_hi_optab,
- vec_widen_smult_hi_optab, vec_widen_smult_lo_optab,
- vec_unpacks_hi_optab, vec_unpacks_lo_optab, vec_unpacku_hi_optab,
- vec_unpacku_lo_optab): Initialize new optabs.
- * optabs.h (OTI_vec_widen_umult_hi, OTI_vec_widen_umult_lo):
- (OTI_vec_widen_smult_h, OTI_vec_widen_smult_lo, OTI_vec_unpacks_hi,
- OTI_vec_unpacks_lo, OTI_vec_unpacku_hi, OTI_vec_unpacku_lo): New
- optab indices.
- (vec_widen_umult_hi_optab, vec_widen_umult_lo_optab):
- (vec_widen_smult_hi_optab, vec_widen_smult_lo_optab):
- (vec_unpacks_hi_optab, vec_unpacku_hi_optab, vec_unpacks_lo_optab):
- (vec_unpacku_lo_optab): New optabs.
- * doc/md.texi (vec_unpacks_hi, vec_unpacks_lo, vec_unpacku_hi):
- (vec_unpacku_lo, vec_widen_umult_hi, vec_widen_umult_lo):
- (vec_widen_smult_hi, vec_widen_smult_lo): New.
- * doc/c-tree.texi (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR):
- (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR, VEC_UNPACK_HI_EXPR):
- (VEC_UNPACK_LO_EXPR, VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New.
-
- * config/rs6000/altivec.md (UNSPEC_VMULWHUB, UNSPEC_VMULWLUB):
- (UNSPEC_VMULWHSB, UNSPEC_VMULWLSB, UNSPEC_VMULWHUH, UNSPEC_VMULWLUH):
- (UNSPEC_VMULWHSH, UNSPEC_VMULWLSH): New.
- (UNSPEC_VPERMSI, UNSPEC_VPERMHI): New.
- (vec_vperm_v8hiv4si, vec_vperm_v16qiv8hi): New patterns used to
- implement the unsigned unpacking patterns.
- (vec_unpacks_hi_v16qi, vec_unpacks_hi_v8hi, vec_unpacks_lo_v16qi):
- (vec_unpacks_lo_v8hi): New signed unpacking patterns.
- (vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi):
- (vec_unpacku_lo_v8hi): New unsigned unpacking patterns.
- (vec_widen_umult_hi_v16qi, vec_widen_umult_lo_v16qi):
- (vec_widen_smult_hi_v16qi, vec_widen_smult_lo_v16qi):
- (vec_widen_umult_hi_v8hi, vec_widen_umult_lo_v8hi):
- (vec_widen_smult_hi_v8hi, vec_widen_smult_lo_v8hi): New widening
- multiplication patterns.
-
- * target.h (builtin_mul_widen_even, builtin_mul_widen_odd): New.
- * target-def.h (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN):
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
- * config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): New.
- (rs6000_builtin_mul_widen_odd): New.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined.
- * tree-vectorizer.h (enum vect_relevant): New enum type.
- (_stmt_vec_info): Field relevant chaned from bool to enum
- vect_relevant.
- (STMT_VINFO_RELEVANT_P): Updated.
- (STMT_VINFO_RELEVANT): New.
- * tree-vectorizer.c (new_stmt_vec_info): Use STMT_VINFO_RELEVANT
- instead of STMT_VINFO_RELEVANT_P.
- * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p):
- Replace calls to STMT_VINFO_RELEVANT_P with STMT_VINFO_RELEVANT,
- and boolean variable with enum vect_relevant.
- (vect_mark_stmts_to_be_vectorized): Likewise + update documentation.
- * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): New.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
-
- 2006-11-08 Richard Henderson <rth@redhat.com>
-
- * config/i386/sse.md (vec_widen_umult_hi_v8hi,
- vec_widen_umult_lo_v8hi): New.
- (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si,
- vec_widen_umult_hi_v4si, vec_widen_umult_lo_v4si): New.
-
- * config/i386/i386.c (ix86_expand_sse_unpack): New.
- * config/i386/i386-protos.h (ix86_expand_sse_unpack): New.
- * config/i386/sse.md (vec_unpacku_hi_v16qi, vec_unpacks_hi_v16qi,
- vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi, vec_unpacku_hi_v8hi,
- vec_unpacks_hi_v8hi, vec_unpacku_lo_v8hi, vec_unpacks_lo_v8hi,
- vec_unpacku_hi_v4si, vec_unpacks_hi_v4si, vec_unpacku_lo_v4si,
- vec_unpacks_lo_v4si): New.
-
- 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
-
- * tree-vect-transform.c (vectorizable_type_demotion): New function.
- (vect_transform_stmt): Add case for type_demotion_vec_info_type.
- (vect_analyze_operations): Call vectorizable_type_demotion.
- * tree-vectorizer.h (type_demotion_vec_info_type): New enum
- stmt_vec_info_type value.
- (vectorizable_type_demotion): New function declaration.
- * tree-vect-generic.c (expand_vector_operations_1): Consider correct
- mode.
-
- * tree.def (VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New tree-codes.
- * expr.c (expand_expr_real_1): Add case for VEC_PACK_MOD_EXPR and
- VEC_PACK_SAT_EXPR.
- * tree-iniline.c (estimate_num_insns_1): Likewise.
- * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
- * optabs.c (optab_for_tree_code): Likewise.
-
- * optabs.c (expand_binop): In case of vec_pack_*_optabs the mode
- compared against the predicate of the result is not 'mode' (the input
- to the function) but a mode with half the size of 'mode'.
- (init_optab): Initialize new optabs.
- * optabs.h (OTI_vec_pack_mod, OTI_vec_pack_ssat, OTI_vec_pack_usat):
- New optab indices.
- (vec_pack_mod_optab, vec_pack_ssat_optab, vec_pack_usat_optab): New
- optabs.
- * genopinit.c (vec_pack_mod_optab, vec_pack_ssat_optab):
- (vec_pack_usat_optab): Initialize new optabs.
- * doc/md.texi (vec_pack_mod, vec_pack_ssat, vec_pack_usat): New.
- * config/rs6000/altivec.md (vec_pack_mod_v8hi, vec_pack_mod_v4si): New.
-
- 2006-11-08 Richard Henderson <rth@redehat.com>
-
- * config/i386/sse.md (vec_pack_mod_v8hi, vec_pack_mod_v4si):
- (vec_pack_mod_v2di, vec_interleave_highv16qi, vec_interleave_lowv16qi):
- (vec_interleave_highv8hi, vec_interleave_lowv8hi):
- (vec_interleave_highv4si, vec_interleave_lowv4si):
- (vec_interleave_highv2di, vec_interleave_lowv2di): New.
-
- 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
-
- * tree-vect-transform.c (vectorizable_reduction): Support multiple
- datatypes.
- (vect_transform_stmt): Removed redundant code.
-
- 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
-
- * tree-vect-transform.c (vectorizable_operation): Support multiple
- datatypes.
-
- 2006-11-08 Dorit Nuzman <dorit@il.ibm.com>
-
- * tree-vect-transform.c (vect_align_data_ref): Removed.
- (vect_create_data_ref_ptr): Added additional argument - ptr_incr.
- Updated function documentation. Return the increment stmt in ptr_incr.
- (bump_vector_ptr): New function.
- (vect_get_vec_def_for_stmt_copy): New function.
- (vect_finish_stmt_generation): Create a stmt_info to newly created
- vector stmts.
- (vect_setup_realignment): Call vect_create_data_ref_ptr with additional
- argument.
- (vectorizable_reduction, vectorizable_assignment): Not supported yet if
- VF is greater than the number of elements that can fit in one vector
- word.
- (vectorizable_operation, vectorizable_condition): Likewise.
- (vectorizable_store, vectorizable_load): Support the case that the VF
- is greater than the number of elements that can fit in one vector word.
- (vect_transform_loop): Don't fail in case of multiple data-types.
- * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't fail
- in case of multiple data-types; the smallest type determines the VF.
- (vect_analyze_data_ref_dependence): Don't record datarefs as same_align
- if they are of different sizes.
- (vect_update_misalignment_for_peel): Compare misalignments in terms of
- number of elements rather than number of bytes.
- (vect_enhance_data_refs_alignment): Fix/Add dump printouts.
- (vect_can_advance_ivs_p): Fix a dump printout
-
-2006-11-07 Eric Christopher <echristo@apple.com>
-
- * libgcc2.c (__bswapdi2): Rename from bswapDI2.
- (__bswapsi2): Ditto.
- * libgcc2.h: Remove transformation of bswap routines.
- * config/i386/i386.md (bswapsi2): New.
- (bswapdi2): Ditto.
-
-2006-11-07 Jakub Jelinek <jakub@redhat.com>
-
- * c-common.c (c_common_attributes): Add gnu_inline attribyte.
- (handle_gnu_inline_attribute): New function.
- * c-decl.c (diagnose_mismatched_decls): Handle gnu_inline attribute.
- (merge_decls, start_decl, start_function): Likewise.
- * doc/extend.texi: Document gnu_inline attribute.
-
-2006-11-07 Steve Ellcey <sje@cup.hp.com>
-
- PR other/25028
- * config/ia64/t-hpux (LIB1ASMFUNCS): Filter out _fixtfdi,
- _fixunstfdi, and _floatditf
-
-2006-11-06 Anatoly Sokolov <aesok@post.ru>
-
- * config/avr/avr-protos.h (mask_one_bit_p, const_int_pow2_p): Remove
- prototype.
- * config/avr/avr.c (mask_one_bit_p, const_int_pow2_p): Remove.
- (output_movhi, ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out,
- lshrhi3_out, lshrsi3_out): Remove unnecessary code for handling value
- which start in an odd register.
-
-2006-11-07 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/mips.h (ISA_HAS_PREFETCHX): Fix typo.
-
-2006-11-07 Josh Conner <jconner@apple.com>
-
- * doc/invoke.texi (fstrict-aliasing): Move implementation
- details...
- * doc/tree-ssa.texi (Alias analysis): ...here.
-
-2006-11-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/29610
- * tree-cfgcleanup.c (cleanup_control_flow): Honor return value
- of tree_purge_dead_eh_edges as it may free dominators.
-
- * g++.dg/other/pr29610.C: New testcase.
-
-2006-11-07 David Ung <davidu@mips.com>
-
- * config/mips/mips.c (mips_rtx_cost_optimize_size): New table of
- costs when optimizing for size.
- (override_options): Use mips_rtx_cost_optimize_size table for cost
- calculations.
-
-2006-11-07 Jie Zhang <jie.zhang@analog.com>
-
- * gcc.c (process_command): Treat -b as normal switch if its argument
- has no dash.
-
-2006-11-07 David Ung <davidu@mips.com>
-
- * config/mips/mips.h (ISA_HAS_PREFETCHX): Add ISA_MIPS32R2 to the
- list.
-
-2006-11-06 Eric Christopher <echristo@apple.com>
-
- * config.gcc: Add x86_64-darwin host support.
- * config.host: Ditto.
- * config/i386/darwin64.h: New file.
- * config/i386/t-darwin64: Ditto.
-
-2006-11-06 Janis Johnson <janis187@us.ibm.com>
-
- * gcc/doc/sourcebuild.texi (Test Directives): Add output-exists
- and output-exists-not.
-
-2006-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR tree-opt/29439
- * tree-vrp.c (vrp_int_const_binop): Use the correct tree when
- checking for overflow.
-
-2006-11-06 Jan van Dijk <jan@etpmod.phys.tue.nl>
-
- * configure.ac: Fixed typo in case statement: :: changed to ;;
-
-2006-11-06 Bob Wilson <bob.wilson@acm.org>
-
- * longlong.h (__xtensa__): Add definitions for umul_ppmm, __umulsidi3,
- count_leading_zeros, and count_trailing_zeros.
- * config/xtensa/xtensa.c (TARGET_INIT_BUILTINS): Define.
- (TARGET_FOLD_BUILTIN): Define.
- (TARGET_EXPAND_BUILTIN): Define.
- (xtensa_init_builtins): New.
- (xtensa_fold_builtin): New.
- (xtensa_expand_builtin): New.
- (xtensa_rtx_costs): Add CTZ and CLZ. Adjust costs for MULT.
- * config/xtensa/xtensa.h (TARGET_MUL32_HIGH): Define.
- (CLZ_DEFINED_VALUE_AT_ZERO): Define.
- (CTZ_DEFINED_VALUE_AT_ZERO): Define.
- * config/xtensa/xtensa.md (UNSPEC_NSAU): Remove.
- (any_extend): New code macro.
- (u, su): New code attributes.
- (<u>mulsidi3, <u>mulsi3_highpart, clzsi2, ctzsi2): New.
- (nsau): Remove; replaced by clzsi2.
- (ffssi2): Use clzsi2.
- * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _umulsidi3,
- _clzsi2, _ctzsi2, and _ffssi2. Rename _nsau to _clz.
- * config/xtensa/lib1funcs.asm (__mulsi3): Support Mul32 option.
- (__umulsidi3, __clzsi2, __ctzsi2, __ffssi2): New.
- (__nsau_data): Guard with ifdef L_clz instead of L_nsau.
-
-2006-11-06 Vladimir Prus <vladimir@codesourcery.com>
-
- * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do no
- set inhibit_libc.
- * config/arm/t-strongarm-elf: Likewise.
- * config/arm/t-pe: Likewise.
- * config/arm/t-arm-elf: Likewise.
- * config/arm/t-xscale-elf: Likewise.
- * config/arm/t-arm-coff: Likewise.
- * config/arm/t-xscale-coff: Likewise.
- * config/arm/t-wince-pe: Likewise.
-
-2006-11-05 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/lib1funcs-4-300.asm: Guard entire file with
- #if !__SHMEDIA__ .
-
-2006-11-05 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/29695
- * fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
- simplification.
-
-2006-11-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/26915
- * config/i386/i386.c (standard_80387_constant_p): Treat -0.0 and -1.0
- as a valid 80387 constant.
- (standard_80387_constant_opcode): Return "#" for -0.0 and -1.0.
- * config/i386/i386.md (unnamed splitter): Split the load of
- constant -0.0 or -1.0 into the load of 0.0 or 1.0, followed
- by negation.
-
-2006-11-04 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (thumb_legitimate_addres_p): Allow any constant offset
- from the soft-frame, argument and virtual registers.
-
-2006-11-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movxf_nointeger, *movxf_integer): Enable
- patterns for standard 80387 constants.
-
-2006-11-03 Paolo Bonzini <bonzini@gnu.org>
- Steven Bosscher <steven@gcc.gnu.org>
-
- * fwprop.c: New file.
- * Makefile.in: Add fwprop.o.
- * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New.
- * passes.c (init_optimization_passes): Schedule forward propagation.
- * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second
- parameter.
- * timevar.def (TV_FWPROP): New.
- * common.opt (-fforward-propagate): New.
- * opts.c (decode_options): Enable forward propagation at -O2.
- * gcse.c (one_cprop_pass): Do not run local cprop unless touching jumps.
- * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1, find_best_addr,
- canon_for_address, table_size): Remove.
- (new_basic_block, insert, remove_from_table): Remove references to
- table_size.
- (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make
- simplification loop more straightforward by not calling fold_rtx
- recursively.
- (equiv_constant): Move here a small part of fold_rtx_subreg,
- do not call fold_rtx. Call avoid_constant_pool_reference
- to process MEMs.
- * recog.h (canonicalize_change_group): New.
-
- * doc/invoke.texi (Optimization Options): Document fwprop.
- * doc/passes.texi (RTL passes): Document fwprop.
-
-2006-11-03 Geoffrey Keating <geoffk@apple.com>
-
- * c-decl.c (WANT_C99_INLINE_SEMANTICS): New, set to 1.
- (merge_decls): Implement WANT_C99_INLINE_SEMANTICS.
- (grokdeclarator): Likewise.
-
-2006-11-03 Steven Bosscher <steven@gcc.gnu.org>
-
- * tree-dump.c (dump_enable_all): Rename local variable
- ir_type to avoid name conflicts.
- * cfgloopmanip.c (lv_adjust_loop_entry_edge): Check for IR_GIMPLE
- instead of using ir_type().
- * profile.c (tree_register_profile_hooks): Likewise.
- * value-prof.c (tree_register_value_prof_hooks): Likewise.
- * basic-block.h (struct edge_def): Likewise.
- * config/arm/arm.c (legitimize_pic_address): Likewise.
- * coretypes.h (ir_type): New enum of all intermediate languages
- used in GCC.
- * cfghooks.c (ir_type): Rename to...
- (current_ir_type): ...this. Distinguish between cfgrtl and
- cfglayout mode when the current IR is RTL. Return enum ir_type.
- * cfghooks.h (ir_type): Replace with current_ir_type prototype.
-
-2006-11-03 Paul Brook <paul@codesourcery.com>
-
- * config/arm/arm.c (arm_file_start): New function.
- (TARGET_ASM_FILE_START): Define.
- (arm_default_cpu): New variable.
- (arm_override_options): Set arm_default_cpu.
-
-2006-11-03 David Ung <davidu@mips.com>
-
- * config/mips/mips.h (processor_type): Removed PROCESSOR_24K, add
- PROCESSOR_24KC and PROCESSOR_24KF.
- * config/mips/mips.c (mips_cpu_info_table): Add processor names
- and aliases for 4kec/4kem/4kep/24kec/24kef/24kex/34kc/34kf/34kx.
- (mips_rtx_cost_data): Add costs for the 24kc.
- * config/mips/mips.md ("cpu"): Remove 24k, add 24kc and 24kf.
- * config/mips/24k.md: Remove references to 24k and replace with
- uses of 24kc/24kf in the appropriate reservations.
- * doc/invoke.texi (MIPS Options): Updated.
-
-2006-11-03 J"orn Rennecke <joern.rennecke@st.com>
-
- * config/sh/crt1.asm: Fix #ifdef indent.
-
-2006-11-03 J"orn Rennecke <joern.rennecke@st.com>
- Merged from STMicroelectronics sources:
- 2006-10-06 Andrew Stubbs <andrew.stubbs@st.com>
- * config/sh/crt1.asm (vbr_600): Add missing #if.
- 2006-08-03 J"orn Rennecke <joern.rennecke@st.com>
- * sh.opt (mfused-madd): New option.
- * sh.md (mac_media, macsf3): Make conditional on TARGET_FMAC.
- 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com>
- * config/sh/crt1.asm (vbr_start): Move to new section .test.vbr.
- Remove pointless handler at VBR+0.
- (vbr_200, vbr_300, vbr_500): Remove pointless handler.
- (vbr_600): Save and restore mach and macl, fpul and fpscr and fr0 to
- fr7. Make sure the timer handler is called with the correct FPU
- precision setting, according to the ABI.
- 2006-06-14 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/sh.opt (m2a-single, m2a-single-only): Fix Condition.
- * config/sh/sh.h (SUPPORT_SH2A_NOFPU): Fix condition.
- (SUPPORT_SH2A_SINGLE_ONLY, SUPPORT_SH2A_SINGLE_ONLY): Likewise.
- 2006-06-09 J"orn Rennecke <joern.rennecke@st.com>
- * sh.md (cmpgeusi_t): Change into define_insn_and_split. Accept
- zero as second operand.
- 2006-04-28 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
- Fixed some bugs related to negative values, in particular -0
- and overflow at -0x80000000.
- * config/sh/divcost-analysis: Added sh4-300 figures.
- 2006-04-27 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/t-sh (MULTILIB_MATCHES): Add -m4-300* / -m4-340 options.
- 2006-04-26 J"orn Rennecke <joern.rennecke@st.com>
- * config/sh/t-sh (OPT_EXTRA_PARTS): Add libgcc-4-300.a.
- ($(T)div_table-4-300.o, $(T)libgcc-4-300.a): New rules.
- * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
- New files.
- * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-4-300 for -m4-300* /
- -m4-340.
- 2006-04-24 J"orn Rennecke <joern.rennecke@st.com>
- SH4-300 scheduling description & fixes to SH4-[12]00 description:
- * sh.md: New instruction types: fstore, movi8, fpscr_toggle, gp_mac,
- mac_mem, mem_mac, dfp_mul, fp_cmp.
- (insn_class, dfp_comp, any_fp_comp): Update.
- (push_fpul, movsf_ie, fpu_switch, toggle_sz, toggle_pr): Update type.
- (cmpgtsf_t, "cmpeqsf_t, cmpgtsf_t_i4, cmpeqsf_t_i4): Likewise.
- (muldf3_i): Likewise.
- (movsi_i): Split rI08 alternative into two separate alternatives.
- Update type.
- (movsi_ie, movsi_i_lowpart): Likewise.
- (movqi_i): Split ri alternative into two separate alternatives.
- Update type.
- * sh1.md (sh1_load_store, sh1_fp): Update.
- * sh4.md (sh4_store, sh4_mac_gp, fp_arith, fp_double_arith): Update.
- (mac_mem, sh4_fpscr_toggle): New insn_reservations.
- * sh4a.md (sh4a_mov, sh4a_load, sh4a_store, sh4a_fp_arith): Update.
- (sh4a_fp_double_arith): Likewise.
- * sh4-300.md: New file.
- * sh.c (sh_handle_option): Handle m4-300* options.
- (sh_adjust_cost): Fix latency of auto-increments.
- Handle SH4-300 differently than other SH4s. Check for new insn types.
- * sh.h (OVERRIDE_OPTIONS): Initilize sh_branch_cost if it has not
- been set by an option.
- * sh.opt (m4-300, m4-100-nofpu, m4-200-nofpu): New options.
- (m4-300-nofpu, -m4-340, m4-300-single, m4-300-single-only): Likewise.
- (mbranch-cost=): Likewise.
- * superh.h (STARTFILE_SPEC): Take -m4-340 into account.
-
- * sh.md (mulsf3): Remove special expansion code.
- (mulsf3_ie): Now a define_insn_and_split.
- (macsf3): Allow for TARGET_SH4.
-
- * sh.md (cbranchsi4, cbranchdi4, cbranchdi4_i): New patterns.
- * sh.c (prepare_cbranch_operands, expand_cbranchsi4): New functions.
- (expand_cbranchdi4): Likewise.
- (sh_rtx_costs): Give lower cost for certain CONST_INT values and for
- CONST_DOUBLE if the outer code is COMPARE.
- * sh.h (OPTIMIZATION_OPTIONS): If not optimizing for size, set
- TARGET_CBRANCHDI4 and TARGET_EXPAND_CBRANCHDI4.
- (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, clear TARGET_CBRANCHDI4.
- (LEGITIMATE_CONSTANT_P): Also allow DImode and VOIDmode CONST_DOUBLEs.
- Remove redundant fp_{zero,one}_operand checks.
- * sh.opt (mcbranchdi, mexpand-cbranchdi, mcmpeqdi): New options.
- * sh-protos.h (prepare_cbranch_operands, expand_cbranchsi4): Declare.
- (expand_cbranchdi4): Likewise.
- 2006-04-20 J"orn Rennecke <joern.rennecke@st.com>
- * sh.h (LOCAL_ALIGNMENT): Use DATA_ALIGNMENT.
-
-2006-11-02 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- * doc/md.texi (RS6000 constraints): Document H, Z, a, t, and W
- constraints.
-
-2006-11-02 Brooks Moses <brooks.moses@codesourcery.com>
-
- * doc/invoke.texi: Fix mfp-trap-mode typo.
-
-2006-11-02 Carlos O'Donell <carlos@codesourcery.com>
-
- * config/arm/linux-elf.h (NEED_INDICATE_EXEC_STACK): Define as 1.
- * arm.c (arm_file_end): If NEED_INDICATE_EXEC_STACK call
- file_end_indicate_exec_stack.
- * arm.h [!NEED_INDICATE_EXEC_STACK] (NEED_INIDCATE_EXEC_STACK):
- Define as 0.
- * lib1funcs.asm [__ELF__ && __linux__]: Emit .note.GNU-stack section
- for a non-executable stack.
- * crti.asm: Likewise.
- * crtn.asm: Likewise.
- * libunwind.S: Likewise.
-
-2006-11-02 Ben Elliston <bje@au.ibm.com>
-
- * tree-ssa.c (warn_uninit): Use expand_location variables for
- locus and declaration locus.
-
-2006-11-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/27405
- * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
- (cmpsi{eq,gt,gtu}{si,di}_media): Rename to
- cmp{eq,gt,gtu}{si,di}_media.
- (*cmpne0si_media): Remove.
- (*movsicc_umin): Adjust gen_cmp*_media call.
- (unordered): Change the mode of unordered and operands[1] to
- SImode.
- (seq): Adjust gen_cmp*_media calls. Make the mode of
- a temporary result of compare SImode if needed. If the mode
- of operands[0] is DImode, extend the temporary result to DImode.
- (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
- (sunorderd): Change the mode of match_operand and unorderd to
- SImode.
- (cmpeq{sf,df}_media): Remove.
- (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
- (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
- and compare operation to SImode.
-
-2006-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build
- instructions.
- (sparc64-sun-solaris2*): Likewise.
-
-2006-11-02 Paul Brook <paul@codesourcery.com>
-
- * config/arm/arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED
- from priority argument. Use different section for non-default
- priority.
- * config/arm/elf.h: Remove definition of SUPPORTS_INIT_PRIORITY.
-
-2006-11-02 Eric Botcazou <ebotcazou@adacore.com>
-
- PR other/29639
- * except.c (switch_to_exception_section): Do not cache the section
- if named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
- and flag_function_sections is set.
-
-2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR middle-end/29335
- * builtins.c (do_mpfr_sincos): New.
- (fold_builtin_1): Use it to fold builtin sincos.
-
-2006-11-01 Roger Sayle <roger@eyesopen.com>
-
- * config/darwin.h (CPP_SPEC): Handle -pthread, transforming
- it into -D_REENTRANT.
-
-2006-11-01 Roger Sayle <roger@eyesopen.com>
-
- * configure.ac (HAVE_AS_IX86_DIFF_SECT_DELTA): New test to determine
- whether the assembler supports taking the difference of symbols in
- different sections. On x86/Solaris, GAS does but Solaris as doesn't.
- * configure: Regenerate.
- * config.in: Regenerate.
- * config/i386/sol2-10.h (JUMP_TABLES_IN_TEXT_SECTION): Define if
- the assembler doesn't support taking the difference of symbols in
- different sections, i.e. we're using the native solaris assembler.
-
-2006-11-01 Pete Steinmetz <steinmtz@us.ibm.com>
- Peter Bergner <bergner@vnet.ibm.com>
-
- * doc/invoke.texi: Add cpu_type power6x
- (RS/6000 and PowerPC Options): Add -mmfpgpr.
- * config.gcc: Add cpu_type power6x.
- * configure.ac: Add test for mf{t,f}gpr instructions.
- (HAVE_AS_MFPGPR): New.
- * config.in: Regenerate.
- * configure: Regenerate.
- * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6x.
- * config/rs6000/rs6000.md (define_attr "type"): Add insert_dword,
- shift,trap,var_shift_rotate,cntlz,exts, var_delayed_compare, mffgpr
- and mftgpr attributes.
- (define_attr "cpu"): Add power6.
- Change instruction sequences to use new attributes.
- (floatsidf2,fix_truncdfsi2): use TARGET_MFPGPR.
- (fix_truncdfsi2_mfpgpr): New.
- (floatsidf_ppc64_mfpgpr): New.
- (floatsidf_ppc64): Added !TARGET_MFPGPR condition.
- (movdf_hardfloat64_mfpgpr,movdi_mfpgpr): New.
- (movdf_hardfloat64): Added !TARGET_MFPGPR condition.
- (movdi_internal64): Added !TARGET_MFPGPR and related conditions.
- (fix_truncdfsi2): Use gpc_reg_operand constraint.
- * config/rs6000/{6xx.md,power4.md,8540.md,603.md,mpc.md,
- 7xx.md,rios2.md,7450.md,440.md,rios1.md,rs64.md,power5.md,40x.md}:
- Add descriptions for insert_dword, shift,trap,var_shift_rotate,
- cntlz,exts and var_delayed_compare.
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
- _ARCH_PWR6X, if features enabled.
- * config/rs6000/rs6000.opt (mmfpgpr): New.
- * config/rs6000/rs6000.c (rs6000_align_branch_targets): New variable.
- (cached_can_issue_more): New variable.
- (processor_costs): Add power6_cost.
- (rs6000_sched_init): New function.
- (is_dispatch_slot_restricted): Deleted.
- (set_to_load_agen): New function.
- (is_load_insn,is_store_insn): New functions.
- (adjacent_mem_locations): New function.
- (insn_must_be_first_in_group): New function.
- (insn_must_be_last_in_group): New function.
- (rs6000_sched_reorder): New function.
- (rs6000_sched_reorder2): New function.
- (TARGET_SCHED_INIT,TARGET_SCHED_REORDER,
- TARGET_SCHED_REORDER2): Define.
- (processor_target_table): Use PROCESSOR_POWER6 for power6.
- Add power6x. Add MASK_MFPGPR for power6x.
- (POWERPC_MASKS): Add MASK_MFPGPR.
- (rs6000_override_options): Set rs6000_always_hint to false
- for power6. Set rs6000_align_branch_targets. Replace
- rs6000_sched_groups check with rs6000_align_branch_targets.
- Use PROCESSOR_POWER6.
- (last_scheduled_insn): New variable.
- (load_store_pendulum): New variable.
- (rs6000_variable_issue): Set last_scheduled_insn and
- cached_can_issue_more.
- (rs6000_adjust_cost): Add power6 cost adjustments.
- (rs6000_adjust_priority): Replace is_dispatch_slot_restricted
- with insn_must_be_first_in_group. Add power6 priority adjustments.
- (rs6000_issue_rate): Add CPU_POWER6.
- (insn_terminates_group_p): Use insn_must_be_{first,last}_in_group.
- * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER6.
- (TARGET_MFPGPR): New.
- (SECONDARY_MEMORY_NEEDED): Use TARGET_MFPGPR.
- (ASM_CPU_SPEC): Add power6x.
- (SECONDARY_MEMORY_NEEDED): Added mode!=DFmode and mode!=DImode
- conditions.
- * config/rs6000/power6.md: New file.
-
-2006-11-01 Adam Nemet <anemet@caviumnetworks.com>
-
- * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
- HOST_WIDE_INT_PRINT to print high and low parts. Use
- HOST_BITS_PER_WIDE_INT for the width of HOST_WIDE_INT. When
- printing a hexadecimal number prefix it with 0x.
-
-2006-11-01 Chris Johns <chris@contemporary.net.au>
-
- PR bootstrap/28400
- * Makefile.in (install-driver): Use exeext when installing
- $target-gcc-$version.
-
-2006-11-01 Douglas Gregor <doug.gregor@gmail.com>
-
- * c-common.c (flag_cpp0x): New.
- * c-common.h (flag_cpp0x): New.
- * c-cppbuiltin.c (c_cpp_builtins): If C++0x extensions are
- supported, define __GXX_EXPERIMENTAL_CPP0X__.
- * c-opts.c (set_std_cxx0x): New.
- (c_common_handle_option): Handle -std=c++0x, -std=gnu++0x.
- * c.opt (std=c++0x): Document.
- (std=gnu++0x): Ditto.
- * doc/cpp.texi: Document __GXX_EXPERIMENTAL_CPP0X__.
- * doc/invoke.texi: Document -std=c++0x, -std=gnu++0x.
-
-2006-11-01 Richard Guenther <rguenther@suse.de>
-
- * config/i386/i386.c (ix86_expand_rint): Fix issues with
- signed zeros.
- (ix86_expand_floorceildf_32): Likewise.
- (ix86_expand_floorceil): Likewise.
- (ix86_expand_trunc): Likewise.
-
-2006-10-31 Andrew Pinski <pinskia@gmail.com>
-
- * doc/invoke.texi (-fkeep-inline-functions): Change "GNU C"
- to "GNU C89".
-
-2006-11-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * target.h (targetm.cxx.use_atexit_for_cxa_atexit): New target
- hook.
- * target-def.h: (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Define
- default.
- * config/i386/mingw32.h (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT):
- Override default.
- * doc/tm.texi (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Document.
- * configure.ac (use_cxa_atexit): As a special case, don't test
- for libc definition of __cxa_atexit on mingw32
- * configure: Regenerate.
- * config.gcc (i[34567]86-pc-mingw32): Default to
- enable__cxa_atexit=yes.
-
-2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- PR 23067
- * c-decl.c (start_struct): Don't create self-containing
- structures.
- * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
- New.
- * config/rs6000/rs6000-protos.h
- (darwin_rs6000_special_round_type_align): New.
- * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite.
- (ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * toplev.c (compile_file): Call final_write_globals
- even if there have been errors.
-
-2006-10-31 Eric Christopher <echristo@apple.com>
- Falk Hueffner <falk@debian.org>
-
- * doc/extend.texi (__builtin_bswap32): Document.
- (__builtin_bswap64): Ditto.
- * doc/libgcc.texi (bswapsi2): Document.
- (bswapdi2): Ditto.
- * doc/rtl.texi (bswap): Document.
- * optabs.c (expand_unop): Don't widen a bswap.
- (init_optabs): Init bswap. Set libfuncs explicitly
- for bswapsi2 and bswapdi2.
- * optabs.h (OTI_bswap): New.
- (bswap_optab): Ditto.
- * genopinit.c (optabs): Handle bswap_optab.
- * tree.h (tree_index): Add TI_UINT32_TYPE and
- TI_UINT64_TYPE.
- (uint32_type_node): New.
- (uint64_type_node): Ditto.
- * tree.c (build_common_tree_nodes_2): Initialize
- uint32_type_node and uint64_type_node.
- * builtins.c (expand_builtin_bswap): New.
- (expand_builtin): Call.
- (fold_builtin_bswap): New.
- (fold_builtin_1): Call.
- * fold-const.c (tree_expr_nonnegative_p): Return true
- for bswap.
- * builtin-types.def (BT_UINT32): New.
- (BT_UINT64): Ditto.
- (BT_FN_UINT32_UINT32): Ditto.
- (BT_FN_UINT64_UINT64): Ditto.
- * builtins.def (BUILT_IN_BSWAP32): New.
- (BUILT_IN_BSWAP64): Ditto.
- * rtl.def (BSWAP): New.
- * genattrtab.c (check_attr_value): New.
- * libgcc2.c (__bswapSI2): New.
- (__bswapDI2): Ditto.
- * libgcc2.h (__bswapSI2): Declare.
- (__bswapDI2): Ditto.
- * mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2.
- * simplify-rtx.c (simplify_const_unary_operation): Return
- 0 for BSWAP.
- * libgcc-std.ver (__bwapsi2): Add.
- (__bswapdi2): Ditto.
- * reload1.c (eliminate_regs_1): Add bswap.
- (elimination_effects): Ditto.
- * config/i386/i386.h (x86_bswap): New.
- (TARGET_BSWAP): Use.
- * config/i386/i386.c (x86_bswap): Set.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * coverage.c (coverage_checksum_string): Update comment.
- * dwarf2out.c (switch_to_eh_frame_section): Update for removal
- of get_file_function_name.
- * cgraphunit.c (cgraph_build_static_cdtor): Update for rename
- of get_file_function_name_long.
- * tree.c (get_file_function_name): Rename from
- get_file_function_name_long; improve comment; handle 'I' and 'D'
- specially when the target has ctor/dtor support; remove special
- handling for 'F'.
- (get_file_function_name): Remove.
- * tree.h (get_file_function_name): Rename from
- get_file_function_name_long.
- (get_file_function_name): Remove prototype.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Remove.
- * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
-
- * config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@.
- Call dsymutil when compiling and linking one or more source files
- in one step.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- PR 15834
- * config/darwin.h (NO_IMPLICIT_EXTERN_C): Define.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on
- inline static functions in c99 mode.
-
- PR 16622
- * doc/extend.texi (Inline): Update.
- * c-tree.h (struct language_function): Remove field 'extern_inline'.
- * c-decl.c (current_extern_inline): Delete.
- (pop_scope): Adjust test for an undefined nested function.
- Add warning about undeclared inline function.
- (diagnose_mismatched_decls): Update comments. Disallow overriding
- of inline functions in a translation unit in C99. Allow inline
- declarations in C99 at any time.
- (merge_decls): Boolize variables. Handle C99 'extern inline'
- semantics.
- (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle
- C99 inline semantics.
- (start_function): Don't clear current_extern_inline. Don't set
- DECL_EXTERNAL.
- (c_push_function_context): Don't push current_extern_inline.
- (c_pop_function_context): Don't restore current_extern_inline.
-
- PR 11377
- * c-typeck.c (build_external_ref): Warn about static variables
- used in extern inline functions.
- * c-decl.c (start_decl): Warn about static variables declared
- in extern inline functions.
-
-2006-10-31 Roger Sayle <roger@eyesopen.com>
-
- PR middle-end/23470
- * tree.h (tree_expr_nonnegative_p): Return "bool" instead of "int".
- * fold-const.c (tree_expr_nonnegative_p): Likewise. Consider
- pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative
- or y is an even integer.
-
-2006-10-31 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR target/24071
- * gthr-posix.h (__gthread_active_p): New implementation on Solaris.
- * gthr-posix95.h (__gthread_active_p): Likewise.
-
-2006-10-31 Richard Guenther <rguenther@suse.de>
-
- * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
- acossf2, acosxf2, log1psf2, log1pdf2, log1pxf2, ilogbsi2,
- expsf2, expdf2, expxf2, exp10sf2, exp10df2, exp10xf2,
- exp2sf2, exp2df2, exp2xf2, expm1df2, expm1sf2, expm1xf2,
- ldexpdf3, ldexpsf3, ldexpxf3, rintxf2, rintdf2, rintsf2,
- lround<mode>di2, lround<mode>si2, floorxf2, floordf2, floorsf2,
- lfloor<mode>di2, lfloor<mode>si2, ceilxf2, ceildf2, ceilsf2,
- btruncxf2, btruncdf2, btruncsf2): Conditionalize expansion on
- !optimize_size.
-
-2006-10-31 Steven Bosscher <steven@gcc.gnu.org>
-
- * opts.c (decode_options): Disable CSE skip blocks.
-
-2006-10-30 Dirk Mueller <dmueller@suse.de>
-
- * c-common.h (strict_aliasing_warning): Fix whitespace.
- * c-decl (start_function): Move code for main decl warning ..
- * c-common.c (check_main_parameter_types): .. here.
- * c-common.h (check_main_parameter_types): Declare.
-
-2006-10-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR middle-end/29335
- * builtins.c (fold_builtin_1): Evaluate tgamma using MPFR.
-
-2006-10-30 Pete Steinmetz <steinmtz@us.ibm.com>
-
- * recog.c (store_data_bypass_p): Add support to allow IN_INSN to
- be a PARALLEL containing sets. Return false when out_pat is not
- a PARALLEL insn.
-
-2006-10-30 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/mips.md (mul<mode>3): Split into...
- (mulsi3, muldi3): ...these separate patterns.
-
-2006-10-30 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/linux64.h (DRIVER_SELF_SPECS): Use a single spec,
- but with each set of options separated by spaces.
-
-2006-10-30 J"orn Rennecke <joern.rennecke@st.com>
-
- * unwind-dw2.c (uw_init_context_1): Fix test that checks if
- dwarf_reg_size_table has been initialized.
-
-2006-10-30 Roger Sayle <roger@eyesopen.com>
-
- * builtins.c (expand_builtin_mathfn_3): Correct coding style.
- * ddg.c (print_ddg_edge): Likewise.
- * dwarf2out.c (prune_unused_types_walk): Likewise.
- * ifcvt.c (noce_try_cmove_arith): Likewise.
- * langhooks.c (add_builtin_function): Likewise.
- * reg-stack.c (subst_stack_regs_pat): Likewise.
- * tree.c (expanded_location): Likewise.
- * tree-dump.c (dequeue_and_dump): Likewise.
-
-2006-10-30 David Daney <ddaney@avtrex.com>
-
- * config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error.
-
-2006-10-30 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/29637
- * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
- of the innertype is the innertype itself.
-
-2006-10-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * dwarf2out.c (file_name_acquire): Correct typo.
-
-2006-10-29 Daniel Berlin <dberlin@dberlin.org>
-
- * tree.h (tree_value_handle): Remove struct value_set declaration.
- Change value_set to bitmap_set.
- * tree-pretty-print.c (dump_generic_node): Use has_stmt_ann.
- * tree-vn.c (get_value_handle): Made inline and moved to
- tree-flow-inline.h.
- * tree-flow-inline.h: (has_stmt_ann): New function.
- * tree-ssa-pre.c (expressions): New variable.
- (next_expression_id): Ditto.
- (alloc_expression_id): New function.
- (struct value_set): Remove.
- (get_expression_id): New function.
- (get_or_alloc_expression_id): Ditto.
- (expression_for_id): Ditto.
- (clear_expression_ids): Ditto.
- (FOR_EACH_EXPR_ID_IN_SET): New macro.
- (bb_value_sets): Renamed to bb_bitmap_sets.
- All value sets replaced with bitmap_sets.
- Add visited member.
- (BB_VISITED): New macro.
- (postorder): New variable.
- (add_to_value): Removed.
- (value_exists_in_set_bitmap): Ditto.
- (value_insert_into_set_bitmap): Ditto.
- (set_new): Ditto.
- (set_copy): Ditto.
- (set_remove): Ditto.
- (set_contains_value): Ditto.
- (insert_into_set): Ditto.
- (set_equal): Ditto.
- (find_leader): Ditto.
- (bitmap_set_subtract_from_value_set): Ditto.
- (value_insert_into_set): Ditto.
- (print_value_set): Ditto.
- (debug_value_set): Ditto.
- (constant_expr_p): New function.
- (bitmap_remove_from_set): Ditto.
- (bitmap_insert_into_set): Ditto.
- (bitmap_set_free): Ditto.
- (vh_compare): Ditto.
- (sorted_array_from_bitmap_set): Ditto.
- (bitmap_set_subtract): Ditto.
- (bitmap_set_equal): Ditto.
- (debug_bitmap_set): Ditto.
- (find_leader_in_sets): Ditto.
- (bitmap_set_replace_value): Modify for bitmapped sets.
- (phi_translate): Ditto.
- (phi_translate_set): Ditto.
- (bitmap_find_leader): Ditto.
- (valid_in_sets): Ditto.
- (union_contains_value): Ditto.
- (clean): Ditto.
- (compute_antic_aux): Ditto. Mark changed blocks.
- (compute_antic): Ditto. Iterate in postorder and only over
- changing blocks.
- (compute_rvuse_and_antic_safe): Reuse postorder.
- (create_component_ref_by_pieces): Modify for bitmapped sets.
- (find_or_generate_expression): Ditto.
- (create_expression_by_pieces): Ditto.
- (insert_into_preds_of_block): Ditto.
- (changed_blocks): New variable.
- (do_regular_insertion): Broken out from insert_aux.
- (insert_aux): Modified for bitmapped sets.
- (find_existing_value_expr): New function.
- (create_value_expr_from): Use it.
- (insert_extra_phis): Removed.
- (print_bitmap_set): Renamed from bitmap_print_value_set.
- (compute_avail): Handle RETURN_EXPR.
- (init_pre): Modify for bitmapped sets.
- * tree-flow.h (has_stmt_ann): New function.
-
-2006-10-29 Roger Sayle <roger@eyesopen.com>
-
- * builtins.c (fold_builtin_floor): Check for the availability of
- the C99 trunc function before transforming floor into trunc.
-
-2006-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * builtins.c (fold_builtin_hypot): Rearrange recursive
- transformation before others, and also do ABS_EXPR. When
- necessary, check flag_unsafe_math_optimizations. When necessary,
- add fabs.
-
-2006-10-29 Roger Sayle <roger@eyesopen.com>
-
- * fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
- Fold ~X op C as X op' ~C, where op' is the swapped comparison.
- (fold_binary): ~X eq/ne C is now handled in fold_comparison.
- Fold -X eq/ne -Y as X eq/ne Y.
-
-2006-10-29 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than
- GENERATE_MULT3_<MODE>. Restrict the test to SImode. Use ISA_HAS_MUL3
- rather than GENERATE_MULT3_SI in the various define_peephole2s.
- (mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI.
- Use an inclusive test for "mult" rather than "mul".
- (rotr<mode>3): Depend on ISA_HAS_ROR.
- * config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of
- ISA_HAS_MUL3.
- (GENERATE_MULT3_DI): Delete.
- (ISA_HAS_64BIT_REGS): Use consistent formatting.
- (ISA_HAS_MUL3): New macro.
- (ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting.
- (ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise.
- (ISA_HAS_CLZ_CLO): Likewise.
- (ISA_HAS_DCLZ_DCLO): Delete.
- (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16.
- (ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just
- the VR4120 and VR4130.
- (ISA_HAS_MACCHI): Use consistent formatting.
- (ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of...
- (ISA_HAS_ROR): ...this new macro.
- (ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting.
- (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise.
- (ISA_HAS_LOAD_DELAY): Use ISA_MIPS1.
-
-2006-10-29 Roger Sayle <roger@eyesopen.com>
-
- PR tree-optimization/15458
- * fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C
- is a constant.
-
-2006-10-29 Richard Guenther <rguenther@suse.de>
-
- * config/i386/i386-protos.h (ix86_expand_trunc): Declare.
- (ix86_expand_truncdf_32): Likewise.
- * config/i386/i386.c (ix86_expand_trunc): New function expanding
- trunc inline for SSE math and -fno-trapping-math and if not
- optimizing for size.
- (ix86_expand_truncdf_32): Same for DFmode on 32bit archs.
- * config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders
- for expanding btrunc inline for SSE math.
-
-2006-10-29 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
- Handle tuning for bi-arch i[34567]86-*-linux* like that for
- i[34567]86-*-solaris2.1[0-9]*.
- * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
- Define conditionally depending on TARGET_64BIT_DEFAULT.
- (SPEC_32, SPEC_64): Define.
- (LINK_SPEC): Use them.
- * doc/install.texi (--enable-targets=all): Document for x86-linux.
-
-2006-10-29 Richard Guenther <rguenther@suse.de>
-
- * config/i386/i386-protos.h (ix86_expand_round): Declare.
- (ix86_expand_rounddf_32): Likewise.
- * config/i386/i386.c (ix86_expand_round): New function expanding
- round inline for SSE math and -fno-trapping-math and if not
- optimizing for size.
- (ix86_expand_rounddf_32): Same for DFmode on 32bit archs.
- * config/i386/i386.md (rounddf2, roundsf2): New pattern expanding
- round via ix86_expand_round.
-
-2006-10-29 Richard Guenther <rguenther@suse.de>
-
- * config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
- (ix86_expand_floorceildf_32): Likewise.
- * config/i386/i386.c (ix86_expand_sse_compare_mask): New
- static helper function.
- (ix86_expand_floorceil): Expander for floor and ceil to SSE
- math.
- (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
- * config/i386/i386.md (floordf2): Adjust to enable floor
- expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
- -fno-trapping-math is enabled and if not optimizing for size.
- (floorsf2, ceildf2, ceilsf2): Likewise.
- * config/i386/sse.md (sse_maskcmpsf3): New insn.
- (sse2_maskcmpdf3): Likewise.
-
-2006-10-29 Richard Guenther <rguenther@suse.de>
-
- * builtins.c (expand_builtin_mathfn): Expand nearbyint as
- rint in case -fno-trapping-math is enabled.
- * config/i386/i386-protos.h (ix86_expand_rint): Declare.
- * config/i386/i386.c (ix86_gen_TWO52): New static helper function.
- (ix86_expand_sse_fabs): Likewise.
- (ix86_expand_rint): New function expanding rint to x87 or SSE math.
- * config/i386/i386.md (rintdf2): Enable for SSE math if
- -fno-trapping-math is enabled, use ix86_expand_rint for expansion.
- (rintsf2): Likewise.
-
-2006-10-29 Richard Guenther <rguenther@suse.de>
-
- * genopinit.c (optabs): Change lfloor_optab and lceil_optab
- to conversion optabs.
- * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab
- as conversion optab.
- * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil.
- (enum convert_optab_index): Add COI_lfloor and COI_lceil.
- (lfloor_optab, lceil_optab): Adjust defines.
- * builtins.c (expand_builtin_int_roundingfn): Adjust for
- lfloor and lceil optabs now being conversion optabs.
- * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare.
- * config/i386/i386.c (ix86_expand_sse_compare_and_jump):
- New static helper function.
- (ix86_expand_lfloorceil): New function to expand lfloor and
- lceil inline.
- * config/i386/i386.md (lfloor<mode>2): Split into ...
- (lfloorxf<mode>2): ... x87 variant
- (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants
- using ix86_expand_lfloorceil.
- (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2):
- Likewise.
- * doc/md.texi (lfloorMN, lceilMN): Document.
-
-2006-10-29 Richard Sandiford <richard@codesourcery.com>
-
- * configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE. Test for the
- -mno-shared assembler option on mips targets.
- * configure, config.in: Regenerate.
- * config/mips/linux.h (NO_SHARED_SPECS): New macro.
- (DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty.
- * config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS.
-
-2006-10-29 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
- as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.
-
-2006-10-29 Kazu Hirata <kazu@codesourcery.com>
-
- * config/darwin.c, config/darwin.opt, config/ia64/itanium1.md,
- config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix
- comment typos.
-
-2006-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR middle-end/29335
- * builtins.c (do_mpfr_arg2, fold_builtin_hypot): New.
- (fold_builtin_pow): Evaluate constant arguments at compile-time
- using MPFR.
- (fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT.
- (do_mpfr_ckconv): New helper function.
- (do_mpfr_arg1): Use do_mpfr_ckconv.
- (do_mpfr_arg2): New.
-
-2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR tree-opt/29271
- * doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number.
- (-fdump-rtl-sched): Rename to ..
- (-fdump-rtl-sched1): here. Also fix file extension number.
-
-2006-10-28 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (maybe_canonicalize_comparison): Fix code
- to match comment.
-
-2006-10-28 Uros Bizjak <uros@kss-loka.si>
-
- * config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
- (NON_QI_REG_P): Use IN_RANGE.
- (REX_INT_REGNO_P): Use IN_RANGE.
- (FP_REGNO_P): Use IN_RANGE.
- (SSE_REGNO_P): Use IN_RANGE.
- (REX_SSE_REGNO_P): Use IN_RANGE.
- (MMX_REGNO_P): Use IN_RANGE.
- (STACK_REGNO_P): New macro.
- (STACK_REG_P): Use STACK_REGNO_P.
- (NON_STACK_REG_P): Use STACK_REGNO_P.
- (REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P.
- (REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P.
- (REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P.
- (REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P.
- (HARD_REGNO_RENAME_OK): Use !IN_RANGE.
-
-2006-10-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * except.h (output_function_exception_table): Add 'const char*' param.
- * except.c (switch_to_exception_section): Add 'const char*' param.
- If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
- and flag_function_sections is set, use a function-specific section.
- (output_function_exception_table): Add 'const char*' param.
- Adjust call to switch_to_exception_section.
- * final.c (rest_of_handle_final): Adjust calls to
- output_function_exception_table.
- * configure.ac (HAVE_LD_EH_GC_SECTIONS): New check.
- * config.in: Regenerate.
- * configure: Likewise.
-
-2006-10-28 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/26899
- * fold-const.c (maybe_canonicalize_comparison_1): Helper
- for maybe_canonicalize_comparison.
- (maybe_canonicalize_comparison): New function for canonicalizing
- comparison trees.
- (fold_comparison): Call it to canonicalize comparisons with
- constants involved.
-
-2006-10-28 Richard Guenther <rguenther@suse.de>
-
- PR target/28806
- * builtins.c (expand_builtin_int_roundingfn_2): Expand
- BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
- (expand_builtin): Adjust likewise.
- * genopinit.c (optabs[]): Add lround optab.
- * optabs.c (init_optabs): Initialize lround_optab.
- * optabs.h (enum convert_optab_index): Add COI_lround.
- (lround_optab): Define.
- * config/i386/i386-protos.h (ix86_expand_lround): Declare.
- * config/i386/i386.c (ix86_sse_copysign_to_positive): New
- static function.
- (ix86_expand_lround): New function.
- * config/i386/i386.md (lround<mode>di2, lround<mode>si2):
- New expanders.
- * doc/md.texi (lroundMN2): Document.
-
-2006-10-28 Uros Bizjak <uros@kss-loka.si>
-
- PR target/29377
- * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
- argument to HOST_WIDE_INT. Update function prototype.
- (round_frame_size): Change return type to HOST_WIDE_INT. Change
- "size" argument to HOST_WIDE_INT. Update function prototype.
-
-2006-10-28 Uros Bizjak <uros@kss-loka.si>
-
- * config/i386/i386.c (output_387_ffreep): Create output from a
- template string for !HAVE_AS_IX86_FFREEP.
-
-2006-10-27 Eric Christopher <echristo@apple.com>
-
- * config/darwin.c: Fix formatting and grammar.
-
-2006-10-27 Jan Hubicka <jh@suse.cz>
-
- * builtins.c (fold_builtin): Don't generate NOP_EXPR that is going
- to be thrown away soon when IGNORE is set.
- * tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument
- indicating when return value shall not be computed.
- * gimplify.c (internal_get_tmp_var): Avoid random tree sharing.
-
-2006-10-27 Vladimir Makarov <vmakarov@redhat.com>
-
- * config/i386/i386.h (TARGET_GEODE):
- (TARGET_CPU_CPP_BUILTINS): Add code for geode.
- (TARGET_CPU_DEFAULT_geode): New macro.
- (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2,
- TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon,
- TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8,
- TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott,
- TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase
- the macro values.
- (TARGET_CPU_DEFAULT_NAMES): Add geode.
- (processor_type): Add PROCESSOR_GEODE.
-
- * config/i386/i386.md: Include geode.md.
- (cpu): Add geode.
-
- * config/i386/i386.c (geode_cost): New initialized global
- variable.
- (m_GEODE, m_K6_GEODE): New macros.
- (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf,
- x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4,
- x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants,
- x86_schedule): Use m_K6_GEODE instead of m_K6.
- (x86_movx, x86_cmove): Set up m_GEODE.
- (x86_integer_DFmode_moves): Clear m_GEODE.
- (processor_target_table): Add entry for geode.
- (processor_alias_table): Ditto.
-
- * config/i386/geode.md: New file.
-
- * doc/invoke.texi: Add entry about geode processor.
-
-2006-10-27 Mike Stump <mrs@apple.com>
-
- * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and
- __DYNAMIC__ from here back to ...
- * config/darwin.h (CPP_SPEC): ... here.
-
-2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
-
- * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
- when choosing the minimum heapsize.
-
-2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc/unwind-dw2.h: Move cfa-related variables into
- struct frame_state_reg_info to ensure that the CFA is properly
- handled when executing DW_CFA_{remember,restore}_state.
- * gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h,
- gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h
- gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h
- gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h
- gcc/config/rs6000/linux-unwind.h,
- gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h,
- gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h:
- Modify to use new cfa_* fields.
-
-2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * config/s390/s390.c (s390_init_frame_layout): Check positive
- frame_size.
-
-2006-10-26 Ben Elliston <bje@au.ibm.com>
-
- * gimplify.c (get_name): Remove extraneous break.
- (gimplify_omp_for): Initialise ret with GS_OK.
-
-2006-10-25 Steve Ellcey <sje@cup.hp.com>
-
- * config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
- Add unix98.o to link line.
-
-2006-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR middle-end/29335
- * builtins.c (fold_builtin_cbrt, fold_builtin_logarithm):
- Calculate compile-time constants using MPFR.
- (fold_builtin_1): Likewise handle BUILT_IN_ERF, BUILT_IN_ERFC,
- BUILT_IN_EXPM1 and BUILT_IN_LOG1P.
-
-2006-10-25 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/lib2funcs.S: Use C-style comments.
-
-2006-10-24 Nathan Froyd <froydnj@codesourcery.com>
-
- * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
- (file_table_relative_p): Likewise.
- (dwarf2out_finish): Likewise.
- (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
-
-2006-10-25 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-structalias.c (intra_create_variable_infos):
- Don't recreate nonlocal_all if it already exists.
-
-2006-10-25 Richard Guenther <rguenther@suse.de>
-
- PR target/28803
- * optabs.h (enum optab_index): Remove OTI_lrint.
- (enum convert_optab_index): Add COI_lrint.
- (lrint_optab): Adjust.
- (expand_sfix_optab): Declare.
- * optabs.c (expand_sfix_optab): New function.
- (init_optabs): Init lrint_optab as conversion optab.
- * genopinit.c (lrint_optab): Change to a conversion optab.
- * builtins.c (expand_builtin_int_roundingfn_2): Adjust to
- expansion via conversion optab.
- * config/i386/i386.md (*fistdi2_1): Remove
- flag_unsafe_math_optimizations guard.
- (fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2,
- fist<mode>2_with_temp): Likewise.
- (lrint<mode>2): Split into...
- (lrintxf<mode>2): ... x87 part
- (lrint<mode>di2, lrint<mode>si2): ... and SSE parts.
- * config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2,
- sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for
- UNSPEC_FIX_NOTRUNC matching non-vector float modes.
- * doc/md.texi (lrintMN2): Document.
-
-2006-10-25 Uros Bizjak <uros@kss-loka.si>
-
- PR target/28909
- * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"):
- Use inc and dec instructions for TARGET_USE_INCDEC.
- ("*sync_compare_and_swap<mode>"): Fix -masm=intel template.
- ("sync_double_compare_and_swap<mode>"): Likewise.
- ("*sync_double_compare_and_swapdi_pic"): Likewise.
- ("*sync_compare_and_swap_cc<mode>"): Likewise.
- ("sync_double_compare_and_swap_cc<mode>"): Likewise.
- ("*sync_double_compare_and_swap_ccdi_pic"): Likewise.
- ("sync_old_add<mode>"): Likewise.
- ("sync_lock_test_and_set<mode>"): Likewise.
- ("sync_lock_test_and_set<mode>"): Likewise.
- ("sync_add<mode>"): Likewise.
- ("sync_sub<mode>"): Likewise.
- ("sync_ior<mode>"): Likewise.
- ("sync_and<mode>"): Likewise.
- ("sync_xor<mode>"): Likewise.
-
-2006-10-25 Uros Bizjak <uros@kss-loka.si>
-
- * optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
- (remainder_optab): Define corresponding macro.
- (drem_optab): Remove.
- * optabs.c (init_optabs): Initialize remainder_optab. Remove
- drem_optab initialization.
- * genopinit.c (optabs): Implement remainder_optab using
- remainder?f3 patterns. Remove drem_optab.
- * builtins.c (expand_builtin_mathfn_2): Handle
- BUILT_IN_REMAINDER{,F,L} using remainder_optab.
- (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using
- expand_builtin_mathfn_2.
-
- (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not
- depend on flag_unsafe_math_optimizations.
-
- * config/i386/i386.md ("remaindersf3", "remainderdf3")
- ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders.
- Do not depend on flag_unsafe_math_optimizations. Use
- truncxf?f expander instead of truncxf?f_i387_noop.
-
- ("fpremxf4", "fprem1xf4"): Do not depend on
- flag_unsafe_math_optimizations.
- ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on
- flag_unsafe_math_optimizations. Use truncxf?f expander
- instead of truncxf?f_i387_noop.
-
- * doc/md.texi (fmod, remainder): Document standard named pattern.
-
-2006-10-24 Richard Sandiford <richard@codesourcery.com>
- David Daney <ddaney@avtrex.com>
-
- PR middle-end/29519
- * rtlanal.c (nonzero_address_p): Remove check for values wrapping.
-
-2006-10-25 Ben Elliston <bje@au.ibm.com>
-
- * doc/extend.texi (Variable Attributes): Typo fix.
-
-2006-10-24 Uros Bizjak <uros@kss-loka.si>
-
- * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 54.
- (FIXED_REGISTERS, CALL_USED_REGISTERS): Add fpcr register.
- (REG_ALLOC_ORDER): Add one element to allocate fpcr register.
- (FRAME_POINTER_REGNUM): Update register number to 21.
- (REG_CLASS_CONTENTS): Update contents for added fpcr register.
- (HI_REGISTER_NAMES): Add "fpcr" for fpcr register.
-
- * config/i386/i386.c (regclass_map): Add fpcr entry.
- (dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
- Add fpcr entry.
- (print_reg): Assert REGNO (x) != FPCR_REG.
-
- * config/i386/i386.md (FPCR_REG, R11_REG): New constants.
- (DIRFLAG_REG): Renumber.
- (x86_fnstcw_1, x86_fldcw_1): Use FPCR_REG instead of FPSR_REG.
- (*sibcall_1_rex64_v, *sibcall_value_1_rex64_v): Use R11_REG.
- (sse_prologue_save, *sse_prologue_save_insn): Renumber
- hardcoded SSE register numbers.
-
- * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
- hardcoded MMX register numbers.
-
-2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR middle-end/29335
- * builtins.c (fold_builtin_sin, fold_builtin_atan): Remove.
- (do_mpfr_arg1): Add `min', `max' and `inclusive' arguments.
- Update all callers.
- (BUILT_IN_SIN, BUILT_IN_ATAN): Handle in main switch.
- (BUILT_IN_ASIN, BUILT_IN_ACOS, BUILT_IN_ATAN, BUILT_IN_ASINH,
- BUILT_IN_ACOSH, BUILT_IN_ATANH, BUILT_IN_SINH, BUILT_IN_COSH,
- BUILT_IN_TANH): Calculate compile-time arguments using MPFR.
-
-2006-10-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/28796
- * builtins.c (fold_builtin_classify): Use HONOR_INFINITIES
- and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS
- for deciding optimizations in consistency with fold-const.c
- (fold_builtin_unordered_cmp): Likewise.
-
-2006-10-24 Richard Guenther <rguenther@suse.de>
-
- * builtins.c (fold_builtin_floor): Fold floor (x) where
- x is nonnegative to trunc (x).
- (fold_builtin_int_roundingfn): Fold lfloor (x) where x is
- nonnegative to FIX_TRUNC_EXPR.
-
-2006-10-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/29567
- * tree-vrp.c (register_edge_assert_for_1): Fix wrong logic
- for TRUTH_NOT_EXPR. Clarify comments.
-
-2006-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR middle-end/29335
- * builtins.c (fold_builtin_exponent): Evaluate constant arguments
- at compile-time using MPFR. Change parameter VALUE to FUNC,
- update all callers.
- (do_mpfr_arg1): Rename `exact' to `inexact'. Carefully check
- for overflow and underflow at all times and avoid folding in
- those cases.
-
-2006-10-24 Ben Elliston <bje@au.ibm.com>
-
- * reload1.c: Formatting fixes.
-
-2006-10-23 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/14784
- * tree-flow.h (struct var_ann_d): Add is_heapvar bit.
- * tree-ssa-structalias.c (get_constraint_for,
- intra_create_variable_infos): Set is_heapvar.
- * tree-ssa-operands.c (access_can_touch_variable): Do not handle
- non-heapvar pointer variables specially.
-
-2006-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR middle-end/29335
- * builtins.c (fold_builtin_sin, fold_builtin_cos,
- fold_builtin_tan): Fold all constant arguments. Take a "type"
- argument as necessary.
- (do_mpfr_arg1): New.
- * real.c, real.h (real_from_mpfr, mpfr_from_real): New.
-
-2006-10-23 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/lib1funcs.asm: Use C-style comments.
-
-2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
-
- * tree.c (local_define_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
- c_builtin_function.
- * c-tree.h (builtin_function): Rename to c_builtin_function. Change
- the signature.
- * c-decl.c (builtin_function): Rename to c_builtin_function. Move
- common code to add_builtin_function.
- * langhooks.c (add_builtin_function): New function.
- (lhd_builtin_function): New function.
- * langhooks.h (struct lang_hooks): Change the signature of
- builtin_function.
- (add_builtin_function): New function.
- * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace
- calls to lang_hooks.builtin_function with add_builtin_function.
- * c-common.c (decl_builtin_1): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/alpha/alpha.c (alpha_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/frv/frv.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/s390/s390.c (s390_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/sparc/sparc.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/i386/i386.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/sh/sh.c (sh_media_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/c4x/c4x.c (c4x_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/stormy16/stormy16.c (xstormy16_init_builtins):
- Replace calls to lang_hooks.builtin_function with
- add_builtin_function.
- * config/iq2000/iq2000.c (def_builtin):
- Replace calls to lang_hooks.builtin_function with
- add_builtin_function.
- * config/ia64/ia64.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/rs6000/rs6000.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- (altivec_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/arm/arm.c (def_mbuiltin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- (arm_init_tls_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/mips/mips.c (mips_init_builtins): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * config/bfin/bfin.c (def_builtin): Replace calls to
- lang_hooks.builtin_function with add_builtin_function.
- * langhooks-def.h (lhd_builtin_function): New function.
- (LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function.
-
-2006-10-23 Jakub Jelinek <jakub@redhat.com>
-
- * builtins.c (expand_builtin, maybe_emit_chk_warning): Handle
- BUILT_IN_STRNCAT_CHK.
-
-2006-10-23 Jan Hubicka <jh@suse.cz>
-
- * builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument;
- don't do conversion from memmove to memcpy here.
- (expand_builtin_bcopy, expand_builtin): Update call of
- expand_builtin_memmove.
- (fold_builtin_memory_op): Do folding of memmove to memcpy here.
-
-2006-10-23 Paul Brook <paul@codesourcery.com>
-
- * stor-layout.c (start_record_layout): maximum_field_alignment
- overrides STRUCTURE_SIZE_BOUNDARY.
-
-2006-10-23 Ulrich Weigand <uweigand@de.ibm.com>
-
- * config/s390/predicates.md ("bras_sym_operand"): Do not accept
- nonlocal function symbols if flag_pic.
-
-2006-10-23 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/27132
- PR middle-end/23295
- * builtins.c (fold_binary): Remove checks for flag_wrapv
- and flag_trapv where negate_expr_p covers these cases.
-
-2006-10-23 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/29548
- * fold-const.c (fold_plusminus_mult_expr): Check exact power
- of two on the absolute value.
- (fold_binary): Fold x * -C to -x * C if x is easily negatable
- and negating -C does not overflow.
-
-2006-10-23 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/21032
- * convert.c (convert_to_real): Fold (float)-x to -(float)x
- only if not flag_rounding_math.
-
-2006-10-22 Richard Sandiford <richard@codesourcery.com>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/28232
- * config/sh/sh.c (expand_block_move): Use a BLKmode rather than
- SImode memory reference for the source of a movua.
- * config/sh/sh.md (UNSPEC_MOVUA): New macro.
- (movua): Use an unspec instead of sign_extract. Expect the source
- to have mode BLKmode.
- (extv, insv): Use a BLKmode rather than SImode memory reference
- for the source of a movua.
-
-2006-10-22 Jeff Law <law@redhat.com>
- Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/15911
- * tree-vrp.c (extract_code_and_val_from_cond): New function.
- (register_edge_assert_for_1): Likewise.
- (register_edge_assert_for): Handle &&/&/||/| in conditionals.
- (find_conditional_asserts): Adjust for new function signature.
- (find_assert_locations): Likewise.
-
-2006-10-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/tmmintrin.h: Remove the duplicated content.
-
-2006-10-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
- (x86_64-*-*): Likewise.
-
- * config/i386/i386.c (pta_flags): Add PTA_SSSE3.
- (override_options): Check SSSE3.
- (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD,
- IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD,
- IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW,
- IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB,
- IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND,
- IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW,
- IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128,
- IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128,
- IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128,
- IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128,
- IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128,
- IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128,
- IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128,
- IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and
- IX86_BUILTIN_PABSD128.
- (bdesc_2arg): Add SSSE3.
- (bdesc_1arg): Likewise.
- (ix86_init_mmx_sse_builtins): Support SSSE3.
- (ix86_expand_builtin): Likewise.
- * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise.
-
- * config/i386/i386.md (UNSPEC_PSHUFB): New.
- (UNSPEC_PSIGN): Likewise.
- (UNSPEC_PALIGNR): Likewise.
- Include mmx.md before sse.md.
-
- * config/i386/i386.opt: Add -mssse3.
-
- * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3.
- (ssse3_phaddwv4hi3): Likewise.
- (ssse3_phadddv4si3): Likewise.
- (ssse3_phadddv2si3): Likewise.
- (ssse3_phaddswv8hi3): Likewise.
- (ssse3_phaddswv4hi3): Likewise.
- (ssse3_phsubwv8hi3): Likewise.
- (ssse3_phsubwv4hi3): Likewise.
- (ssse3_phsubdv4si3): Likewise.
- (ssse3_phsubdv2si3): Likewise.
- (ssse3_phsubswv8hi3): Likewise.
- (ssse3_phsubswv4hi3): Likewise.
- (ssse3_pmaddubswv8hi3): Likewise.
- (ssse3_pmaddubswv4hi3): Likewise.
- (ssse3_pmulhrswv8hi3): Likewise.
- (ssse3_pmulhrswv4hi3): Likewise.
- (ssse3_pshufbv16qi3): Likewise.
- (ssse3_pshufbv8qi3): Likewise.
- (ssse3_psign<mode>3): Likewise.
- (ssse3_psign<mode>3): Likewise.
- (ssse3_palignrti): Likewise.
- (ssse3_palignrdi): Likewise.
- (abs<mode>2): Likewise.
- (abs<mode>2): Likewise.
-
- * config/i386/tmmintrin.h: New file.
-
- * doc/extend.texi: Document SSSE3 built-in functions.
-
- * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches.
-
-2006-10-22 Ira Rosen <irar@il.ibm.com>
-
- * tree-vect-transform.c (vectorizable_load): Use the type of the
- return value of the mask_for_load builtin to create realign_load
- stmt.
-
-2006-10-22 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/mips.c (mips_split_const): Don't accept bare PLUS
- expressions.
-
-2006-10-21 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.md (UNSPEC_LDQQU): Renamed to ...
- (UNSPEC_LDDQU): This.
- * config/i386/sse.md (sse3_lddqu): Updated.
-
-2006-10-21 Richard Guenther <rguenther@suse.de>
-
- * builtins.c (expand_builtin_int_roundingfn_2): New function.
- (expand_builtin): Use it to expand lrint instead of
- expand_builtin_mathfn.
-
-2006-10-21 Uros Bizjak <uros@kss-loka.si>
-
- PR middle-end/28252
- * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if
- flag_unsafe_math_optimizations is set.
-
-2006-10-21 Uros Bizjak <uros@kss-loka.si>
-
- PR target/19398
- * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2
- patterns to use memory input operand in x87->mem->XMM
- reload sequences. Skip transformation for TARGET_K8.
-
-2006-10-21 Uros Bizjak <uros@kss-loka.si>
-
- * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not
- force operand1 to register if both operands are memory operands.
- (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387)
- (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern
- if both operands are memory operands.
- (truncdfsf2): Do not force operand1 to register if both operands
- are memory operands.
-
-2006-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.in (LIBS): Add $(GMPLIBS).
- * doc/install.texi: Update GMP and MPFR requirements.
- * doc/sourcebuild.texi (need_gmp): Delete.
-
-2006-10-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/3511
- * tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that
- got new invariant arguments during PHI translation.
-
-2006-10-21 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/26898
- * fold-const.c (fold_comparison): Fold signed comparisons
- of the form X +- C1 CMP Y +- C2.
-
-2006-10-21 Richard Guenther <rguenther@suse.de>
-
- PR target/19116
- * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
- if flag_unsafe_math_optimizations is specified. We have
- flag_finite_math_only for that.
- * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
- or flag_unsafe_math_optimizations.
-
-2006-10-21 Richard Guenther <rguenther@suse.de>
-
- * builtins.c (fold_builtin_classify): Fix typo.
-
-2006-10-21 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/28796
- * simplify-rtx.c (simplify_const_relational_operation):
- Do not constant-fold ORDERED and UNORDERED for
- flag_unsafe_math_optimizations but only we do not need to
- honor NaNs for the given mode.
-
-2006-10-21 Richard Guenther <rguenther@suse.de>
-
- PR target/29512
- * config/i386/i386.c (classify_argument): Remove redundant
- walking of the BINFOs.
- (contains_128bit_aligned_vector_p): Likewise.
-
-2006-10-20 Mark Mitchell <mark@codesourcery.com>
-
- * BASE-VER: Set to 4.3.0.
-
-2006-10-20 Daniel Berlin <dberlin@dberlin.org>
-
- * tree.h (DECL_PTA_ARTIFICIAL): Remove.
- (tree_decl_with_vis): Remove artificial_pta_var flag.
- * tree-flow.h (referenced_var_check_and_insert): Expose.
- (nonlocal_all): New prototype.
- * tree-ssa-structalias.c (nonlocal_for_type): Remove.
- (nonlocal_all): Make global.
- (nonlocal_lookup): Remove.
- (nonlocal_insert): Ditto.
- (create_nonlocal_var): Do not call nonlocal_insert.
- (get_nonlocal_id_for_type): Remove.
- (find_global_initializers): Mark new vars we find for renaming.
- (intra_create_variable_infos): Only create one nonlocal.
- (expand_nonlocal_solutions): Remove.
- (compute_points_to_sets): Don't call it.
- (ipa_pta_execute): Ditto.
- (init_alias_heapvars): Don't create nonlocal_for_type.
- (delete_alias_heapvars): Don't remove it.
- * tree-ssa-operands.c (access_can_touch_variable): Don't prune
- nonlocal_all.
-
-2006-10-19 Brooks Moses <bmoses@stanford.edu>
-
- * doc/install.texi (Downloading GCC): Clarify mention of
- Fortran in the "full distribution" description.
-
-2006-10-19 Daniel Berlin <dberlin@dberlin.org>
-
- Fix PR tree-optimization/28778
- Fix PR tree-optimization/29156
- Fix PR tree-optimization/29415
- * tree.h (DECL_PTA_ARTIFICIAL): New macro.
- (tree_decl_with_vis): Add artificial_pta_var flag.
- * tree-ssa-alias.c (is_escape_site): Remove alias info argument,
- pushed into callers.
- * tree-ssa-structalias.c (nonlocal_for_type): New variable.
- (nonlocal_all): Ditto.
- (struct variable_info): Add directly_dereferenced member.
- (var_escaped_vars): New variable.
- (escaped_vars_tree): Ditto.
- (escaped_vars_id): Ditto.
- (nonlocal_vars_id): Ditto.
- (new_var_info): Set directly_dereferenced.
- (graph_size): New variable
- (build_constraint_graph): Use graph_size.
- (solve_graph): Don't process constraints that cannot change the
- solution, don't try to propagate an empty solution to our
- successors.
- (process_constraint): Set directly_dereferenced.
- (could_have_pointers): New function.
- (get_constraint_for_component_ref): Don't process STRING_CST.
- (nonlocal_lookup): New function.
- (nonlocal_insert): Ditto.
- (create_nonlocal_var): Ditto.
- (get_nonlocal_id_for_type): Ditto.
- (get_constraint_for): Allow results vector to be empty in the case
- of string constants.
- Handle results of calls properly.
- (update_alias_info): Update alias info stats on number and type of
- calls.
- (find_func_aliases): Use could_have_pointers.
- (make_constraint_from_escaped): Renamed from
- make_constraint_to_anything, and changed to make constraints from
- escape variable.
- (make_constraint_to_escaped): New function.
- (find_global_initializers): Ditto.
- (create_variable_info_for): Make constraint from escaped to any
- global variable, and from any global variable to the set of
- escaped vars.
- (intra_create_variable_infos): Deal with escaped instead of
- pointing to anything.
- (set_uids_in_ptset): Do type pruning on directly dereferenced
- variables.
- (find_what_p_points_to): Adjust call to set_uids_with_ptset.
- (init_base_vars): Fix comment, and initialize escaped_vars.
- (need_to_solve): Removed.
- (find_escape_constraints): New function.
- (expand_nonlocal_solutions): Ditto.
- (compute_points_to_sets): Call find_escape_constraints and
- expand_nonlocal_solutions.
- (delete_points_to_sets): Don't fall off the end of the graph.
- (init_alias_heapvars): Initialize nonlocal_for_type and
- nonlocal_all.
- (delete_alias_heapvars): Free nonlocal_for_type and null out
- nonlocal_all.
-
-2006-10-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (add_double): Rename to add_double_with_sign.
- Add 'unsigned_p' parameter and take it into account for the overflow.
- (mul_double): Rename to mul_double_with_sign.
- Add 'unsigned_p' parameter and take it into account for the overflow.
- (fold_div_compare): Call add_double_with_sign instead of add_double
- and mul_double_with_sign instead of mul_double, passing them the
- unsignedness of the type.
- * tree.h (add_double): Macroize.
- (add_double_with_sign): New prototype.
- (mul_double): Macroize.
- (mul_double_with_sign): New prototype.
-
-2006-10-19 Chen Liqin <liqin@sunnorth.com.cn>
-
- * config/score/crti.asm: New file.
- * config/score/crtn.asm: New file.
- * config/score/elf.h: New file.
- * config/score/mac.md: New file.
- * config/score/misc.md: New file.
- * config/score/mul-div.S: New file.
- * config/score/predicates.md: New file.
- * config/score/score7.md: New file.
- * config/score/score.c: New file.
- * config/score/score-conv.h: New file.
- * config/score/score.h: New file.
- * config/score/score.md: New file.
- * config/score/score-mdaux.c: New file.
- * config/score/score-mdaux.h: New file.
- * config/score/score-modes.def: New file.
- * config/score/score.opt: New file.
- * config/score/score-protos.h: New file.
- * config/score/score-version.h: New file.
- * config/score/t-score-elf: New file.
- * config.gcc: Add score*-*-* configurations(Update before).
- * doc/invoke.texi (Score Options): New section.
- * doc/md.texi (Score family): New section to document constraints.
-
-2006-10-19 Nick Clifton <nickc@redhat.com>
-
- * config/arm/arm.c: Fix spelling typo.
-
-2006-10-18 Tom Tromey <tromey@redhat.com>
-
- * doc/install.texi (Prerequisites): Mention automake 1.9.6.
-
-2006-10-18 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/29299
- * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
- are used.
-
-2006-10-18 Marcin Dalecki <martin@dalecki.de>
-
- * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
- TSI_SAME_STMT, since that's the desired entity.
-
-2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
-
- * config/s390/contraints.md: New file.
- * config/s390/s390-protos.h (s390_mem_constraint,
- s390_O_constraint_str, s390_N_constraint_str,
- s390_float_const_zero_p): Function prototypes added.
- * config/s390/s390.c (s390_extra_constraint_str,
- s390_const_double_ok_for_constraint_p,
- s390_const_ok_for_constraint_p): Functions removed.
- (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
- s390_float_const_zero_p): New functions.
- * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
- CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
- EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
- Macro definitions removed.
- (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
- s390_extra_constraint_str): Functions removed.
-
-2006-10-17 Andrew Pinsiki <pinskia@gmail.com>
- Richard Sandiford <richard@codesourcery.com>
-
- PR target/29413
- * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
- * config/mips/mips.h (CC1_SPEC): Override any earlier definition.
-
-2006-10-16 Geoffrey Keating <geoffk@apple.com>
-
- * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h.
- (DWARF2_FRAME_REG_OUT): Likewise.
- * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h.
- (DWARF2_FRAME_REG_OUT): Likewise.
-
-2006-10-17 Paul Brook <paul@codesourcery.com>
-
- * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
-
-2006-10-16 Brooks Moses <bmoses@stanford.edu>
-
- * doc/contrib.texi, doc/install.texi, doc/standards.texi:
- Standardize on "GNU Fortran" as the official name of the Fortran
- compiler.
-
-2006-10-16 Mike Stump <mrs@apple.com>
-
- * doc/invoke.texi (Darwin Options): Document -mkernel.
- * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
- -mkernel support.
- (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add
- SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout.
- (CC1_SPEC): Don't turn on -fPIC when -mkernel is given.
- (OS_MISSING_ALTIVEC): Add.
- * config/i386/i386.c (override_options): Add
- SUBSUBTARGET_OVERRIDE_OPTIONS callout.
- * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when
- -mkernel, -static or -mdynamic-no-pic is given.
- (C_COMMON_OVERRIDE_OPTIONS): Add.
- * config/darwin.opt (fapple-kext): Add.
- (mkernel): Add.
- * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add
- -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and
- -mkernel support.
- (SUBSUBTARGET_OVERRIDE_OPTIONS): Add.
- (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add.
- (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here...
- (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility.
- (TARGET_CXX_CDTOR_RETURNS_THIS): Add.
- (flag_mkernel): Add.
- (flag_apple_kext): Add.
- (TARGET_KEXTABI): Add.
- * config/darwin.c (darwin_handle_kext_attribute): Add.
- (DARWIN_VTABLE_P): Add.
- (darwin_binds_local_p): Add partial support for rebinding vtables
- in kexts.
- (darwin_kextabi_p): Add.
- (darwin_override_options): Add.
- * config/darwin-protos.h (darwin_handle_kext_attribute): Add.
- (darwin_kextabi_p): Add.
- (darwin_override_options): Add.
- * config/darwin-c.c (darwin_cpp_builtins): ... move defines for
- __DYNAMIC__ and __STATIC__ here.
-
-2006-10-16 Brooks Moses <bmoses@stanford.edu>
-
- * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi:
- Added mention of "make pdf" target, and Texinfo requirements for
- same.
-
-2006-10-16 DJ Delorie <dj@redhat.com>
-
- * config/s390/s390.c (s390_decompose_address): Allow symbol+offset
- into the GOT in case we need a subreg of the address.
-
-2006-10-16 Richard Guenther <rguenther@suse.de>
-
- PR target/25519
- * doc/extend.texi (X86 Built-in Functions): Fix typos in
- SSE builtin documentation. Document SSE2 builtins.
-
-2006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
- symbol in the output file for non-shared links when -nostdlib or
- -nodefaultlibs isn't specified.
-
- * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
- posix thread support.
-
-2006-10-15 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/29241
- * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
- declared always_inline even when not inlining.
-
-2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
- John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- Andrew Pinski <pinskia@gmail.com>
-
- PR middle-end/29111
- * builtins.c (get_pointer_alignment): Return 0 if TER is not run.
-
-2006-10-15 Jan Hubicka <jh@suse.cz>
- Richard Guenther <rguenther@suse.de>
-
- PR middle-end/29299
- * cgraphunit.c (cgraph_finalize_compilation_unit): Call
- process_function_and_variable_attributes on all variables, including
- those discovered during cgraph construction phase.
-
-2006-10-15 Bernhard Fischer <aldot@gcc.gnu.org>
-
- * final.c: Update Copyright year. Commentary typo fix. Fix whitespace
-
-2006-10-14 Uros Bizjak <uros@kss-loka.si>
-
- * config/i386/athlon.md (athlon_fist): Add fisttp.
-
-2006-10-13 David Edelsohn <edelsohn@gnu.org>
- Ian Lance Taylor <ian@airs.com>
-
- PR middle-end/29250
- * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
- CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
- recursing.
-
-2006-10-14 Kazu Hirata <kazu@codesourcery.com>
-
- * config/score/score.c, config/score/score.h: Fix comment
- typos.
-
-2006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR bootstrap/29402
- * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of
- shell pipeline.
-
-2006-10-13 Eric Christopher <echristo@apple.com>
-
- * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
-
-2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
-
- Revert this change:
- 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
- * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
- alignment supported by 32-bit ELF.
-
-2006-10-13 Eric Christopher <echristo@apple.com>
-
- * config/darwin.c (darwin_emit_unwind_label): Strip
- name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
-
-2006-10-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/29446
- * tree-vrp.c (fix_equivalence_set): Remove.
- (extract_range_from_assert): Do not call fix_equivalence_set.
- (debug_value_range): Print a newline.
- (compare_name_with_value): For equivalence sets with
- inconsistent value ranges conservatively bail out.
- (compare_names): Likewise.
-
-2006-10-13 David Edelsohn <edelsohn@gnu.org>
-
- * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP
- and MPFR for gfortran.
-
-2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
-
- * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
- alignment supported by 32-bit ELF.
-
-2006-10-13 Paolo Bonzini <bonzini@gnu.org>
-
- PR c/29092
-
- * c-typeck.c (digest_init): Always allow initializing vectors
- that have static storage duration with compound literals.
- * tree.c (build_type_attribute_qual_variant): New, based on
- build_type_attribute_variant.
- (build_type_attribute_variant): Rewrite using the former.
- (make_vector_type): Use build_type_attribute_qual_variant to build
- type variants. Use type_hash_canon on the others.
-
-2006-10-13 Daniel Berlin <dberlin@dberlin.org>
- Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com>
-
- * tree-flow-inline.h (zero_ssa_operands): Fix comment.
-
-2006-10-12 Jan Hubicka <jh@suse.cz>
-
- PR c/28419
- * c-decl.c (c_make_fname_decl): Do not segfault in case where
- current_function_decl is set but current_function_scope is not.
-
-2006-10-12 Jie Zhang <jie.zhang@analog.com>
-
- * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
- emit_insn to emit eh_return_internal instruction.
- (eh_return_internal): Explicitly set pc.
-
-2006-10-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/28230
- * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling
- to the correct place.
-
-2006-10-11 Richard Guenther <rguenther@suse.de>
-
- PR inline-asm/29119
- * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
- addressable.
-
-2006-10-10 Brooks Moses <bmoses@stanford.edu>
-
- * configure.ac: Added pdf to "Make-hooks"
- * Makefile.in: Added TEXI2PDF definition, and various pdf-file
- targets and *.pdf file patterns in cleanup targets.
- * configure: Regenerated.
-
-2006-10-10 Anatoly Sokolov <aesok@post.ru>
-
- * config/avr/predicates.md: New file.
- * config/avr/avr.md: Include it.
- (REG_SP): New constant.
- (peepholes): Use predicates.
- (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch,
- difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch,
- sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto.
-
-2006-10-10 Adam Nemet <anemet@caviumnetworks.com>
-
- * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to
- avoid alias set 0.
-
-2006-10-10 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/29272
- * builtins.c (var_decl_component_p): New function.
- (fold_builtin_memset, fold_builtin_memory_op): Restrict
- single entry optimization to variables and components thereof.
-
-2006-10-10 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/29323
- * except.c (set_nothrow_function_flags): For functions
- that do not bind local bail out early.
-
-2006-10-10 Ben Elliston <bje@au.ibm.com>
-
- * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
- -mdlmzb option.
-
-2006-10-09 Richard Henderson <rth@redhat.com>
-
- Revert emutls patch.
-
-2006-10-09 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/29254
- * cgraphunit.c (verify_cgraph_node): Bail out on earlier
- errors.
-
-2006-10-09 Steve Ellcey <sje@cup.hp.com>
-
- PR target/27880
- * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
- * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2006-10-09 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
-
-2006-10-08 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/mips.c (mips_legitimize_tls_address): Implement
- all TLS models in the same way as local exec if !TARGET_ABICALLS.
- Remove stray newline.
-
-2006-10-08 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/mips.c (mips_classify_symbol): Do not return
- SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK.
- (mips_in_small_data_p): Tweak comments.
-
-2006-10-08 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
-
-2006-10-07 Kazu Hirata <kazu@codesourcery.com>
-
- * gimplify.c, sched-int.h: Fix comment typos.
-
- * sched-int.h: Fix comment typos.
-
-2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
-
- * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P):
- New macros.
- * sched-ebb.c (begin_schedule_ready): Use them.
- * haifa-sched.c (schedule_insn, move_insn, try_ready,
- add_to_speculative_block, create_check_block_twin, speculate_insn,
- fix_jump_move, move_block_after_check): Ditto.
- * sched-rgn.c (new_ready): Ditto.
-
-2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
-
- PR rtl-optimization/29128
- * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
- * sched-ebb.c (advance_target_bb): Use it to fix condition to
- allow interblock movement of speculation checks.
-
-2006-10-06 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR middle-end/29256
- * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers
- casted to integer type.
- (get_address_cost): Decrease cost of [symbol + index] addressing modes
- if they are significantly more expensive than [reg + index] ones.
-
-2006-10-06 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/29330
- * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro.
- (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer
- on newly allocated ddrs.
- (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer
- to VEC (loop_p, heap) pointer.
- (compute_data_dependences_for_loop): Adjust caller.
- (free_dependence_relations): Free DDR_LOOP_NEST.
-
- * tree-loop-linear.c (linear_transform_loops): Don't forget to
- free DEPENDENCE_RELATIONS and DATAREFS.
-
- PR target/28924
- * builtins.c (expand_builtin_sync_operation,
- expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
- Use convert_to_mode to handle promoted arguments.
-
-2006-10-06 J"orn Rennecke <joern.rennecke@st.com>
-
- * print-tree.c (print_node_brief, print_node): Print sign of Inf.
-
-2006-10-06 J"orn Rennecke <joern.rennecke@st.com>
-
- * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
-
-2006-10-05 Uros Bizjak <uros@kss-loka.si>
-
- * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
- "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
- Use <modeconstraint> instead of "r" as operand 1 constraint.
-
-2006-10-06 Olivier Hainque <hainque@adacore.com>
-
- * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
- Don't recurse on the pointed-to type.
- * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
- DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
- types with components of variable size.
-
-2006-10-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
-
-2006-10-06 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/29290
- * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
- multiple exits.
-
- PR target/29198
- * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
- * config/i386/predicates.md (local_symbolic_operand): Likewise.
-
- PR c/29091
- * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
- the number of vector elements fill the rest with zeros.
-
-2006-10-05 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/mips.c (mips_pass_by_reference): Do not return false
- for EABI if type is NULL. Use a size check based on GET_MODE_SIZE
- instead.
-
-2006-10-05 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.md (subsi3): Lose expander, change previously
- unnamed pattern into subsi3. Use correct constraints/predicates.
- * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
- * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
-
-2006-10-05 Ira Rosen <irar@il.ibm.com>
-
- * doc/loop.texi: Add data references analysis description.
-
-2006-10-04 Brooks Moses <bmoses@stanford.edu>
-
- * doc/gcov.texi: Add formatting to "Invoking gcov" section head.
-
-2006-10-04 Richard Henderson <rth@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
- * builtin-types.def (BT_WORD): Make unsigned.
- (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
- * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
- (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
- * c-decl.c (grokdeclarator): Don't error if !have_tls.
- * c-parser.c (c_parser_omp_threadprivate): Likewise.
- * cgraph.c (decide_is_variable_needed): Look at force_output.
- Recurse for emulated tls.
- * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
- checks redundant with decide_is_variable_needed.
- (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
- * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
- emulated tls.
- * expr.c (emutls_var_address): New.
- (expand_expr_real_1): Expand emulated tls.
- (expand_expr_addr_expr_1): Likewise.
- * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
- * output.h (emutls_finish): Declare.
- * toplev.c (compile_file): Call it.
- * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
- address before wrapping in CONST.
- * varasm.c (emutls_htab, emutls_object_type): New.
- (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
- (get_emutls_object_name, get_emutls_object_type): New.
- (get_emutls_init_templ_addr, emutls_decl): New.
- (emutls_common_1, emutls_finish): New.
- (assemble_variable): When emulating tls, swap decls; generate
- constructor for the emutls objects.
- (do_assemble_alias): When emulating tls, swap decl and target name.
- (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
- for emulated tls.
- * emutls.c: New file.
- * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
- tls_object for real tls.
-
-2006-10-04 Zack Weinberg <zackw@panix.com>
-
- Fix bug in constraint-check generator, reported by Rask Ingemann
- Lambertsen:
- * genpreds.c (add_constraint): Don't remove anything from the
- expression here.
- (write_tm_constrs_h): Detect whether "op" argument is used, and
- mark it ARG_UNUSED if it isn't.
- (write_insn_const_int_ok_for_constraint): Skip the part of the
- expression that would test whether "op" (which is not available
- here) is a CONST_INT.
-
-2006-10-04 Ryan Mansfield <rmansfield@qnx.com>
-
- PR c++/28448
- * doc/invoke.texi (fdiagnostics-show-option): Fix typos.
-
-2006-10-03 Geoffrey Keating <geoffk@apple.com>
-
- * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
- current Leopard versions.
- * config/rs6000/darwin-libgcc.10.5.ver: Likewise.
-
-2006-10-03 Kazu Hirata <kazu@codesourcery.com>
-
- * doc/install.texi: Fix typos.
-
-2006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
- * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
- * config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
-
-2006-10-02 Jack Howarth <howarth@bromo.med.uc.edu>
-
- * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
- arg to be struct mach_header_64* instead.
-
-2006-10-02 Jakub Jelinek <jakub@redhat.com>
-
- PR c/29154
- * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
- side effects after the outer expression's post side effects.
-
-2006-10-01 Sandra Loosemore <sandra@codesourcery.com>
-
- * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix
- comments to reflect actual behavior and relationship between
- DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
-
- * doc/c-tree.texi (Working with declarations): Fix documentation
- of FIELD_DECL likewise.
-
-2006-10-01 Ryan Mansfield <rmansfield@qnx.com>
-
- PR c/20533
- * doc/extend.texi: Add used variable attribute description.
-
-2006-09-30 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/24010
- * c.opt (Woverride-init): New.
- * c-opts.c (c_common_post_options): Default warn_override_init to
- extra_warnings.
- * c-typeck.c (add_pending_init, output_init_element): Warn for
- overriding initializers without side effects.
- * doc/invoke.texi (-Woverride-init): Document.
- (-Wextra): Update.
-
-2006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR rtl-optimization/28096
- * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
- assignment has already been used as a destination earlier in the block.
-
-2006-09-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * builtins.c (expand_builtin_setjmp): Delete.
- (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
- <BUILT_IN_SETJMP_SETUP>: New case.
- <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
- <BUILT_IN_SETJMP_RECEIVER>: Likewise.
- * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
- (BUILT_IN_SETJMP_DISPATCHER): Likewise.
- (BUILT_IN_SETJMP_RECEIVER): Likewise.
- * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
- (lower_function_body): Initialize it to false. If it is set to true
- at the end of the processing, emit the setjmp dispatcher.
- (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
- is __builtin_setjmp and set calls_builtin_setjmp to true as well.
- <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
- on the rhs of the assignment.
- (lower_builtin_setjmp): New function.
- * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
- BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
- * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
- to detect calls that can go to non-local labels. Use specific
- helper to create the abnormal edges associated with them.
- <MODIFY_EXPR>: Likewise.
- (make_abnormal_goto_edges): New function extracted from...
- (make_goto_expr_edges): ...here. Call it for computed gotos.
- (simple_goto_p): Minor tweak.
- (tree_can_make_abnormal_goto): New predicate.
- (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
- (tree_purge_dead_abnormal_call_edges): New function.
- * tree-flow.h (tree_can_make_abnormal_goto): Declare.
- (tree_purge_dead_abnormal_call_edges): Likewise.
- (make_abnormal_goto_edges): Likewise.
- * tree-inline.c (expand_call_inline): Simplify statement frobbing.
- Purge all dead abnormal edges if the call was in the last statement.
- * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
- (execute_fixup_cfg): If there are non-local labels in the function,
- scan the basic blocks and split them at calls that can go to non-local
- labels or add missing abnormal call edges. Write down the CFG in the
- dump file.
- (pass_fixup_cfg): Remove TODO_dump_func flag.
- * unwind-sjlj.c: Poison setjmp.
- * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
- * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
- (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
- (DONT_USE_BUILTIN_SETJMP): Document it.
-
-2006-09-28 Geoffrey Keating <geoffk@apple.com>
-
- PR target/28617
- * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
- to 1 when __ppc64__ is defined.
- * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
- darwin-64.c.
- * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
-
-2006-09-28 Steve Ellcey <sje@cup.hp.com>
-
- * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
- * config/ia64/unwind-hpux.c: Delete.
-
-2006-09-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
- on the element before gimplifying it, instead of punting if it is of
- variable size.
-
-2006-09-28 Zdenek Dvorak <dvorakz@suse.cz>
-
- * doc/loop.texi: New file.
- * doc/gccint.texi: Reference loop.texi.
- * Makefile.in (loop.texi): Add.
-
-2006-09-27 Geoffrey Keating <geoffk@apple.com>
-
- * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
- __sysctl.
- * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
- * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
-
-2006-09-28 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
-
-2006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * doc/install.texi: Document required versions of GMP and MPFR.
-
-2006-09-27 Paul Brook <paul@codesourcery.com>
-
- PR target/29230
- * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
-
-2006-09-27 Richard Sandiford <richard@codesourcery.com>
-
- * reload1.c (alter_reg): Require the alignment of the stack slot to
- be at least reg_max_ref_width bytes.
- (scan_paradoxical_subregs): Record the largest width in
- reg_max_ref_width.
-
-2006-09-26 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/25261
- PR middle-end/28790
- * tree-nested.c (struct nesting_info): Added static_chain_added.
- (convert_call_expr): Set static_chain_added when adding static
- chain. Handle OMP_PARALLEL and OMP_SECTION.
-
-2006-09-25 Matthias Klose <doko@debian.org>
-
- * doc/invoke.texi: Add missing full stop.
-
-2006-09-25 Richard Henderson <rth@redhat.com>
-
- * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
- before cgraph_function_flags_ready.
-
-2006-09-24 Zdenek Dvorak <dvorakz@suse.cz>
- Adam Nemet <anemet@caviumnetworks.com>
-
- * tree-ssa-loop-ivopts.c (aff_combination_convert,
- determine_common_wider_type): New functions.
- (get_computation_aff): Use them to simplify arithmetic between
- UBASE and CBASE if they are shortened from the same type.
-
-2006-09-24 Kazu Hirata <kazu@codesourcery.com>
-
- PR target/28911
- * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
- -2147483647 - 1 instead of 0x80000000.
-
-2006-09-23 Revital1 Eres <ERES@il.ibm.com>
-
- * flags.h (HONOR_NANS): Fix typo in comment.
-
-2006-09-23 Uros Bizjak <uros@kss-loka.si>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
-
-2006-09-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c/28706
- PR c/28712
- * tree.c (merge_attributes, attribute_list_contained): If both
- TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
- simple_cst_equal.
- * c-typeck.c (comptypes_internal): Don't consider aggregates
- in different TUs as compatible if there one set of attributes is
- not a subset of the other type's attributes.
- (composite_type): Try harder not to create a new aggregate type.
-
-2006-09-22 Geoffrey Keating <geoffk@apple.com>
-
- * config/i386/driver-i386.c: Always define host_detect_local_cpu.
- * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
- or x86_64 host. Define HAVE_LOCAL_CPU_DETECT.
- (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
- than replicating condition above.
- * config.host (i[34567]86-*-*): Always use driver-i386.o.
-
- * config/darwin.h (LINK_SYSROOT_SPEC): New.
- (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
- the linker by default.
-
-2006-09-22 Mike Stump <mrs@apple.com>
-
- * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
- code.
-
-2006-09-22 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/28964
- * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
- sort of stack variables stable.
-
-2006-09-22 Peter Bergner <bergner@vnet.ibm.com>
-
- PR middle-end/28690
- * explow.c (force_reg): Set REG_POINTER flag according to
- MEM_POINTER flag.
-
-2006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/28888
- * tree-if-conv.c (combine_blocks): Rewritten.
- * tree-cfg.c (tree_verify_flow_info): Check that edges with
- EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
-
-2006-09-22 Jakub Jelinek <jakub@redhat.com>
-
- * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
- needed.
-
-2006-09-21 Richard Sandiford <richard@codesourcery.com>
-
- * varasm.c (copy_constant): Fix reversed gcc_assert check.
-
-2006-09-21 Janis Johnson <janis187@us.ibm.com>
-
- * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
-
-2006-09-21 Roger Sayle <roger@eyesopen.com>
-
- PR debug/29132
- * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
- dw_fde_current_label, to be the start of the function, i.e. the same
- value as dw_fde_begin.
-
-2006-09-20 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
- * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
- (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
- (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
- (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
- (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
- (abs<mode>2, neg<mode>2): Likewise.
- * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
- (*mips_abs_ps): New define_insn.
-
-2006-09-20 Josh Conner <jconner@apple.com>
-
- PR middle-end/25505
- * calls.c (expand_call): Allow reuse of structure return stack
- temp.
-
-2006-09-20 Paul Brook <paul@codesourcery.com>
-
- * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
- positive offsets.
-
-2006-09-20 Janis Johnson <janis187@us.ibm.com>
-
- * doc/extend.texi (Decimal Float): Update for latest draft TR,
- clean up terminology.
-
-2006-09-20 Steve Ellcey <sje@cup.hp.com>
-
- PR target/28574
- * ifcvt.c (dead_or_predicable): Don't predicate then blocks
- with tablejumps in them.
-
-2006-09-20 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/28046
- * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
- wrap it into TARGET_EXPR.
-
-2006-09-20 Eric Christopher <echristo@apple.com>
-
- * config/i386/i386.c (x86_fisttp): Remove.
- * config/i386/i386.h (x86_fisttp): Ditto.
- (TARGET_FISTTP): Ditto.
-
-2006-09-19 Eric Christopher <echristo@apple.com>
-
- * doc/tm.texi (OBJC_JBLEN): Describe.
- * config/i386/darwin.h (OBJC_JBLEN): Define.
- * config/rs6000/darwin.h: Ditto.
-
-2006-09-19 Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/21299
- * reload1.c (reload): Purge invalid ASMs in the final pass.
-
-2006-09-19 Steve Ellcey <sje@cup.hp.com>
-
- PR 28490
- * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
- pointers as legitimate constants.
-
-2006-09-19 Paul Brook <paul@codesourcery.com>
-
- PR target/28516
- * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
-
-2006-09-17 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/28887
- * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
- component parts from the reference.
- (gather_memory_references_ref): Record the reference without the
- nonaddressable component parts.
-
-2006-09-17 Steven Bosscher <steven@gcc.gnu.org>
-
- PR c/25993
- * c-opts.c (c_common_handle_option): Ignore the -std options
- if the input language is assembly.
-
-2006-09-17 Ira Rosen <irar@il.ibm.com>
-
- PR tree-opt/21591
- * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
- tag first.
- (ptr_ptr_may_alias_p): Likewise.
- (record_record_differ_p): New function.
- (base_object_differ_p): Call record_record_differ_p.
-
-2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR tree-opt/29059
- * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
- away for the expr argument.
-
-2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
-
- PR tree-opt/27742
- * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
- before using it for dumping after vectorizing loops.
-
-2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
- Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR target/29030
- * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
- skip on error_mark_node.
- (rs6000_darwin64_record_arg_recurse): Likewise.
-
-2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
-
- * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
- * doc/rtl.texi: Remove related documentation.
-
-2006-09-16 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
- printf.
-
-2006-09-15 Jim Wilson <wilson@specifix.com>
-
- * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
- Handle symbol offsets same as they are handled in ia64_expand_move
- and move_operand.
-
-2006-09-16 Andreas Tobler <a.tobler@schweiz.org>
-
- * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
- Add forgotten parameter to the fprintf call.
-
-2006-09-15 Steve Ellcey <sje@cup.hp.com>
-
- * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
-
-2006-09-15 Uros Bizjak <uros@kss-loka.si>
-
- * doc/contrib.texi: Add my entry.
-
-2006-09-15 Nick Clifton <nickc@redhat.com>
-
- * doc/md.texi (Processor pipeline description): Fix typo in
- example of how to use the absence_set directive and reword the
- description to make it slightly easier to read.
-
-2006-09-15 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
- * loop-doloop.c (doloop_optimize): Use it to limit costs of
- expanding the number of iterations.
- * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
-
- * cfgrtl.c (emit_insn_at_entry): New function.
- * rtl.h (emit_insn_at_entry): Declare it.
- * integrate.c (emit_initial_value_sets): Use it.
-
- * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
-
- * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
- bad.
- (struct loop_work and related VEC declarations): Delete.
- (bfin_dump_loops): Print out new member bad.
- (bfin_bb_in_loop): Use plain bitmap test. Don't recurse.
- (bfin_scan_loop): Don't recurse.
- (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
- loops. No longer need to update outer loops if the current one is
- found bad. Move some validitiy checks to bfin_discover_loop.
- (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
- but changed not to check for nesting. Also changed to use the new bad
- flag.
- (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
- time. Use bitmap based test to discover loop nesting.
-
-2006-09-15 Kazu Hirata <kazu@codesourcery.com>
-
- * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
- one line.
-
-2006-09-14 Richard Guenther <rguenther@suse.de>
- Kazu Hirata <kazu@codesourcery.com>
-
- PR middle-end/28884.
- * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
- (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
- Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
- with TARGET_FUNCTION_VALUE.
-
-2006-09-14 Anatoly Sokolov <aesok@post.ru>
-
- PR target/26504
- * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
-
-2006-09-13 Aldy Hernandez <aldyh@redhat.com>
-
- * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
- of a RETURN_EXPR
-
-2006-09-13 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR debug/28980
- * dwarf2out.c (loc_descriptor_from_tree_1): Handle
- FUNCTION_DECL.
-
-2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * basic_block.h (bb_has_eh_pred): Fix comment.
-
-2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * flow.c (calculate_global_regs_live): Invalidate eh registers
- on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
- (propagate_block): Handle eh registers as if they were set at basic
- block start.
- * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
- registers.
- * global.c (global_conflicts): Make eh registers to conflict with
- pseudos live at basic block begin.
- * basic_block.h (bb_has_eh_pred): New function.
-
-2006-09-13 Richard Sandiford <richard@codesourcery.com>
-
- PR rtl-optimization/28982
- * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
- index of a PRE_MODIFY or POST_MODIFY address.
- * reload1.c (inc_for_reload): Use find_replacement on the original
- base and index registers.
-
-2006-09-12 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
- for -Os. Update __m128 alignment requirement.
-
-2006-09-13 Jan Hubicka <jh@suse.cz>
-
- * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
-
-2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR rtl-optimization/28243
- * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
- the insn to which the note was originally attached.
-
-2006-09-12 Andrew Pinski <pinskia@physics.uc.edu>
- Roger Sayle <roger@eyesopen.com>
-
- * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
- outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
- on platforms that don't use dwarf for debug info.
-
-2006-09-12 Jason Merrill <jason@redhat.com>
-
- PR middle-end/28493
- * builtins.c (expand_builtin_setjmp_receiver): Clobber
- hard_frame_pointer_rtx after using it to update the frame pointer.
-
-2006-09-12 Roger Sayle <roger@eyesopen.com>
-
- * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
- (TARGET_ASM_CLOSE_PAREN): Likewise.
- * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
- (TARGET_ASM_CLOSE_PAREN): Likewise.
-
-2006-09-12 Roger Sayle <roger@eyesopen.com>
-
- PR target/22223
- * config/alpha/alpha.c (alpha_start_function): Don't emit stack
- frame information for frames larger than 512 Kbytes on Tru64 when
- using the native assembler.
-
-2006-09-12 Roger Sayle <roger@eyesopen.com>
-
- PR middle-end/4520
- PR bootstrap/28784
- * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
- and symbols. Instead use the implementation from cse.c's hash_rtx.
-
-2006-09-12 Jan Hubicka <jh@suse.cz>
-
- PR rtl-optimization/28071
- * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
- (vect_transform_loop): Likewise.
- * tree-vectorizer.c (new_loop_vec_info): Likewise.
- (new_loop_vec_info): Likewise.
- (destroy_loop_vec_info): Likewise.
- * tree-dfa.c (create_var_ann): Use GCC_CNEW.
- (create_stmt_ann): Likewise.
- (create_tree_ann): Rename to ...
- (create_tree_common_ann): ... this one; allocate only the common part
- of annotations.
- * tree-vn.c (set_value_handle): Use get_tree_common_ann.
- (get_value_handle): Likewise.
- * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
- get_tree_common_ann.
- * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
- (vinfo_for_stmt): Use stmt annotations.
- * tree-flow.h (tree_ann_common_t): New type.
- (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
- (tree_ann, get_tree_ann, create_tree_ann): New.
- * tree-flow-inline.h (get_function_ann): Do more type checking.
- (stmt_ann): Likewise.
- (tree_ann): Rename to ...
- (tree_common_ann): ... this one; return ony common_ann
- (get_tree_ann): Rename to ...
- (tree_common_ann): This one; return only common_ann.
- * tree-vect-patterns.c (vect_pattern_recog_1): Update call
- of set_stmt_info.
-
-2006-09-11 Geoffrey Keating <geoffk@apple.com>
-
- * config.gcc (i[34567]86-*-darwin*): Set with_arch and
- with_cpu by default.
-
- * dwarf2out.c (dwarf_file_data): New.
- (enum dw_val_class): Add dw_val_class_file.
- (struct dw_val_struct): Add val_file.
- (file_table): Change to a hash table.
- (file_table_emitted): Delete.
- (file_table_last_lookup_index): Delete.
- (emitcount): Delete.
- (last_emitted_file): New.
- (lookup_filename): Change prototype to return a struct dwarf_file_data.
- (init_file_table): Delete.
- (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
- (AT_addr): Add comment.
- (add_AT_file): New.
- (AT_file): New.
- (get_AT_file): New.
- (print_die): Handle dw_val_class_file.
- (print_dwarf_line_table): Update for new file table structure.
- (attr_checksum): Do checksum a filename.
- (same_dw_val_p, same_attr_p): Do compare a filename.
- (size_of_die): Handle dw_val_class_file.
- (value_format): Likewise.
- (output_die): Likewise. Also, call maybe_emit_file here.
- (struct file_info): Constify filenames. Make file_idx a pointer
- to a struct dwarf_file_data.
- (struct dir_info): Constify directory names. Remove 'used' field.
- (struct file_name_acquire_data): New.
- (file_name_acquire): New.
- (output_file_names): Modify to handle new file data structures.
- (add_src_coords_attributes): Use add_AT_file.
- (add_call_src_coords_attributes): Likewise.
- (dwarf2out_imported_module_or_decl): Likewise.
- (gen_subprogram_die): Modify for new file data structures.
- (gen_variable_die): Likewise.
- (file_table_eq): New.
- (file_table_hash): New.
- (file_table_last_lookup): New.
- (lookup_filename): Rewrite to handle new file data structures.
- (maybe_emit_file): Rewrite to handle new file data structures.
- (dwarf2out_source_line): Always call lookup_filename and
- maybe_emit_file.
- (dwarf2out_init): Create file_table here.
- (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
- (file_table_relative_p): New.
- (dwarf2out_finish): Change detection of relative filenames
- to work with new file data structures. Move output_line_info call
- after debug_info output.
-
-2006-09-11 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/13685
- PR target/27537
- PR target/28621
- * config/i386/i386.c (override_options): Always default to 16
- byte stack boundary.
-
-2006-09-11 Alexandre Oliva <aoliva@redhat.com>
-
- PR target/28672
- * var-tracking.c (dump_dataflow_set): Start dumping at
- register zero.
- (clobber_variable_part): Kill only the variable part in
- registers holding it, leaving other variables alone.
-
-2006-09-11 Josh Triplett <josh@freedesktop.org>
-
- * doc/extend.texi (Other Builtins): Actually use the macro
- argument in the documentation example for
- __builtin_types_compatible_p.
-
-2006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR rtl-optimization/28726
- * sched-deps.c (sched_analyze_reg): New function extracted from...
- (sched_analyze_1): ...here. Call it to analyze references to
- registers. Treat again writes to a stack register as writing to the
- register.
- (sched_analyze_2): ...and here. Call it to analyze references to
- registers. Treat again reads of a stack register as reading the
- register.
-
-2006-09-11 Guenter Roeck <guenter@roeck-us.net>
- David Edelsohn <edelsohn@gnu.org>
-
- PR target/27287
- * config/rs6000/spe.md (frob_df_di): Remove %H.
- (frob_di_df): Remove %H. Change evmergelo to mr.
- (frob_di_df_2): Remove %H. Change evldd to two loads.
-
-2006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
-
- * doc/cpp.texi: Fix names of charset options.
-
-2006-09-10 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR target/29009
- * config/i386/i386.c (override_options): Use 128-bit
- stack boundary always for 64bits.
-
-2006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR rtl-optimization/28636
- * combine.c (force_to_mode): Test for side-effects before
- substituting by zero.
- (simplify_shift_const): Likewise for zero or other constants.
-
-2006-09-10 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/26983
- * builtins.c (expand_builtin_setjmp): Force next_lab to be
- preserved.
-
-2006-09-10 Richard Sandiford <richard@codesourcery.com>
-
- PR target/29006
- * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
- * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
- returned by mode_for_size, rather than the mode of src itself,
- to choose between 32-bit and 64-bit patterns.
- (mips_mem_fits_mode_p): New function.
- * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
- that the size of the source matches the size of the destination.
- (mov_<store>l, mov_<store>r): Likewise.
-
-2006-09-10 Eric Christopher <echristo@apple.com>
-
- * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
- for literal16.
-
-2006-09-09 Eric Christopher <echristo@apple.com>
-
- PR target/28995
- * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
- for literal16.
-
-2006-09-09 Roger Sayle <roger@eyesopen.com>
- Nicolas Setton <setton@adacore.com>
-
- * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
-
-2006-09-10 Andreas Schwab <schwab@suse.de>
-
- * config/m68k/m68k.md (bungt_rev): New pattern.
-
-2006-09-09 Paolo Bonzini <bonzini@gnu.org>
- Dale Johannesen <dalej@apple.com>
-
- PR target/26778
- * regclass.c (struct reg_pref): Update documentation.
- (regclass): Set prefclass to NO_REGS if memory is the best option.
- (record_reg_classes): Cope with a prefclass set to NO_REGS.
-
-2006-09-08 Eric Christopher <echristo@apple.com>
-
- * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
- * config/t-slibgcc-darwin: Support x86_64 multilib.
- * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
- Return 1 for x86_64-darwin.
- * config/i386/t-darwin: Add m64 multilib.
- (LIB2_SIDITI_CONV_FUNCS): Use.
- (LIB2FUNCS_EXTRA): Ditto.
- * config/i386/darwin.h: Support x86_64.
- * config/i386/i386.c (override_options): Turn on flag_pic
- for x86_64-darwin. Disable flag_omit_pointer.
- (get_pc_thunk_name): Assert !TARGET_64BIT.
- (legitimate_address_p): Disable machopic addressing for
- x86_64.
- (legitimize_pic_address): Ditto.
- (ix86_expand_move): Ditto.
- (ix86_expand_call): Ditto.
- (machopic_output_stub): Ditto.
- * config/darwin.c (machopic_select_section): Support literal16.
- (machopic_select_rtx_section): Ditto.
- * config/darwin-sections.def: Ditto.
- * config/darwin-64.c: New.
-
-2006-09-08 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/28504
- * c-tree.h (struct c_arg_info): Add pending_sizes.
- * c-parser.c (c_parser_parms_declarator,
- c_parser_parms_list_declarator): Initialize pending_sizes.
- * c-decl.c (get_parm_info): Initialize pending_sizes.
- (get_parm_info): Set pending_sizes.
- (grokdeclarator): Call put_pending_sizes for parameters for
- function definition only.
-
-2006-09-07 Jason Merrill <jason@redhat.com>
-
- PR middle-end/27724
- * varasm.c (output_constant): Only strip actual no-op conversions.
-
- PR target/13685
- * config/i386/i386.c (override_options): Use 128-bit
- stack boundary if -msse.
-
-2006-09-07 Eric Christopher <echristo@apple.com>
-
- * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
- comment.
- * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
- Redefine.
-
-2006-09-07 Geoffrey Keating <geoffk@apple.com>
-
- * dwarf2out.c: Remove strange characters from comment above
- dwarf2out_frame_debug_expr.
-
-2006-09-07 Eric Christopher <echristo@apple.com>
-
- * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
- * config/darwin.h: ... to here.
-
-2006-09-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (x86_partial_flag_reg_stall): New.
-
- * config/i386/i386.h (x86_partial_flag_reg_stall): New.
- (TARGET_PARTIAL_FLAG_REG_STALL): New.
-
- * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
- TARGET_PARTIAL_FLAG_REG_STALL.
- (*ashldi3_cconly_rex64): Likewise.
- (*ashlsi3_cmp): Likewise.
- (*ashlsi3_cconly): Likewise.
- (*ashlsi3_cmp_zext): Likewise.
- (*ashlhi3_cmp): Likewise.
- (*ashlhi3_cconly): Likewise.
- (*ashlqi3_cmp): Likewise.
- (*ashlqi3_cconly): Likewise.
- (*ashrdi3_cmp_rex64): Likewise.
- (*ashrdi3_cconly_rex64): Likewise.
- (*ashrsi3_cmp): Likewise.
- (*ashrsi3_cconly): Likewise.
- (*ashrsi3_cmp_zext): Likewise.
- (*ashrhi3_cmp): Likewise.
- (*ashrhi3_cconly): Likewise.
- (*ashrqi3_cmp): Likewise.
- (*ashrqi3_cconly): Likewise.
- (*lshrdi3_cmp_rex64): Likewise.
- (*lshrdi3_cconly_rex64): Likewise.
- (*lshrsi3_cmp): Likewise.
- (*lshrsi3_cconly): Likewise.
- (*lshrsi3_cmp_zext): Likewise.
- (*lshrhi3_cmp): Likewise.
- (*lshrhi3_cconly): Likewise.
- (*lshrqi2_cmp): Likewise.
- (*lshrqi2_cconly): Likewise.
-
-2006-09-07 Uros Bizjak <uros@kss-loka.si>
-
- PR target/28946
- * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
- "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
- "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
- "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
- "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
- "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
- "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
- "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
- "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
- implement only CC setting effects of shift instructions.
-
-2006-09-07 Martin Michlmayr <tbm@cyrius.com>
-
- * doc/contrib.texi: Add myself.
-
-2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR middle-end/28862
- * stor-layout.c (relayout_decl): Don't zero the alignment if it
- was set by the user.
-
-2006-09-07 Paolo Bonzini <bonzini@gnu.org>
-
- PR target/27117
- * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
- (divsi_inv_m1): Use them.
- (UNSPEC_DIV_INV_TABLE): New constant.
-
-2006-09-06 James E Wilson <wilson@specifix.com>
-
- PR rtl-opt/27883
- * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
- then call count_or_remove_death_notes.
-
-2006-09-06 Jason Merrill <jason@redhat.com>
-
- PR c++/27371
- * tree-inline.c (copy_result_decl_to_var): New fn.
- (declare_return_variable): Use it. Call declare_inline_vars here.
- (expand_call_inline): Not here.
-
-2006-09-06 Diego Novillo <dnovillo@redhat.com>
-
- * doc/contrib.texi: Update my entry.
-
-2006-09-06 Nick Clifton <nickc@redhat.com>
-
- * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
-
-2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR tree-opt/28937
- * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
- (canonicalize_induction_variables): Likewise.
- (tree_unroll_loops_completely): Likewise.
-&nb