| 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_expand_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 Ávila de Espíndola <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. |
| (tree_ssa_prefetch_arrays): Likewise. |
| (remove_empty_loops): Likewise. |
| * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return |
| TODO_cleanup_cfg instead of directly calling |
| cleanup_tree_cfg_loop. |
| * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): |
| Likewise. |
| (tree_unroll_loops_completely): Likewise. |
| (remove_empty_loops): Likewise. |
| * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise. |
| * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value |
| of tree_ssa_unswitch_loops. |
| (tree_ssa_loop_ivcanon): Use the return value of |
| canonicalize_induction_variables. |
| (tree_ssa_empty_loop): Use the return value of |
| remove_empty_loops. |
| (tree_complete_unroll): Use the return value of |
| tree_unroll_loops_completely. |
| (tree_ssa_loop_prefetch): Use the return value of |
| tree_ssa_prefetch_arrays. |
| * passes.c (execute_todo): Before Cleanup CFG, set |
| updating_used_alone and after cleanup CFG, call |
| recalculate_used_alone. |
| |
| 2006-09-05 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/28952 |
| * tree-vect-transform.c (vectorizable_condition): Move the check |
| for the type after the check for simple condition. |
| |
| 2006-09-05 J"orn Rennecke <joern.rennecke@st.com> |
| Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/28764 |
| * mode-switching.c (optimize_mode_switching): Make the destination |
| block of an abnormal edge have no anticipatable mode. Don't |
| insert mode switching code at the end of the source block of |
| an abnormal edge. |
| |
| 2006-09-05 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR rtl-optimization/26847 |
| * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix. |
| (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno. |
| (simplify_plus_minus): Count n_constants while filling ops. Replace |
| qsort with insertion sort. Before going through the array to simplify |
| pairs, sort it. Delay early exit until after the first sort, exiting |
| only if no swaps occurred. Simplify pairs in reversed order, without |
| special-casing the first iteration. Pack ops after simplifying pairs. |
| |
| 2006-09-05 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device. |
| * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). |
| * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). |
| (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED. |
| |
| 2006-09-05 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/28900 |
| * tree-if-conv.c (find_phi_replacement_condition): Gimplify |
| compound conditional before creating COND_EXPR condition. |
| |
| 2006-09-05 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/28905 |
| * tree-vrp.c (fix_equivalence_set): Manually implement |
| !value_ranges_intersect_p to also handle symbolic ranges. |
| |
| 2006-09-05 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/28935 |
| * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition |
| of a COND_EXPR. |
| |
| 2006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR rtl-optimization/27616 |
| * cse.c (table_size): New static variable. |
| (new_basic_block): Initialize it to 0. |
| (remove_from_table): Decrement it. |
| (insert): Increment it. |
| (fold_rtx_mem_1): New function, renamed from fold_rtx_mem. |
| (fold_rtx_mem): Enforce a cap on the recursion depth. Call |
| fold_rtx_mem_1 if under the cap. |
| (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little |
| the lookup of the equivalent expression and test for equality of the |
| first operand of the equivalent expression before in turn looking up |
| an equivalent constant for the second operand. |
| |
| 2006-09-02 Geoffrey Keating <geoffk@apple.com> |
| |
| Revert this change: |
| 2006-03-17 Alexandre Oliva <aoliva@redhat.com> |
| * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack |
| pointer, instead of assuming it is possible to derive the |
| correct args size from a call insn. |
| |
| 2006-09-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/27567 |
| * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove. |
| (fold_builtin_mempcpy): Rename to... |
| (fold_builtin_memory_op): ... this. Optimize one element copy |
| into an assignment. |
| (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New |
| functions. |
| (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR. |
| (expand_builtin_memcpy, expand_builtin_mempcpy, |
| expand_builtin_memmove): Likewise. Use fold_builtin_memory_op. |
| (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and |
| BUILT_IN_BCOPY. Use fold_builtin_memory_op for |
| BUILT_IN_MEM{CPY,PCPY,MOVE}. |
| |
| 2006-09-01 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload. |
| (stzx_16): Likewise. |
| ("stzx_24_<mode>"): Likewise. |
| ("stzx_reversed_<mode>"): Likewise, and make mode-specific. |
| ("cmp<mode>_op"): New. |
| (cmp<mode>): Change to expander; just save operands. |
| (b<code>_op): New. |
| (b<code>): Change to expander, emit compare here. |
| (s<code>_op): Change to use split and expander. |
| (s<code>_24_op): Likewise. |
| (s<code>_<mode>): New. |
| (s<code>_<mode>_24): New. |
| (movqicc_<code>_<mode): New. |
| (movhicc_<code>_<mode>): New. |
| (s<code>): New. |
| (s<code>_24): New. |
| * config/m32c/m32c.c (compare_op0, compare_op1): New. |
| (m32c_pend_compare): New. |
| (m32c_unpend_compare): New. |
| (m32c_expand_scc): New. |
| (m32c_expand_movcc): Emit the compare also. |
| * config/m32c/predicates.md (mra_nopp_operand): New. |
| |
| 2006-09-01 J"orn Rennecke <joern.rennecke@st.com> |
| Richard Guenther <rguenther@suse.de> |
| Adam Nemet <anemet@caviumnetworks.com> |
| |
| PR middle-end/27226 |
| * builtins.c (get_pointer_alignment): Handle more forms |
| of base addresses that can be used to derive more precise |
| information about alignment. |
| |
| 2006-09-01 Jason Merrill <jason@redhat.com> |
| |
| PR c++/28899 |
| * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle |
| want_value. |
| |
| * gimplify.c (voidify_wrapper_expr): Handle null type. |
| |
| 2006-09-01 Josh Conner <jconner@apple.com> |
| |
| PR c++/25505 |
| * tree-nrv.c (dest_safe_for_nrv_p): New function. |
| (execute_return_slot_opt): Use it. |
| |
| 2006-08-31 Josh Conner <jconner@apple.com> |
| |
| PR c++/25505 |
| * tree-gimple.c (is_gimple_mem_rhs): Recognize functions |
| returning aggregates. |
| |
| 2006-08-31 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/28839 |
| * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in |
| blocks in that phi arguments appear. |
| |
| 2006-08-31 Roger Sayle <roger@eyesopen.com> |
| |
| PR other/22313 |
| * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is |
| NULL, otherwise use an advance_loc4 to adjust relative to the |
| current label. |
| (output_cfi) <DW_CFA_set_loc>: Update the current label. |
| (dwarf2out_switch_text_section): Reset the current label to avoid |
| using advance_loc4 over section boundaries. |
| |
| 2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| PR target/24367 |
| * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like |
| r12 + SYMBOLIC_CONST. |
| |
| 2006-08-30 Richard Guenther <rguenther@suse.de> |
| |
| * Makefile.in (see.o): Add $(EXPR_H) dependency. |
| |
| 2006-08-30 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/27735 |
| * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop): |
| Add new argument to keep track of whether an irreducible region |
| was affected. All callers changed. |
| (fix_irreducible_loops): Removed. |
| (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP |
| flags were invalidated. |
| |
| 2006-08-29 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands |
| instead of SF operands. |
| (*fop_df_comm_sse): Likewise. |
| (*fop_df_comm_i387): Likewise. |
| (*fop_df_1_mixed): Likewise. |
| (*fop_df_1_sse): Likewise. |
| |
| 2006-08-29 Andrew Pinski <pinskia@physics.uc.edu> |
| J"orn Rennecke <joern.rennecke@st.com> |
| |
| PR tree-optimization/17506 |
| * tree-ssa.c (warn_uninit): If warning about a location outside of |
| the current function, note where the variable was declared. |
| |
| 2006-08-28 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/28411 |
| * double-int.c (double_int_div): Use double_int_divmod. |
| (double_int_divmod, double_int_sdivmod, double_int_udivmod, |
| double_int_mod, double_int_smod, double_int_umod): New functions. |
| * double-int.h (double_int_divmod, double_int_sdivmod, |
| double_int_udivmod, double_int_mod, double_int_smod, double_int_umod): |
| Declare. |
| * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result |
| in double_int. |
| (get_computation_aff, get_computation_cost_at): Handle double_int |
| return type of constant_multiple_of. |
| |
| 2006-08-28 Kazu Hirata <kazu@codesourcery.com> |
| |
| PR middle-end/26632 |
| * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on |
| an implicit conversion. |
| |
| 2006-08-28 Prafulla Thakare <prafullat@kpitcummins.com> |
| |
| * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New. |
| |
| 2006-08-27 Roger Sayle <roger@eyesopen.com> |
| |
| * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute |
| x87 instructions. |
| |
| 2006-08-27 Kazu Hirata <kazu@codesourcery.com> |
| |
| * config/i386/crtfastmath.c: Fix a comment typo. |
| |
| 2006-08-26 Roger Sayle <roger@eyesopen.com> |
| |
| * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating |
| temporary visit flags on CASE_LABEL_EXPRs. |
| * c-common.c (match_case_to_enum): Add function comment. Avoid |
| O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN. |
| (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and |
| CASE_HIGH_SEEN for enumerated types. If the switch expression is |
| a constant, only warn if that constant value isn't handled. |
| |
| 2006-08-26 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c++/24009 |
| * input.h (restore_input_file_stack): Declare. |
| (INPUT_FILE_STACK_BITS): Define. |
| * toplev.c (fs_p, input_file_stack_history, |
| input_file_stack_restored, restore_input_file_stack): New. |
| (push_srcloc, pop_srcloc): Check for input_file_stack_tick |
| overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack. |
| (pop_srcloc): Don't free old state of stack. |
| |
| 2006-08-26 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/27544 |
| * doc/extend.texi (PowerPC Variable Attributes): Mention altivec. |
| (PowerPC Type Attributes): New. |
| |
| 2006-08-26 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.c (function_arg_boundary): New. |
| (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to |
| STACK_BOUNDARY. |
| * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new |
| function_arg_boundary function that limits alignment to STACK_BOUNDARY. |
| |
| 2006-08-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/28683 |
| * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly |
| 3 following insns. |
| |
| 2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| * flow.c (verify_wide_reg): Use internal_error for consistency failure. |
| (verify_local_live_at_start): Likewise. |
| |
| 2006-08-25 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/27893 |
| * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval, |
| omp_add_variable): Treat sizes as variable whenever not |
| INTEGER_CST. |
| |
| 2006-08-26 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/28814 |
| * fold-const.c (fold_binary): Fold temporary to correct |
| type before constructing new comparison. |
| |
| 2006-08-25 Fariborz Jahanian <fjahanian@apple.com> |
| |
| PR c/28418 |
| * c-gimplify.c (gimplify_compound_literal_expr): Don't add |
| variable again if DECL_SEEN_IN_BIND_EXPR_P. |
| |
| 2006-08-25 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/28299 |
| * c-decl.c (start_function): Don't try to process prototype |
| information from old declaration that isn't a function. |
| |
| 2006-08-25 Jan Hubicka <jh@suse.cz> |
| |
| PR target/28621 |
| * config/i386/crtfastmath.c (set_fast_math): Force stack alignment. |
| |
| 2006-08-25 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/27075 |
| * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax |
| for 8 byte objects. |
| |
| 2006-08-25 J"orn Rennecke <joern.rennecke@st.com> |
| |
| PR tree-optimization/16876 |
| * c-typeck.c (c_convert_parm_for_inlining): Don't take early |
| exit if PARM doesn't match VALUE. |
| |
| 2006-08-25 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a |
| literal_prefix directive. |
| (XTENSA_DECLARE_FUNCTION_SIZE): Delete. |
| * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete. |
| * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete. |
| |
| 2006-08-25 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/28753 |
| * config/rs6000/rs6000.md (movcc_internal1): Change operand 1 |
| predicate to general_operand. Add 0->y and I->r alternatives. |
| |
| 2006-08-25 Kazu Hirata <kazu@codesourcery.com> |
| |
| * doc/tm.texi: Fix a typo. |
| * predict.c: Fix comment typos. |
| |
| 2006-08-25 Nick Clifton <nickc@redhat.com> |
| |
| * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add |
| assertions of "cpu" and "machine". |
| |
| 2006-08-24 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/28807 |
| * tree-ssa-operands.c (access_can_touch_variable): Don't say |
| the access through a base which has an alias set of 0 cannot |
| touch the variable. |
| |
| 2006-08-24 Bill Wendling <wendling@apple.com> |
| |
| * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English. |
| |
| 2006-08-24 Jan Hubicka <jh@suse.cz> |
| |
| * reload1.c (emit_reload_insns): Fix yet another typo in my patch. |
| |
| 2006-08-24 Jan Hubicka <jh@suse.cz> |
| |
| PR debug/26881 |
| * cgraph.c: Fix comments. |
| (cgraph_varpool_mark_needed_node): Mark only variables not already |
| output to file. |
| * cgraphunit.c: Update comments; include gt-cgraphunit.h |
| (cgraph_varpool_assembled_nodes_queue): New static variable. |
| (cgraph_varpool_assemble_decl): Record output decls for debug out code. |
| (cgraph_varpool_output_debug_info): New function. |
| (cgraph_finalize_compilation_unit, cgraph_optimize): Call it. |
| * Makefile.in: Add gt-cgraphunit.h |
| |
| 2006-08-24 Jan Hubicka <jh@suse.cz> |
| |
| * predict.c (probability_reliable_p): New predicate. |
| (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise. |
| (predict_loops): Do not predict loop exit with less than 2% |
| probability. |
| * basic-block.h (edge_probability_reliable_p, |
| br_prob_note_reliable_p): Declare. |
| * ia64.h (ia64_print_operand): Do not disable on-chip branch |
| prediction when static predictor is not reliable. |
| * rs6000.c (output_cbranch): Likewise. |
| |
| 2006-08-23 Stuart Hastings <stuart@apple.com> |
| |
| PR 28825 |
| * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate, |
| ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test. |
| |
| 2006-08-21 Geoffrey Keating <geoffk@apple.com> |
| |
| PR debug/28692 |
| * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for |
| complex values, nor for generic vector values. |
| |
| 2006-08-22 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/28776 |
| * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt |
| parameter. Convert arguments to arithmetic expression to the |
| chrecs type. |
| (analyze_scalar_evolution_1): Adjust caller. |
| |
| 2006-08-22 Jan Hubicka <jh@suse.cz> |
| |
| Patch by Paolo Bonzini |
| * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by |
| my previous patch. |
| |
| 2006-08-22 Daniel Berlin <dberlin@dberlin.org> |
| |
| PR tree-optimization/28003 |
| * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered |
| before grouping aliases. |
| |
| 2006-08-22 Roger Sayle <roger@eyesopen.com> |
| |
| * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG |
| if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE. |
| |
| 2006-08-21 Jason Merrill <jason@redhat.com> |
| |
| PR c++/27115 |
| * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a |
| wrapper. Loop to handle nested wrappers. |
| (gimplify_bind_expr): Remove temp parameter. |
| (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR |
| and STATEMENT_LIST on the rhs. |
| (gimplify_statement_list): Voidify the STATEMENT_LIST. |
| (gimplify_expr): Pass pre_p to gimplify_statement_list. |
| (gimplify_target_expr): Remove special BIND_EXPR handling. |
| |
| 2006-08-21 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with |
| #if !__SHMEDIA__ . |
| |
| 2006-08-21 Olivier Hainque <hainque@adacore.com> |
| |
| * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>: |
| Arrange for the temporary captures of components overlapping the lhs |
| to happen before the lhs is possibly cleared. |
| |
| 2006-08-21 Mark Shinwell <shinwell@codesourcery.com> |
| |
| * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in |
| necessary places to pass the correct "number of registers" values |
| to _Unwind_VRS_Pop. |
| |
| 2006-08-20 Jan Hubicka <jh@suse.cz> |
| |
| * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function. |
| (create_name_tags): Instead of quadratic checking use hashtable. |
| * bitmap.h: Include hashtab.h. |
| (bitmap_hash): Declare. |
| * bitmap.c (bitmap_hash): New function. |
| |
| 2006-08-20 Jan Hubicka <jh@suse.cz> |
| |
| PR rtl-optimization/28071 |
| * tree-optimize.c (tree_rest_of_compilation): Do not remove edges |
| twice. |
| * tree-inline.c (copy_bb): Use cgraph_set_call_stmt. |
| * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument. |
| (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function, |
| cgraph_decide_inlining_incrementally): Update use of |
| cgraph_check_inline_limits. |
| * cgraph.c (edge_hash, edge_eq): New function. |
| (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge, |
| cgraph_edge_remove_caller, cgraph_node_remove_callees, |
| cgraph_remove_node): Maintain call site hash. |
| * cgraph.h (struct cgraph_node): Add call_site_hash. |
| (cgraph_set_call_stmt): New function. |
| |
| 2006-08-20 Jan Hubicka <jh@suse.cz> |
| |
| PR rtl-optimization/28071 |
| * reload1.c (reg_has_output_reload): Turn into regset. |
| (reload_as_needed, forget_old_reloads_1, forget_marked_reloads, |
| choose_reload_regs, emit_reload_insns): Update to new |
| reg_has_output_reload. |
| |
| 2006-08-20 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/28779 |
| * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute |
| function body sizes. |
| * cgraphunit.c (cgraph_analyze_function): Don't do so. |
| |
| 2006-08-20 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR target/28648 c: |
| * tree.c (handle_dll_attribute): Return early if not a |
| var or function decl. |
| |
| 2006-08-18 Joseph Myers <joseph@codesourcery.com> |
| |
| PR target/27565 |
| * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust |
| alignment of SPE vector types. |
| |
| 2006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr> |
| |
| * tree.c (is_attribute_with_length_p): Remove a duplicated assert. |
| |
| 2006-08-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/28744 |
| * cgraph.h (struct cgraph_node): Remove externally_visible |
| bitfield. |
| * cgraphunit.c (process_function_and_variable_attributes): Set |
| local.externally_visible rather than externally_visible. |
| |
| PR c/28744 |
| * c-common.c (handle_externally_visible_attribute): First look |
| at TREE_CODE and only if it is function or var decl, check for |
| non-public objects. Don't warn for DECL_EXTERNAL. |
| * cgraphunit.c (process_function_and_variable_attributes): Warn |
| if externally_visible attribute is used on non-public object. |
| |
| 2006-08-17 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/27865 |
| * reload1.c (forget_marked_reloads): New function. |
| (forget_old_reloads_1): When data are passed, just mark the registers |
| for later removal. |
| (reload_as_needed): Use the new mechanizm. |
| |
| 2006-08-17 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR target/28146 |
| * reload.h (reg_equiv_alt_mem_list): New declaration. |
| * reload1.c (reg_equiv_alt_mem_list): New definition. |
| (reload): Initialize it and release it. |
| (delete_output_reload): Use it. |
| * reload.c (push_reg_equiv_alt_mem): New function. |
| (find_reloads_toplev): Call it. |
| (find_reloads_address, find_reloads_address_1): Likewise. |
| (find_reloads_subreg_address): Likewise. |
| |
| 2006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| PR rtl-optimization/28489 |
| * sched-ebb.c (begin_schedule_ready): Create basic block |
| at the right place. |
| (advance_target_bb): Skip empty blocks. |
| * haifa-sched.c (bb_note): Make global. |
| * sched-int.h (bb_note): Add prototype. |
| |
| 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/27865 |
| * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE |
| for pointer types. |
| * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p, |
| fold_used_pointer, pointer_used_p): New functions. |
| (analyze_scalar_evolution_1): Use fold_used_pointer. |
| * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly. |
| * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type |
| for pointers. |
| |
| 2006-08-17 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR c++/28573 |
| * c-common.c (fold_offsetof_1): Add an argument and recurse down to it |
| or the INTEGER_CST. Fail on a CALL_EXPR. |
| (fold_offsetof): Pass new argument to fold_offsetof_1. |
| * c-parser.c (c_parser_postfix_expression): Don't include a NULL |
| operand into an INDIRECT_REF. |
| * c-typeck.c (build_unary_op): Adjust call to fold_offsetof. |
| |
| 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR gcov/profile/26570 |
| * value-prof.c (static_values): Removed. |
| (tree_find_values_to_profile): Do not set static_values. |
| (find_values_to_profile): Do not free static_values. |
| * profile.c (instrument_values): Do not free the values. |
| (branch_prob): Free the values. |
| |
| 2006-08-16 Naveen.H.S <naveenh@kpitcummins.com> |
| |
| * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest. |
| |
| 2006-08-16 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/27697 |
| * c-typeck.c (build_component_ref): Combine qualifiers of |
| structure or union and field. |
| |
| 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/28071 |
| * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare. |
| * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions. |
| * tree-into-ssa.c (struct dom_dfsnum): New. |
| (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New |
| functions. |
| (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of |
| compute_global_livein. |
| (prepare_block_for_update, prepare_use_sites_for): Mark the uses |
| in phi nodes in the correct blocks. |
| |
| 2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/28364 |
| * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero |
| correctly. |
| (fold_affine_expr): New function. |
| (may_eliminate_iv): Use fold_affine_expr. |
| |
| 2006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c/27489 |
| * c-typeck.c (c_start_case): Handle invalid orig_type correctly. |
| Clean up. |
| |
| 2006-08-16 Mike Stump <mrs@apple.com> |
| |
| * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref. |
| * doc/cppopts.texi (-MD): Likewise. |
| |
| 2006-08-15 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR c/28287 |
| * c-common.c (handle_weak_attribute): Ignore and warn if |
| not a FUNCTION_ or VAR_DECL. |
| |
| 2006-07-15 Mike Stump <mrs@apple.com> |
| |
| PR c/28280 |
| * c-parser.c (c_parser_typeof_specifier): Don't use |
| c_finish_expr_stmt, open code desired semantics instead. |
| |
| 2006-08-15 Nick Clifton <nickc@redhat.com> |
| |
| * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile |
| fragment to tmake_file only if threads are enabled. |
| * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to... |
| * config/i386/t-gthr-win32: New file. ... here. |
| |
| 2006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c/28649 |
| * c-parser.c (c_parser_compound_statement_nostart): Reset |
| parser->error after each statement. |
| |
| 2006-08-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/28713 |
| * omp-low.c (lower_omp_parallel): Convert t to |
| receiver_decl's type. |
| (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR |
| source before comparison. |
| |
| PR middle-end/28724 |
| * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival |
| to itype in assignment to oldival2. |
| |
| 2006-07-14 Andrew Pinski <pinksia@physics.uc.edu> |
| |
| PR c/27490 |
| PR c/27489 |
| * c-typeck.c (build_compound_expr): If the second expression |
| is an error mark, then just return an error mark instead of |
| creating a COMPOUND_EXPR. |
| |
| 2006-07-14 Mike Stump <mrs@apple.com> |
| |
| * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES. |
| |
| 2006-08-14 Kazu Hirata <kazu@codesourcery.com> |
| |
| * c-decl.c, var-tracking.c: Fix comment typos. |
| |
| 2006-08-14 Richard Sandiford <richard@codesourcery.com> |
| |
| PR rtl-optimization/28634 |
| * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A |
| for floating-point modes unless flag_unsafe_math_optimizations. |
| |
| 2006-08-13 Alexandre Oliva <aoliva@redhat.com> |
| Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR c/27184 |
| * tree.c (build_array_type): Unify array types with |
| unspecified index_type. |
| * c-decl.c (grokdeclarator): Make sure we do not modify a |
| unified incomplete array type. |
| * c-typeck.c (store_init_value): Create distinct type before |
| filling in the index type in an initializer from a compound |
| literal. |
| |
| * c-decl.c (grokdeclarator): Remove code where we copy the |
| array type over. |
| |
| 2006-08-13 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * tree-pass.h (TODO_update_ssa): Fix which bit is used to take |
| into account for TODO_dump_cgraph. |
| (TODO_update_ssa_no_phi): Likewise. |
| (TODO_update_ssa_full_phi): Likewise. |
| (TODO_update_ssa_only_virtuals): Likewise. |
| (TODO_remove_unused_locals): Likewise. |
| (TODO_set_props): Likewise. |
| (TODO_update_stmt_usage): Likewise. |
| |
| 2006-08-13 Dirk Mueller <dmueller@suse.de> |
| |
| * c-common.c (strict_aliasing_warning): Fix formatting. |
| |
| 2006-08-13 Matthias Klose <doko@debian.org> |
| |
| * doc/invoke.texi: Fix spelling errors. |
| |
| 2006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR rtl-optimization/23454 |
| * reorg.c (relax_delay_slots): Update comment. |
| |
| 2006-08-11 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/28651 |
| * simplify-rtx.c (simplify_const_relational_operation): |
| Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison |
| codes. |
| |
| 2006-08-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.c (build1_stat): Also propagate the TREE_CONSTANT and |
| TREE_INVARIANT flags for a VIEW_CONVERT_EXPR. |
| |
| 2006-08-10 Paul Brook <paul@codesourcery.com> |
| |
| * final.c (final_scan_insn): Clear current_insn_predicate before |
| outputting inline asm. |
| |
| 2006-08-10 Dorit Nuzman <dorit@il.ibm.com> |
| |
| PR tree-optimization/26197 |
| * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls |
| get_ref_base_and_extent and overlap_subvar to add only relevant |
| subvars as may-aliases. |
| (add_may_alias_for_new_tag): New function, factored out of |
| new_type_alias. |
| * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias |
| with additional argument. |
| * tree-flow.h (new_type_alias): Takes additional argument. |
| |
| 2006-08-09 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * gcov.c (no_data_file): New flag. |
| (read_count_file): Set it if data file not present. Assume counts |
| zero if not found. |
| (output_lines): Don't name the data file, if there wasn't one. |
| |
| 2006-08-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust. |
| (rs6000_generate_compare): Tweak comments. |
| * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment. |
| |
| 2006-08-09 Alexandre Oliva <aoliva@redhat.com> |
| |
| * var-tracking.c (enum micro_operation_type): Add MO_COPY. |
| (var_debug_decl): New function. |
| (var_reg_set): Follow debug decl link. Add location even if |
| reg is already known to hold some other variable. |
| (var_mem_set): Follow debug decl link. |
| (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug |
| decl link. Delete other known locations of the variable part |
| if requested. |
| (var_reg_delete, var_mem_delete): Delete other known locations |
| of the variable part if requested. |
| (same_variable_part_p): New function. |
| (add_stores): Select MO_COPY when appropriate. |
| (vt_initialize): Handle it. |
| (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete |
| known locations for MO_SET and MO_CLOBBER. |
| (find_variable_location_part): New function. |
| (set_variable_part, delete_variable_part): Use it. |
| (clobber_variable_part): New function. |
| * dwarf2out.c (dwarf2out_var_location): Do not follow debug |
| decl link. |
| |
| 2006-08-07 Victor Kaplansky <victork@il.ibm.com> |
| |
| PR tree-optimization/26969 |
| * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch |
| with an empty list of PHIs. |
| |
| 2006-08-06 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR target/27827 |
| |
| * conffig/i386/i386.md: Add peephole2 to avoid "fld %st" |
| instructions. |
| |
| 2006-08-06 Andreas Schwab <schwab@suse.de> |
| |
| * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format |
| string. Whitespace and comment fixup. |
| |
| 2006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c/28502 |
| * c-decl.c (validate_proto_after_old_defn): Return false on invalid |
| argument. |
| |
| PR c/27721 |
| * c-typeck.c (build_modify_expr): Test earlier for non-lvalues. |
| |
| PR c/28136 |
| * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify. |
| |
| 2006-08-04 Jan Hubicka <jh@suse.cz> |
| |
| PR target/26655 |
| PR target/28270 |
| * reload.c (push_reload): Patch out the mismatching instruction; |
| return early. |
| (find_reload): Bail out if the instruction was patched out. |
| |
| 2006-08-04 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/24888 |
| * tree-inline.c (expand_call_inline): Do not re-record variables. |
| (declare_inline_vars): Add variable to unexpanded_var_list. |
| |
| 2006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| Roger Sayle <roger@eyesopen.com> |
| |
| PR rtl-optimization/26244 |
| * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or |
| inner_const are negative or greater than or equal to the bitsize of |
| MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated. |
| Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1. |
| Simplify complicated if statement. For ASHIFT and LSHIFTRT, return |
| CONST0_RTX (mode) when the new shift count is greater than or equal to |
| to the bitsize of the object being shifted and XEXP (y, 0) has no side |
| effects. |
| |
| 2006-08-04 Kazu Hirata <kazu@codesourcery.com> |
| |
| * tree-cfg.c: Fix a comment typo. |
| |
| 2006-08-03 Mark Mitchell <mark@codesourcery.com> |
| |
| PR c++/28148 |
| * varasm.c (output_constant): Give the front end another chance to |
| expand constants, after stripping NOPs. |
| |
| 2006-08-03 Jan Hubicka <jh@suse.cz> |
| |
| * domwalk.c (walk_dominator_tree): Reorganize to non-recursive |
| implementation. |
| |
| 2006-08-03 Dorit Nuzman <dorit@il.ibm.com> |
| |
| PR tree-optimization/27770 |
| * tree-vectorizer.h (get_vectype_for_scalar_type): Function |
| declaration removed (moved to tree-flow.h). |
| (vect_can_force_dr_alignment_p): Likewise. |
| * tree-flow.h (get_vectype_for_scalar_type): New function declaration |
| (moved from tree-vectorizer.h). |
| (vect_can_force_dr_alignment_p): Likewise. |
| * tree-vectorizer.c (vect_print_dump_info): Allow calling this function |
| from outside the vectorizer - in particular from cgraph stage. |
| * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase |
| the alignment of global arrays when -fsection-anchors is enabled. |
| * cgraphunit.c (cgraph_increase_alignment): New function. |
| (cgraph_optimize): Call cgraph_increase_alignment. |
| |
| 2006-08-03 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/27566 |
| * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do |
| not reload a SPE symbol_ref into a lo_sum address. |
| |
| 2006-08-02 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| PR debug/28063 |
| * dwarf2out.c (prune_unused_types_prune): Move call to |
| prune_unused_types_update_strings to cover the parent DIE also. |
| |
| 2006-08-02 Jan Hubicka <jh@suse.cz> |
| |
| PR gcov/profile/28480 |
| * tree-cfg.c (change_bb_for_stmt): New function. |
| (tree_merge_blocks, tree_split_blocks): Use it. |
| |
| 2006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c++/28250 |
| PR c++/28257 |
| PR c++/28259 |
| PR c++/28267 |
| * toplev.c (compile_file): Return early on errorcount or sorrycount. |
| * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise. |
| (cgraph_optimize): Likewise. |
| |
| 2006-08-01 Stuart Hastings <stuart@apple.com> |
| |
| * rtl.h (UINTVAL) New. |
| * config/rs6000/rs6000.c (SMALL_INT) Use it. |
| * testsuite/gcc.dg/20060801-1.c: New. |
| |
| 2006-08-01 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| PR debug/23336 |
| * c-typeck.c (build_external_type): Mark used enum types. |
| * dwarf2out.c (dwarf2out_abstract_function): Save and restore |
| cfun also. |
| (gen_subprogram_die): Whitespace fix. |
| |
| 2006-08-01 Jan Hubicka <jh@suse.cz> |
| |
| * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars |
| bitmap when not needed. |
| * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary |
| bitmaps. |
| |
| 2006-08-01 Dirk Mueller <dmueller@suse.de> |
| |
| * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak. |
| |
| 2006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| * Makefile.in: Revert part of previous patch: |
| Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H |
| and REGS_H. |
| |
| 2006-07-30 Eric Christopher <echristo@apple.com> |
| |
| PR target/27543 |
| * doc/extend.texi (i386 Variable Attributes): Add anchor. |
| (PowerPC Variable Attributes): New section. |
| |
| 2006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp> |
| |
| PR target/28126 (partial fix) |
| * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no. |
| |
| 2006-07-28 Jan Hubicka <jh@suse.cz> |
| |
| PR rtl-optimization/28071 |
| * cfgrtl.c (rtl_delete_block): Free regsets. |
| * flow.c (allocate_bb_life_data): Re-use regsets if available. |
| |
| 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies |
| and variables used in dependencies. |
| |
| 2006-07-27 Arjan van de Ven <arjan@linux.intel.com> |
| |
| * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than |
| %fs for -mcmodel=kernel. |
| (stack_tls_protect_test_di): Likewise. |
| |
| 2006-07-27 Carlos O'Donell <carlos@codesourcery.com> |
| |
| * Makefile.in: Use mkinstalldirs. |
| |
| 2006-07-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR driver/28437 |
| * opts-common.c (prune_options): Skip joined switches. |
| |
| 2006-07-27 Jan Hubicka <jh@suse.cz> |
| |
| PR rtl-optimization/28071 |
| * cselib.c (cselib_process_insn): Don't remove useless values too |
| often for very large hashtables. |
| |
| 2006-07-27 Jan Hubicka <jh@suse.cz> |
| |
| PR rtl-optimization/28071 |
| * global.c (greg_obstack): New obstack. |
| (allocate_bb_info): Use it. |
| (free_bb_info): Likewise. |
| (modify_reg_pav): Likewise. |
| |
| 2006-07-27 Roger Sayle <roger@eyesopen.com> |
| |
| * builtins.c (fold_fixed_mathfn): When long and long long are the |
| same size, canonicalize llceil*, llfloor*, llround* and llrint* |
| functions to their lceil*, lfloor*, lround* and lrint* forms. |
| |
| 2006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
| |
| PR gcc/28508 |
| * config/m32r/m32r.md (branch_insn): Reduce pc range for short |
| branch. |
| (rev_branch_insn): Likewise. |
| |
| 2006-07-27 Jan Hubicka <jh@suse.cz> |
| |
| PR rtl-optimization/28071 |
| * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour. |
| (reg_set_in_bb, max_reg_computed): New static variables. |
| (regmove_optimize): Free the new array. |
| (fixup_match_1): Update call of reg_is_remote_constant_p. |
| |
| 2006-07-26 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/27882 |
| * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous |
| and decl fields. |
| * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill |
| next pointer |
| (cgraph_analyze_compilation_unit): Likewise. |
| * ipa.c (cgraph_remove_unreachable_nodes): Likewise. |
| * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise. |
| (cgraph_early_inlinine): Make order garbage collected. |
| * Makefile.in (gt-ipa-inline): New garbagecollected file. |
| |
| 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * dbxout.c (output_types_sort): Add a comment. |
| (output_used_types): Free the VEC. |
| |
| 2006-07-26 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * function.c (reorder_fix_fragments): Delete. |
| (reorder_blocks): Don't call it. |
| (reorder_blocks_1): Put all subblocks under the origin block. |
| |
| 2006-07-26 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/27907 |
| * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and |
| FLOAT_TRUNCATE. |
| |
| 2006-07-25 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/28473 |
| * convert.c (convert_to_integer): When transforming (T)foo(x) into |
| bar(x) check that bar's result type can represent all the values of T. |
| |
| 2006-07-25 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure. |
| |
| 2006-07-25 Nick Clifton <nickc@redhat.com> |
| |
| * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the |
| size_lookup[] array. |
| (ggc_alloc_stat): Use NUM_SIZE_LOOKUP. |
| (ggc_pch_count_object): Likewise. |
| (ggc_pch_alloc_object): Likewise. |
| (ggc_pch_write_object): Likewise. |
| (init_ggc): Do not attempt to initialize entries in the |
| size_lookup[] array for objects whose size is greater than than |
| the length of the array. |
| |
| 2006-07-25 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * dbxout.c (output_used_types_helper): Push queued types |
| on a VEC. |
| (output_types_sort): New. |
| (output_used_types): Collect used types on a VEC and sort them |
| before emission. |
| |
| 2006-07-24 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/28463 |
| * cgraph.c (cgraph_remove_node): Do not check if dumps |
| are enabled. |
| * cgraphunit.c (cgraph_optimize): Likewise. |
| |
| 2006-07-24 Jan Hubicka <jh@suse.cz> |
| |
| PR rtl-optimization/28071 |
| * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes. |
| * tree-iterator.c (tsi_split_statement_list_before): Do not crash when |
| splitting before first stmt. |
| |
| 2006-07-24 Jan Hubicka <jh@suse.cz> |
| |
| PR rtl-optimization/28071 |
| * ipa-inline.c (update_caller_keys): Remove edges that |
| are no longer inline candidates. |
| |
| 2006-07-23 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| PR debug/27473 |
| * dbxout.c (output_used_types_helper, output_used_types): New. |
| (dbxout_symbol): Call output_used_types. |
| |
| 2006-07-23 Jan Hubicka <jh@suse.cz> |
| |
| PR c/25795 |
| PR c++/27369 |
| * cgraph.c (cgraph_varpool_nodes): Export. |
| (decide_is_variable_needed): Ignored "used" attribute in |
| unit-at-a-time mode. |
| * cgraph.h (cgraph_varpool_nodes): Declare. |
| * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in |
| unit-at-a-time mode. |
| |
| 2006-07-23 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/28247 |
| * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and |
| mutex_destroy even when !_LIBOOBJC. Remove duplicate prototype of |
| the __gthrw form of thr_keycreate. |
| (__gthread_key_delete): Silence the unused argument warning. |
| |
| 2006-07-23 Steven Bosscher <steven@gcc.gnu.org> |
| |
| PR debug/25468 |
| * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks. |
| Cache the last found '\0' marker to avoid quadratic behavior. |
| |
| 2006-07-23 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (subsi_3_zext): Fix output template. |
| |
| 2006-07-21 Mike Stump <mrs@apple.com> |
| |
| * doc/invoke.texi (C++ Dialect Options): Note that |
| -fvisibility-inlines-hidden doesn't affect explicitly |
| instantiationed inline methods. |
| |
| 2006-07-20 Roger Sayle <roger@eyesopen.com> |
| |
| * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file |
| if the target assembler is GNU binutils' gas. |
| * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine |
| whether to pass GNU gas or native as command line options. |
| |
| 2006-07-20 Jason Merrill <jason@redhat.com> |
| |
| * tree.c (remove_attribute): New fn. |
| * tree.h: Declare it. |
| |
| 2006-07-20 Paul Brook <paul@codesourcery.com> |
| |
| PR 27363 |
| * cse.c (cse_insn): Add destination addresses to hash table. Check if |
| they are invalidated by this instruction. |
| |
| 2006-07-21 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR target/28427 |
| * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define. |
| |
| 2006-07-20 Eric Christopher <echristo@apple.com> |
| |
| PR target/26877 |
| * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder. |
| |
| 2006-07-19 Eric Christopher <echristo@apple.com> |
| |
| * config/t-slibgcc-darwin (stmp-lipo): Remove. |
| Rewrite dependencies for libgcc_s.1.dylib. |
| |
| 2006-07-19 Jakub Jelinek <jakub@redhat.com> |
| |
| * except.c (duplicate_eh_regions_1): Clear next_peer. |
| |
| 2006-07-17 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document that |
| -mlongcall does not guarantee all calls will be long. |
| * doc/extend.texi (long_call/short_call): Document that longcall |
| does not guarantee a long call will be used. |
| (longcall/shortcall): Likewise. |
| |
| 2006-07-18 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/28283 |
| * expmed.c (expand_shift): Additionally check that the shift_cost |
| is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD |
| before implementing a LSHIFT_EXPR as a sequence of additions. |
| * config/sh/sh.c (shift_costs): Return MAX_COST to inform the |
| middle-end that DImode shifts need to be synthesized by expand. |
| |
| 2006-07-18 Diego Novillo <dnovillo@redhat.com> |
| |
| PR 28410 |
| * tree-ssa-operands.c (access_can_touch_variable): Update |
| comment. |
| Return true if ALIAS is .GLOBAL_VAR. |
| |
| 2006-07-18 David Daney <ddaney@avtrex.com> |
| |
| * gcc.c (display_help): Fix typo in help text. |
| |
| 2006-07-18 Olivier Hainque <hainque@adacore.com> |
| |
| * tree.h (categorize_ctor_elements): Adjust prototype and add |
| descriptive comment, both in accordance with the interface change |
| described below. |
| * varasm.c (constructor_static_from_elts_p): New function. |
| Whether a constructor node is a valid static constant initializer |
| if all its elements are. |
| (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it. |
| * output.h: Declare it. |
| * expr.c (categorize_ctor_elements_1): Return whether the constructor |
| is a valid constant initializer instead of computing the number of |
| non-constant elements. Use constructor_static_from_elts_p for this |
| purpose. Replace the head comment with an indication that this is a |
| helper for categorize_ctor_elements. |
| (categorize_ctor_elements): Same interface change as for the _1 |
| helper. Former head comment from this helper moved here, adjusted to |
| account for the interface changes. |
| (mostly_zeros_p): Adjust call to categorize_ctor_elements. |
| (all_zeros_p): Likewise. |
| * gimplify.c (gimplify_init_constructor): Decide whether we can make |
| static versions of the constructor from the categorize_ctor_elements |
| return value instead of the formerly computed number of non-constant |
| elements. |
| |
| 2006-07-18 Paolo Bonzini <bonzini@gnu.org> |
| |
| * configure: Regenerate. |
| * Makefile.in (build_libsubdir): New configure substitution |
| (build_libobjdir): New variable. |
| (BUILD_LIBIBERTY): Use it. |
| |
| 2006-07-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c/28286 |
| * c-pragma.c (handle_pragma_pack): Handle invalid constants. |
| |
| 2006-07-18 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR c/26993 |
| * c-common.c (handle_weakref_attribute): Ignore attribute in |
| the same conditions the alias attribute is ignored. |
| |
| 2006-07-17 Carlos O'Donell <carlos@codesourcery.com> |
| |
| * dbxout.c (dbxout_function_end): Do not increment scope_labelno. |
| (dbxout_begin_prologue): Increment scope_labelno. |
| |
| 2006-07-17 Richard Henderson <rth@redhat.com> |
| |
| PR 27889 |
| * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P |
| if needed. |
| |
| 2006-07-17 Roger Sayle <roger@eyesopen.com> |
| Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * config/i386/gmon-sol2.c: Silence compilation warnings by partially |
| synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0 |
| blocks. #include "tconfig.h" and "tsystem.h" to prototype system |
| functions such as sbrk, write, etc.. Add function prototypes. |
| Convert function declarations from K&R to ISO C. Cast pointers |
| to "long" and "unsigned long" instead of "int" and "unsigned int". |
| Convert tokens following #endif into comments. |
| |
| 2006-07-17 Toon Moene <toon@moene.indiv.nluug.nl> |
| |
| * invoke.texi: Remove mention of f77; Reformat table for |
| inline parameter options correctly; mention that -malign-double |
| is default on x86-64 targets. |
| |
| 2006-07-17 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-chrec.c (avoid_arithmetics_in_type_p): New. |
| (convert_affine_scev, chrec_convert_aggressive): Use |
| avoid_arithmetics_in_type_p. Do not check for the subtypes |
| separately. |
| |
| 2006-07-17 Richard Sandiford <richard@codesourcery.com> |
| |
| PR middle-end/28403 |
| * optabs.c (expand_doubleword_shift): Wrap the call to |
| do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP. |
| |
| 2006-07-17 Richard Sandiford <richard@codesourcery.com> |
| |
| PR middle-end/28402 |
| * optabs.c (expand_binop): Pass next_methods rather than methods |
| to expand_doubleword_shift. |
| |
| 2006-07-17 J"orn Rennecke <joern.rennecke@st.com> |
| |
| PR other/28251 |
| * tree.h (dump_addr): Declare. |
| * print-tree.c (dump_addr): New function. |
| (print_node_brief, print_node): Use it. |
| * print-rtl.c (print_rtx): Likewise. |
| * common.opt (-fdump-noaddr): New option. |
| * doc/invoke.texi (-fdump-noaddr): Document. |
| * loop-unroll.c (si_info_hash): Make hash independent of addresses. |
| (ve_info_hash): Likewise. |
| |
| 2006-07-13 Andrew Haley <aph@redhat.com> |
| |
| PR tree-optimization/19505 |
| * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH |
| edge leaving this block, make sure that the destination of this |
| block has only one predecessor. |
| |
| 2006-07-17 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/28238 |
| * tree-inline.c (copy_bb): Check if we produced valid |
| gimple copying and substituting a stmt. If not, gimplify |
| it. |
| |
| 2006-07-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * optabs.c (maybe_encapsulate_block): New function extracted from... |
| (emit_libcall_block): ...here. Invoke it on the block of insns to |
| maybe emit REG_LIBCALL/REG_RETVAL notes around the block. |
| (emit_no_conflict_block): Likewise. |
| |
| 2006-07-16 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * doc/install.texi (sparc-sun-solaris2*): Add GMP version number. |
| |
| 2006-07-15 Roger Sayle <roger@eyesopen.com> |
| |
| * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into |
| a new NOP_EXPR case of the switch statement. |
| |
| 2006-07-15 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR middle-end/28160 |
| * stor-layout.c (place_field): Take the bit field with |
| an excessive size into account in the ms-bitfiled case. |
| |
| PR middle-end/28161 |
| * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of |
| the previous bit field. |
| |
| 2006-07-14 Eliot Dresselhaus <eliot@sonic.net> |
| |
| PR target/27287 |
| * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative. |
| |
| 2006-07-14 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect |
| signal frames correctly even when the signal was installed with |
| sa_restorer set. |
| |
| 2006-07-14 Carlos O'Donell <carlos@codesourcery.com> |
| |
| * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start. |
| (dbxout_function_end): Use local label LFBB. Remove hook |
| DBX_OUTPUT_NFUN. |
| (dbxout_source_line): Use local label LFBB. |
| (dbxout_block): Likewise. |
| (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC. |
| (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC. |
| * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC, |
| and DBX_OUTPUT_NFUN. |
| |
| 2006-07-13 Janis Johnson <janis187@us.ibm.com> |
| |
| * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail. |
| |
| 2006-07-13 Jan Hubicka <jh@suse.cz> |
| |
| * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call |
| align_variable. |
| * output.h (align_variable): Declare. |
| * varasm.c (align_variable): Export. |
| * value-prof.c (tree_value_profile_transformations): Recompute iterator |
| when basic block changed. |
| |
| 2006-07-13 Nick Clifton <nickc@redhat.com> |
| |
| * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst |
| walking the LOG_LINKS chain. |
| |
| 2006-07-12 Geoffrey Keating <geoffk@apple.com> |
| |
| * doc/invoke.texi (C++ Dialect Options): Explain difference |
| between -fvisibility-inlines-hidden and setting hidden |
| visibility explicitly. |
| |
| 2006-07-12 Eric Christopher <echristo@apple.com> |
| |
| * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo. |
| (stmp-lipo): Depend on libgcc.a. |
| |
| 2006-07-12 Kazu Hirata <kazu@codesourcery.com> |
| |
| * tree.c: Fix a comment typo. |
| |
| 2006-07-12 Naveen.H.S <naveenh@kpitcummins.com> |
| |
| * config/m32c/muldiv.md (umulhisi3_c): Use only registers for |
| dest. |
| (umulhisi3_r): Likewise. |
| |
| 2006-07-12 Paolo Carlini <pcarlini@suse.de> |
| |
| PR libstdc++/27878 |
| * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x, |
| x < 19, vs wchar_t support. |
| |
| 2006-07-12 Nick Clifton <nickc@redhat.com> |
| |
| * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up |
| instead of -isa=sh4. |
| |
| 2006-07-12 Mike Stump <mrs@apple.com> |
| |
| * protoize.c (edit_fn_definition): Add volatile to clean_text_p. |
| |
| 2006-07-10 Eric Christopher <echristo@apple.com> |
| |
| * config/t-slibgcc-darwin: Rewrite. |
| |
| 2006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
| |
| PR bootstrap/20437 |
| * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4 |
| dependencies. |
| |
| 2006-07-08 Matthias Klose <doko@debian.org> |
| |
| * doc/sourcebuild.texi: Fix typo. |
| |
| 2006-07-07 Mike Stump <mrs@apple.com> |
| |
| * toplev.c (process_options): Don't give -ffunction-sections may |
| affect debugging warning for Mach-O. |
| |
| 2006-07-07 James E Wilson <wilson@specifix.com> |
| |
| * config/mips/mips.md (cpu): Add sb1a. |
| * config/mips/sb1.md: Modify almost all patterns to accept sb1a in |
| addition to sb1. Adjust comments to clarify SB-1A differences from |
| SB-1. |
| (ir_sb1a_load): New. Modify bypasses to use it. |
| (ir_sb1a_simple_alu): Likewise. |
| * config/mips/mips.c (mips_cpu_info_table): Add sb1a. |
| (mips_rtx_cost_data): Add PROCESSOR_SB1A support. |
| (mips_issue_rate): Add PROCESSOR_SB1A. |
| (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1. |
| * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A. |
| (TARGET_SB1): Add PROCESSOR_SB1A check. |
| (TUNE_SB1): Likewise. |
| |
| * config/mips/mips-protos.h (mips_store_data_bypass_p): New. |
| * config/mips/mips.c (mips_store_data_bypass_p): New. |
| * config/mips/sb1.md: Use mips_store_data_bypass_p instead of |
| store_data_bypass_p. |
| |
| 2006-07-08 Paul Brook <paul@codesourcery.com> |
| |
| PR target/27991 |
| * config/m68k/m68k.md: Add r-m patterns for 68881 movxf. |
| |
| 2006-07-07 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/28268 |
| * tree.h (build_one_cst): Declare. |
| * tree.c (build_one_cst): New function. |
| * tree-ssa-math-opts.c (get_constant_one): Remove. |
| (insert_reciprocals): Use build_one_cst. |
| * fold-const.c (fold_plusminus_mult): Likewise. |
| |
| 2006-07-07 Roger Sayle <roger@eyesopen.com> |
| |
| * pointer-set.c (pointer_set_destroy): Correct whitespace. |
| * cfgloopanal.c (dump_graph): Likewise. |
| * dojump.c (discard_pending_stack_adjust): Likewise. |
| * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES): |
| Likewise. |
| * alloc-pool.c (dump_alloc_pool_statistics): Likewise. |
| * function.c (finalize_block_changes): Likewise. |
| * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise. |
| * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise. |
| * rtl.c (dump_rtx_statistics): Likewise. |
| * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars): |
| Likewise. |
| * varray.c (dump_varray_statistics): Likewise. |
| * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64, |
| decode_decimal64, encode_decimal128, decode_decimal128, |
| decimal_real_to_decimal): Likewise. |
| |
| 2006-07-07 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/28187 |
| * tree-vrp.c (vrp_operand_equal_p): New function. |
| (vrp_bitmap_equal_p): Likewise. |
| (update_value_range): Use them to compare old and new |
| max and min values. |
| |
| 2006-07-06 Roger Sayle <roger@eyesopen.com> |
| |
| * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add |
| a default case to switch statement to silence compiler warnings. |
| |
| 2006-07-06 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/27968 |
| * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether |
| the configured assembler supports the x87's ffreep mnemonic. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| * config/i386/i386.c (output_387_ffreep): New function. |
| (output_fp_compare): Use output_387_ffreep to emit ffreep insns. |
| (output_387_reg_move): Likewise. |
| |
| 2006-07-06 Paul Eggert <eggert@cs.ucla.edu> |
| |
| Port to hosts whose 'sort' and 'tail' implementations |
| treat operands with leading '+' as file names, as POSIX |
| has required since 2001. However, make sure the code still |
| works on pre-POSIX hosts. |
| * Makefile.in (slowcompare): Port to POSIX 1003.1-2001, |
| which says you should use "tail -c +N" rather than "tail +Nc". |
| Fix a bug: the old code incorrectly skipped 15 bytes, not 16. |
| |
| 2006-07-06 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in |
| argument name. |
| |
| 2006-07-06 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/28150 |
| * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow |
| PRE_{INC,DEC} of TFmode. |
| |
| 2006-07-06 David Edelsohn <edelsohn@gnu.org> |
| Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/28170 |
| * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop |
| bounds. Simplify. |
| |
| 2006-07-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| PR target/28285 |
| * config/alpha/predicates.md (alpha_swapped_comparison_operator): |
| Remove duplicate gtu. |
| |
| 2006-07-05 Jason Merrill <jason@redhat.com> |
| |
| PR c++/13983 |
| PR c++/17519 |
| * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants. |
| * c-common.c (handle_packed_attribute): So don't copy it here. |
| * c-decl.c (finish_struct): Don't copy TYPE_ALIGN. |
| |
| 2006-07-05 Mike Stump <mrs@apple.com> |
| |
| * doc/invoke.texi (Invoking G++): Clarify prose for g++. |
| |
| 2006-07-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/26146 |
| * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*. |
| |
| 2006-07-05 Richard Guenther <rguenther@suse.de> |
| |
| PR target/28158 |
| * config/i386/i386.md (*negdf2_1): Restrict pattern to |
| TARGET_SSE2 targets if using SSE math. |
| (*absdf2_1): Likewise. |
| |
| 2006-07-05 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/28162 |
| * fold-const.c (fold_binary): For (-A) * (-B) -> A * B |
| make sure to convert the operands to the correct type. |
| |
| 2006-07-04 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR tree-optimization/28218 |
| |
| * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls |
| to calculate and free the dominator information. |
| |
| 2006-07-04 Peter O'Gorman <peter@pogma.com> |
| |
| * mklibgcc.in: chmod 644 before ranlib during install. |
| |
| 2006-07-04 Andrew Stubbs <andrew.stubbs@st.com> |
| J"orn Rennecke <joern.rennecke@st.com> |
| |
| * configure.ac (.eh_frame data check): Use diff -b. |
| |
| 2006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR bootstrap/18058 |
| * Makefile.in (BUILD_RTL): Add build/vec.o. |
| (build/gencondmd.o): Filter out -fkeep-inline-functions. |
| (build/genextract): Delete. |
| (build/genautomata): Likewise. |
| |
| 2006-07-04 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/28207 |
| * config/rs6000/rs6000.c (function_arg_boundary): Double-word align |
| 128-bit IBM long doubles for ABI_V4. |
| |
| 2006-07-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.c (range_in_array_bounds_p): New predicate. |
| * tree.h (range_in_array_bounds_p): Declare it. |
| * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to |
| return a less conservative answer. |
| * tree-sra.c (struct sra_elt): Add new pointer field 'groups' |
| and flag 'is_group'. |
| (IS_ELEMENT_FOR_GROUP): New macro. |
| (FOR_EACH_ACTUAL_CHILD): Likewise. |
| (next_child_for_group): New helper function. |
| (can_completely_scalarize_p): Take into account groups. |
| (sra_hash_tree): Handle RANGE_EXPR. |
| (sra_elt_eq): Likewise. |
| (lookup_element): Be prepared for handling groups. |
| (is_valid_const_index): Delete. |
| (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p |
| instead of is_valid_const_index. |
| <ARRAY_RANGE_REF>: New case. |
| (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of |
| is_valid_const_index. |
| <ARRAY_RANGE_REF>: Do not unconditionally punt. |
| (scan_dump): Dump info for groups too. |
| (decide_instantiation_1): Likewise. |
| (decide_block_copy): Assert that the element is not a group. |
| Propagate decision to groups. |
| (generate_one_element_ref): Handle RANGE_EXPR. |
| (mark_no_warning): Iterate over actual childs. |
| (generate_copy_inout): Likewise. |
| (generate_element_copy): Likewise. |
| (generate_element_zero): Likewise. |
| (generate_element_init_1): Likewise. |
| (dump_sra_elt_name): Handle RANGE_EXPR. |
| |
| 2006-07-03 Roger Sayle <roger@eyesopen.com> |
| |
| PR tree-optimization/26251 |
| * tree-ssa-threadupdate.c (redirection_block_p): New function. |
| (thread_block): When optimizing for size refuse to thread jumps |
| that would require duplication of blocks other than redirection |
| blocks. |
| |
| 2006-07-03 Paolo Bonzini <bonzini@gnu.org> |
| |
| * configure.ac: Fix thinko in previous check-in. |
| * configure: Regenerate. |
| |
| 2006-07-03 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR other/27063 |
| * configure.ac (for lang...): Simplify nesting of conditionals. |
| Test subdir_requires for non-enabled languages. Move processing |
| of lang_opt_files and lang_tree_fiels below that test. |
| * configure: Regenerate. |
| * doc/sourcebuild.texi (Front End Config): Document subdir_requires. |
| |
| 2006-07-01 Martin Michlmayr <tbm@cyrius.com> |
| |
| * doc/gcov.texi (Invoking Gcov): Add a missing word. |
| |
| 2006-06-30 Kazu Hirata <kazu@codesourcery.com> |
| |
| * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix |
| comment typos. |
| |
| 2006-06-29 Jason Merrill <jason@redhat.com> |
| |
| PR c++/26905 |
| PR c++/26612 |
| PR c++/27000 |
| PR c++/26984 |
| PR c++/19134 |
| * tree.c (build_decl_stat): Don't hande #pragma visibility here. |
| * c-common.c (c_determine_visibility): Handle it here. |
| * c-decl.c (finish_decl): Call c_determine_visibility for |
| functions, too. |
| * flags.h (enum symbol_visibility): Sort from most to least visibility. |
| * tree.h: Likewise. |
| * varasm.c (default_assemble_visibility): Likewise. |
| * c-common.c (handle_visibility_attribute): Complain about trying |
| to give visibility to an already defined class, or trying to change |
| declared visibility. Always attach the attribute. |
| |
| PR c++/26905 |
| PR c++/21675 |
| PR c++/17470 |
| * attribs.c (decl_attributes): Ignore type-in-place attributes |
| once the type has been defined. |
| |
| 2006-06-29 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/27428 |
| * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount |
| to indicate the cpplib has issued an error message for us. |
| |
| 2006-06-29 Asher Langton <langton2@llnl.gov> |
| |
| PR target/25765 |
| * config/i386/i386.c (ix86_output_function_epilogue): Don't |
| insert a label at the end of an function under Mach-O. |
| |
| 2006-06-29 Eric Christopher <echristo@apple.com> |
| Evan Cheng <evan.cheng@apple.com> |
| |
| * predicates.md (vector_all_ones_operand): New. |
| (nonimmediate_or_sse_const_operand): Ditto. |
| * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare. |
| * config/i386/i386.c (standard_sse_constant_opcode): Define. |
| (standard_sse_mode_p): Ditto. |
| (standard_sse_constant_p): Add case for -1 vector. |
| (ix86_expand_vector_move): Try to use. |
| * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand. |
| Call standard_sse_constant_opcode. |
| (*movv4sf_internal): Ditto. |
| (*movv2df_internal): Ditto. |
| |
| 2006-06-29 Roger Sayle <roger@eyesopen.com> |
| |
| * genpreds.c (write_match_code_switch): Correctly use XSTR instead |
| of XEXP to extract the operands of a MATCH_CODE rtx. |
| |
| 2006-06-28 Andrew Pinski <pinskia@gmail.com> |
| |
| * tree.c (tree_size): Do not waste tail padding in |
| struct tree_string and make the size be the same as |
| build_string will generate. |
| |
| 2006-06-28 Jason Merrill <jason@redhat.com> |
| |
| PR c++/27768 |
| * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add |
| may_aliases already in the tag's annotations to the bitmap. |
| |
| 2006-06-28 Roger Sayle <roger@eyesopen.com> |
| |
| * genpreds.c (write_predicate_stmts) <IOR>: Add missing break. |
| |
| 2006-06-28 Roger Sayle <roger@eyesopen.com> |
| |
| * genpreds.c (generate_switch_p): New function. |
| (add_mode_tests): Push the new mode test down inside an AND expr |
| if this allows the switch-suitable MATCH_CODE to be near the root. |
| (write_match_code_switch): New function to write a MATCH_CODE as |
| a switch statement. |
| (write_predicate_stmts): New function to write a predicate RTX |
| expression as a sequence of statements. |
| (write_one_predicate_function): Use write_predicate_stmts. |
| (write_tm_constrs_h): Likewise. |
| |
| 2006-06-26 Fred Fish <fnf@specifix.com> |
| |
| * config/mips/t-sb1: New file. |
| * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to |
| tmake_file list. |
| |
| 2006-06-26 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic. |
| |
| 2006-06-26 Naveen H.S <naveenh@kpitcummins.com> |
| Jayant Sonar <jayants@kpitcummins.com> |
| Jaydeep Vipradas <jaydeepv@kpitcummins.com> |
| |
| * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New. |
| (subsi3, subsi3_1, subsi3_2): New. |
| * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New. |
| * config/m32c/mov.md (SI mov peephole): New. |
| * config/m32c/m32.c (m32c_immd_dbl_mov): New. |
| * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New. |
| |
| 2006-06-26 Olivier Hainque <hainque@adacore.com> |
| |
| * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on |
| a CALL_EXPR target function declaration. |
| |
| 2006-06-26 Richard Guenther <rguenther@suse.de> |
| |
| * tree.c (build_string): Do not waste tail padding in |
| struct tree_string. |
| |
| 2006-06-26 Richard Guenther <rguenther@suse.de> |
| |
| * ggc-page.c (init_ggc): Add missing element to size_lookup |
| table. |
| |
| Revert |
| 2006-06-23 Richard Guenther <rguenther@suse.de> |
| |
| * ggc-page.c (init_ggc): Do not round up the extra_order_size_table |
| sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour |
| alignment requests instead. Add verification code. |
| Add struct tree_function_decl and struct tree_binfo size to |
| extra_order_size_table. Add missing element to size_lookup |
| table. |
| |
| 2006-06-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/28151 |
| * fold-const.c (const_binop): Be prepared for self returning zero. |
| Simplify code handling complex values. |
| |
| 2006-06-24 Olivier Hainque <hainque@adacore.com> |
| |
| * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function. |
| (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode |
| aggregate types. |
| |
| 2006-06-24 Olivier Hainque <hainque@adacore.com> |
| |
| * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as |
| ARRAY_REF, so have the callback called for the low bound expression. |
| |
| 2006-06-23 Janis Johnson <janis187@us.ibm.com> |
| |
| * tree.h (DECIMAL_FLOAT_TYPE_P): New. |
| * c-typeck.c (c_common_type): Disallow operations on decimal float |
| types and other float types. |
| * convert.c (convert_to_real): Don't ignore conversions involving |
| decimal float types. |
| |
| 2006-06-23 Olivier Hainque <hainque@adacore.com> |
| |
| * tree.c (max_int_size_in_bytes): New function, inspired from |
| code in function.c:assign_temp. |
| * tree.h (max_int_size_in_bytes): Declare. |
| * function.c (assign_temp): Use it. |
| * gimplify.c (create_tmp_var): Relax the assertions on the type |
| properties, not mandating constant size any more. |
| (force_constant_size): New static function. |
| (gimple_add_tmp_var): Use it, forcing variable size to a |
| constant upper bound if it is not constant on entry. |
| |
| 2006-06-23 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR target/27789 |
| * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check |
| for initialization and setting of one_only flag to ... |
| (i386_pe_encode_section_info): ...here. |
| (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also. |
| Recheck that the symbol has not been defined. |
| |
| 2006-06-23 Richard Guenther <rguenther@suse.de> |
| |
| * ggc-page.c (init_ggc): Do not round up the extra_order_size_table |
| sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour |
| alignment requests instead. Add verification code. |
| Add struct tree_function_decl and struct tree_binfo size to |
| extra_order_size_table. Add missing element to size_lookup |
| table. |
| |
| 2006-06-22 Roger Sayle <roger@eyesopen.com> |
| John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle-end/28131 |
| * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the |
| call to lang_hooks.types.type_for_mode returned NULL_TREE. |
| |
| 2006-06-23 Ben Elliston <bje@au.ibm.com> |
| |
| * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to |
| negate dn -- manipulate it directly. |
| |
| 2006-06-22 Roger Sayle <roger@eyesopen.com> |
| Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| PR target/27531 |
| * reload1.c (gen_reload): Call mark_jump_label on the new insns |
| generated by gen_move_insn to add REG_LABEL notes if necessary. |
| |
| 2006-06-22 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/lib1funcs.asm (MIN_ESA): Delete. |
| (leaf_entry): Remove use of MIN_ESA. |
| |
| 2006-06-22 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/28121 |
| * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from |
| the entry edge. |
| |
| 2006-06-21 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest |
| (TN-16C-A156A/E). |
| (mulhisi3_r): Likewise. |
| |
| 2006-06-21 Richard Sandiford <richard@codesourcery.com> |
| |
| PR middle-end/28034 |
| * coverage.c (coverage_counter_alloc): Leave the index type |
| unspecified. |
| (coverage_counter_alloc): Use null arguments for operands 2 and 3 |
| of the ARRAY_REF. |
| |
| 2006-06-21 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect" |
| section from the "Options for Code Generation Conventions". |
| |
| 2006-06-21 Richard Henderson <rth@redhat.com> |
| |
| PR target/26347 |
| PR target/27082 |
| * config/alpha/predicates.md (small_symbolic_operand): Deny weak |
| symbols. |
| (global_symbolic_operand): Allow weak symbols, even if local_p. |
| |
| 2006-06-21 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function. |
| (find_interesting_uses_address): Punt if above function returns true. |
| |
| 2006-06-21 Richard Guenther <rguenther@suse.de> |
| |
| * configure: Regenerated. |
| |
| 2006-06-21 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/mips/mips.c (function_arg): Where one part of a |
| complex argument is in registers and the other part in the stack, |
| return a REG not a PARALLEL. |
| |
| 2006-06-21 Mark Mitchell <mark@codesourcery.com> |
| |
| * configure.ac: Set gcc_gxx_include_dir to $target/include/c++ |
| when cross-compiling. Do not substitute libstdcxx_incdir. |
| * configure: Regenerated. |
| |
| 2006-06-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * varasm.c (mergeable_string_section): Check for embedded NULs and |
| NUL termination in the first int_size_in_bytes (TREE_TYPE (decl)) |
| rather than TREE_STRING_LENGTH bytes. |
| |
| 2006-06-21 Richard Guenther <rguenther@suse.de> |
| |
| * ggc-page.c (extra_order_size_table): Add var_ann_d, |
| tree_ssa_name, bitmap_element and phi_node with 4 arguments |
| sizes. |
| |
| 2006-06-21 Richrad Guenther <rguenther@suse.de> |
| |
| * tree-ssa-loop-niter.c (simplify_using_initial_conditions): |
| Limit iteration over the dominators. |
| |
| 2006-06-20 Roger Sayle <roger@eyesopen.com> |
| |
| * config/mips/iris6.h (LIB_SPEC): Add support for -pthread. |
| (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified. |
| |
| 2006-06-20 Richard Guenther <rguenther@suse.de> |
| Michael Matz <matz@suse.de> |
| |
| * alloc-pool.h (free_alloc_pool_if_empty): Prototype new |
| function. |
| * alloc-pool.c (free_alloc_pool_if_empty): New function. |
| * et-forest.h (et_free_pools): Prototype new function. |
| * et-forest.c (et_free_tree_force): Free parent occurrence. |
| (et_free_pools): New function. |
| * dominance.c (free_dominance_info): Free et-forest alloc |
| pools. |
| |
| 2006-06-20 Roger Sayle <roger@eyesopen.com> |
| |
| * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with |
| integer modes, attempt to directly construct an integer constant. |
| |
| * fold-const.c (native_encode_vector): Determine the size of each |
| element from the vector type instead of the first vector element. |
| |
| * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant, |
| if all of its elements/components are constant. |
| (build_constructor_from_list): Likewise. |
| |
| 2006-06-20 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/27331 |
| * tree-data-ref.c (free_data_ref): New function. |
| (create_data_ref): Fail if the data reference has unknown access |
| function. |
| (free_data_refs): Use free_data_ref. |
| |
| 2006-06-19 Andrew Pinski <pinskia@gmail.com> |
| |
| PR middle-end/28075 |
| * tree-inline.c (setup_one_parameter): Strip useless |
| type conversion before adding it to the IR. |
| (declare_return_variable): Likewise. |
| |
| 2006-06-19 Martin Michlmayr <tbm@cyrius.com> |
| |
| PR c/27149 |
| * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning. |
| |
| 2006-06-19 Mike Stump <mrs@apple.com> |
| |
| * tree.c (variably_modified_type_p): VM arguments don't make the |
| type a VM type. |
| |
| 2006-06-19 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-pre.c (try_combine_conversion): Strip useless |
| type conversions after folding. |
| |
| 2006-06-19 Richard Guenther <rguenther@suse.de> |
| |
| * ggc-page.c (extra_order_size_tab): Add entries with |
| size of struct function and basic_block. |
| (size_lookup): Extend to cover sizes up to 511. |
| (ggc_alloc_stat): Adjust user. |
| (ggc_pch_count_object): Likewise. |
| (ggc_pch_alloc_object): Likewise. |
| (ggc_pch_write_object): Likewise. |
| |
| 2006-06-19 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-ssa-loop-niter.c (implies_ge_p): New function. |
| (derive_constant_upper_bound): Handle OP0 - CST in unsigned types |
| correctly. |
| |
| 2006-06-19 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/libgcc.S : Correct my wrong previous commit. |
| |
| 2006-06-19 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/27861 |
| * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may |
| have stripped a SUBREG from the shift count, so we may need to |
| convert_to_mode back to the type's mode before calling make_tree. |
| Use new_amount instead of amount to avoid expanding a tree twice. |
| |
| 2006-06-19 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/28045 |
| * fold-const.c (operand_equal_p): Check if the argument types |
| have the same precision before stripping NOPs. |
| |
| 2006-06-19 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/27341 |
| * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the |
| statement we get. |
| * tree-complex.c (pass_lower_complex): Update SMT usage. |
| |
| 2006-06-19 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"): |
| Add a new alternative to the constraint strings. Add move of |
| operand 1 to 3 to the splitter definition. |
| ("doloop_si_long"): Second contraint alternative removed. |
| |
| 2006-06-08 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.h (avr_have_movw_lpmx_p): Declare. |
| (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and |
| __AVR_HAVE_LPMX__. |
| (AVR_HAVE_MOVW) Define. |
| (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW. |
| (ASM_SPEC): Add avr25. |
| (LINK_SPEC): Add avr25. |
| * config/avr/avr.c (avr_have_movw_lpmx_p): Add. |
| (base_arch_s): Add new member 'have_movw_lpmx'. |
| (avr_arch_types): Init 'have_movw_lpmx'. |
| (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24, |
| attiny44, attiny84, attiny25, attiny45, attiny85, attiny261, |
| attiny461, attiny861 and at86rf401 in 'avr25' arhitecture. |
| (avr_override_options): Init 'avr_have_movw_lpmx_p'. |
| (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use |
| AVR_HAVE_MOVW. |
| (avr_file_start): Do not output '.arh' derective. |
| * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__. |
| (__do_copy_data): Use __AVR_HAVE_LPMX__. |
| * config/avr/avr.md (mcu_enhanced): Delete. |
| (mcu_have_movw): Define. |
| (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'. |
| (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__. |
| * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25. |
| (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44, |
| attiny84, attiny25, attiny45, attiny85, attiny261, attiny461, |
| attiny861 and at86rf401 devices. |
| |
| 2006-06-18 Jie Zhang <jie.zhang@analog.com> |
| |
| * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead |
| of 4096. |
| |
| 2006-06-17 Karl Berry <karl@gnu.org> |
| |
| * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi, |
| doc/gccint.texi, doc/install.texi (@dircategory): Use |
| "Software development" instead of "Programming", following |
| the Free Software Directory. |
| |
| 2006-06-17 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/i386/i386.c (legitimate_tls_address) |
| <TARGET_GNU2_TLS>: Add tp after DTPOFF. |
| * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust. |
| (*tls_dynamic_gnu2_combine_64): Likewise. |
| |
| 2006-06-16 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/27116 |
| * fold-const.c (negate_expr_p): Do not introduce undefined |
| overflow in negating INTEGER_CSTs. |
| (fold_negate_expr): Rename from negate_expr. Revert last |
| change for folding BIT_NOT_EXPR. Change semantics to |
| return NULL_TREE for non-simplified negations. Do not |
| strip type conversions and unify type handling. |
| (negate_expr): New function, wrap around fold_negate_expr |
| but ensure building a tree always. Strip type conversions |
| here, fold to result type. |
| (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR. |
| |
| 2006-06-16 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/27802 |
| * reg-stack.c (subst_stack_regs): Handle noreturn function calls |
| that (would) return their results in stack registers. |
| |
| 2006-06-16 Michael Matz <matz@suse.de> |
| Richard Guenther <rguenther@suse.de> |
| |
| * fold-const.c (fold_truthop): Only return new tree node if |
| we canonicalized something. |
| |
| 2006-06-16 Richard Guenther <rguenther@suse.de> |
| |
| * function.h (enum function_frequency): Move declaration |
| out of struct function. |
| (struct function): Move bool fields and the enum to the bitfield |
| section. Reorder elements to avoid padding. Remove unused |
| fields left over from the RTL inliner removal. |
| * function.c (free_after_compilation): Do not zero removed fields. |
| * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency. |
| (ipa-type-escape.o): Likewise. |
| |
| 2006-06-16 Richard Guenther <rguenther@suse.de> |
| |
| * cgraph.h (struct cgraph_local_info): Turn bool elements |
| into a bitfield. |
| (struct cgraph_node): Likewise. |
| (struct cgraph_varpool_node): Likewise. |
| |
| 2006-06-15 Richard Guenther <rguenther@suse.de> |
| |
| * fold-const.c (fold_truth_not_expr): Rename from |
| invert_truthvalue. Give it fold_* semantics to avoid |
| generating garbage. |
| (invert_truthvalue): New function. Wrapper around |
| fold_truth_not_expr. |
| (optimize_minmax_comparison): Avoid creating garbage. |
| (fold_unary): Use fold_truth_not_expr for folding |
| TRUTH_NOT_EXPR. |
| (fold_ternary): Replace uses of invert_truthvalue with |
| fold_truth_not_expr where applicable. |
| * tree.h (fold_truth_not_expr): Prototype. |
| |
| 2006-06-16 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27781 |
| * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency. |
| * ipa-pure-const.c (target.h): Include. |
| (analyze_function): Do not analyze functions that do not |
| bind locally. |
| |
| 2006-06-15 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR middle-end/27793 |
| * tree-dfa.c (referenced_vars_dup_list): Remove. |
| (find_referenced_vars): Remove assert. |
| (referenced_var_check_and_insert): Replace dup list with assert. |
| * tree-ssa.c (delete_tree_ssa): Remove dup list processing. |
| * tree-flow.h (referenced_vars_dup_list): Remove extern decl. |
| |
| 2006-06-15 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-structalias.c (alias_get_name): Avoid creating |
| extra unused identifiers if not dumping. |
| (create_variable_info_for): Likewise. |
| |
| 2006-06-15 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-ssa-loop-niter.c (implies_nonnegative_p): New function. |
| (derive_constant_upper_bound): Derive more precise upper bound in |
| common cases. Return type changed to double_int. |
| (record_estimate): Reflect the changed return type of |
| derive_constant_upper_bound. |
| * double-int.c (double_int_zext, double_int_sext): Fix. |
| |
| 2006-06-15 Paolo Bonzini <bonzini@gnu.org> |
| |
| * configure.ac (CFLAGS): Get them from the toplevel or from the |
| configure invocation. |
| * configure: Regenerate. |
| * Makefile.in (CFLAGS): Substitute value provided by configure. |
| |
| 2006-06-14 Mark Mitchell <mark@codesourcery.com> |
| |
| PR c++/26559 |
| * c-common.h (c_finish_omp_atomic): Adjust declaration. |
| * c-omp.c (c_finish_omp_atomic): Return the expression to perform, |
| rather than calling add_stmt on it. |
| * c-parser.c (c_parser_omp_atomic): Adjust accordingly. |
| |
| 2006-06-14 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| PR middle-end/27959 |
| * reload1.c (reload): Remove registers returned by update_eliminables |
| from used_spill_regs. |
| |
| 2006-06-13 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants. |
| |
| 2006-06-13 Carlos O'Donell <carlos@codesourcery.com> |
| |
| * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL, |
| html__strip_dir, html__mkdir_p. Enhance install-html target. |
| * configure.ac: AC_SUBST datarootdir, docdir and htmldir. |
| * configure: Regenerate. |
| |
| 2006-06-13 Fariborz Jahanian <fjahanian@apple.com> |
| |
| * fold-const.c (fold_cond_expr_with_comparison): Check for |
| Objective-C++ as language in deciding COND_EXPR transformation. |
| |
| 2006-06-06 J"orn Rennecke <joern.rennecke@st.com> |
| |
| PR target/28014: |
| * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16 |
| * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'. |
| * config/sh/lib1funcs.h (SL, SL1): Define. |
| * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function. |
| * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss. |
| * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule. |
| (OBJS_Os_4_200): New variable. |
| ($(T)libgcc-Os-4-200.a): Use it. |
| * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call |
| when dividing 1 and/or by 0. |
| |
| 2006-06-13 Roger Sayle <roger@eyesopen.com> |
| |
| * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h> |
| before <ucontext.h> to define sigset_t required by <sys/ucontext.h>. |
| * configure: Regenerate. |
| |
| 2006-06-13 Jie Zhang <jie.zhang@analog.com> |
| |
| * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized () |
| for real instruction. |
| |
| 2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| PR middle-end/26807 |
| * haifa-sched.c (check_cfg): Handle special case. |
| |
| 2006-06-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR debug/26754 |
| * gimplify.c (declare_tmp_vars): Rename into declare_vars. |
| Add debug_info parameter. Chain the vars to the BLOCK instead |
| of the BIND_EXPR if debug info are requested for them. |
| (pop_gimplify_context): Adjust for above change. |
| (gimple_add_tmp_var): Likewise. |
| * tree-gimple.h (declare_tmp_vars): Rename into declare_vars. |
| Add bool parameter. |
| * tree-nested.c (convert_nonlocal_reference): Adjust for above change. |
| (convert_local_reference): Likewise. |
| (get_local_debug_decl): Set DECL_IGNORED_P on the original variable. |
| (finalize_nesting_tree_1): Request that debug info be emitted |
| for debug_var_chain. |
| |
| 2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch |
| for PR target/27863. |
| |
| 2006-06-13 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/27536 |
| * except.c (output_ttype): Expand type with EXPAND_INITIALIZER. |
| |
| 2006-06-13 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27830 |
| * tree-inline.c (copy_body_r): For copying the operand |
| of an ADDR_EXPR make sure to fold &* afterwards. |
| |
| 2006-06-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other |
| lvalues in the fb_none case with side-effects. |
| |
| 2006-06-12 Kazu Hirata <kazu@codesourcery.com> |
| |
| * tree-flow.h: Remove the prototype for |
| compute_phi_arg_on_exit. |
| * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use, |
| protect_loop_closed_ssa_form, compute_phi_arg_on_exit): |
| Remove. |
| |
| 2006-06-12 Mark Shinwell <shinwell@codesourcery.com> |
| |
| * builtins.c (expand_builtin_return_addr): Only use |
| frame_pointer_rtx when count == 0 and we are expanding |
| __builtin_return_address. |
| |
| 2006-06-12 Fred Fish <fnf@specifix.com> |
| |
| * config/mips/mips.c (mips_file_start): Create special section |
| ".gcc_compiled_longXX" for o64 ABI as well as EABI. |
| |
| 2006-06-11 Eric Christopher <echristo@apple.com> |
| |
| PR middle-end/27948 |
| * stor-layout.c (place_field): Remove check for |
| remaining_in_alignment when aligning at the end of a run. |
| |
| 2006-06-11 Eric Christopher <echristo@apple.com> |
| |
| PR 27542 |
| * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct |
| pragma. |
| |
| 2006-06-11 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/27858 |
| Revert incorrect fix for PR target/27158 |
| 2006-05-08 Roger Sayle <roger@eyesopen.com> |
| * reload.c (find_reloads_toplev): Only return the simplified SUBREG |
| of a reg_equiv_constant if the result is a legitimate constant. |
| |
| 2006-06-11 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/27158 |
| * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to |
| extract a CONST_VECTOR element and interpret it as an integer. |
| (vspltis_constant): Use const_vector_elt_as_int instead of the |
| macro CONST_VECTOR_ELT in order to handle FP vector modes. |
| * config/rs6000/predicates.md (easy_vector_const): Consider |
| floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant. |
| |
| 2006-06-11 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR middle-end/27942 |
| * stor-layout.c (update_alignment_for_field): Don't add extra |
| alignment for packed non-bitfield fields in ms_bitfield_layout_p |
| code. |
| |
| 2006-06-09 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/mips/t-rtems: Add EL/EB multilib variants. |
| |
| 2006-06-09 Mike Stump <mrs@apple.com> |
| |
| * c-typeck.c (c_begin_vm_scope): Fix file_scope processing. |
| |
| 2006-06-09 David Daney <ddaney@avtrex.com> |
| |
| * doc/install.texi: Add binutils version recommendation for mips-*-*. |
| |
| 2006-06-09 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * reload.c (find_reloads): Unset force_reload for 'X' constraint. |
| |
| 2006-06-09 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26998 |
| * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR |
| of signed types, only TYPE_MIN_VALUE is special, but for both, |
| minimum and maximum value. Likewise VR_ANTI_RANGE is special |
| in this case, as is -fwrapv. |
| |
| 2006-06-08 Mike Stump <mrs@apple.com> |
| |
| PR target/26427 |
| * config/darwin.c (darwin_asm_output_anchor): Disable |
| -fsection-anchors on darwin for now. |
| * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise. |
| * rs6000/rs6000.c (optimization_options): Likewise. |
| |
| 2006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR target/27421 |
| * config/i386/i386.c (classify_argument): Skip fields with invalid |
| types in unions. |
| |
| 2006-06-08 Steven Bosscher <steven@gcc.gnu.org> |
| |
| * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG. |
| (cse_insn): Likewise for the stack_pointer_rtx. |
| |
| 2006-06-08 Roger Sayle <roger@eyesopen.com> |
| |
| * tree-ssa-dom.c (record_conditions): Only record "unordered" |
| conditions from floating point comparisons. |
| |
| 2006-06-08 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR middle-end/27733 |
| * expmed.c (struct alg_hash_entry): Fix type of field T |
| to match synth_mult argument. |
| (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT. |
| |
| 2006-06-08 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| PR target/27863 |
| * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic |
| block boundaries. |
| |
| 2006-06-08 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/27116 |
| * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR |
| only, if overflow is defined and not trapping. |
| (negate_expr): Likewise. |
| |
| 2006-06-07 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/27872 |
| * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP |
| flag on the new exit edge of the unrolled loop. |
| |
| 2006-06-07 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/26449 |
| * loop-invariant.c (move_invariant_reg): Fail if force_operand fails. |
| |
| 2006-06-07 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR middle-end/27793 |
| * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate |
| referenced_variables with matching DECL_UID's. |
| (find_referenced_vars): Make sure duplicate list is empty to start. |
| (referenced_var_p): Remove. |
| (referenced_var_check_and_insert): Renamed from referenced_var_insert. |
| Check if var is in the list, and add if needed. Update the duplicate |
| list if a different var is in the list with the same DECL_UID. |
| (add_referenced_var): Call routine to check and insert. |
| * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates. |
| * tree-flow.h (referenced_vars_dup_list): External declaration. |
| |
| 2006-06-07 Fred Fish <fnf@specifix.com> |
| |
| * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries |
| into single entry. |
| |
| 2006-06-07 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR target/27390 |
| * reg-stack.c (subst_stack_regs_pat): Reorder resetting of |
| the imaginary and real parts of a clobbered register. |
| Emit insn to set the imaginary part. |
| |
| 2006-06-06 Peter Lemieszewski <lemie@us.ibm.com> |
| |
| * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c |
| in lieu of unwind-dw2-fde.c. |
| |
| 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> |
| |
| * config/i386/mingw32.h (GOMP_SELF_SPECS): Define. |
| |
| 2006-06-06 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR target/27842 |
| * config/rs6000/altivec.md (UNSPEC_VSLW): Remove. |
| ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove. |
| ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use |
| V4SImode temporaries and operations instead. |
| |
| 2006-06-06 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not |
| dp-bit.c. |
| |
| 2006-06-06 Mike Stump <mrs@apple.com> |
| |
| * Makefile.in: Rename to htmldir to build_htmldir to avoid |
| installing during build. |
| |
| 2006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default |
| value to 0. |
| * doc/invoke.texi (max-sched-extend-regions-iters): Document. |
| * config/ia64/ia64.c (params.h): New header. |
| (ia64_optimization_options): New function to adjust parameters. |
| * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype. |
| * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro. |
| * config/ia64/t-ia64 (ia64.o): Add dependence from params.h . |
| |
| 2006-06-05 Kazu Hirata <kazu@codesourcery.com> |
| |
| * stor-layout.c (debug_rli): Fix a typo in a debug message. |
| |
| 2006-06-05 Steve Ellcey <sje@cup.hp.com> |
| |
| PR target/27051 |
| * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA. |
| |
| 2006-06-05 Dorit Nuzman <dorit@il.ibm.com> |
| Victor Kaplansky <victork@il.ibm.com> |
| |
| PR tree-optimization/26360 |
| * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern |
| stmts. |
| |
| 2006-06-04 Roger Sayle <roger@eyesopen.com> |
| Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/27382 |
| * c-common.c (c_common_truthvalue_conversion): Explicitly check |
| for LABEL_DECL before calling DECL_WEAK. |
| |
| PR c/27150 |
| * c-typeck.c (build_binary_op): Likewise, explicitly check for |
| LABEL_DECL and PARM_DECL. |
| |
| 2006-06-05 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/25161 |
| PR c/27020 |
| * c-decl.c (grokdeclarator): Disallow variably modified types at |
| file scope. Avoid marking shared array type of constant size as |
| VLA. |
| |
| 2006-06-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c++/27601 |
| * c-common.c (fold_offsetof_1): Handle static members. |
| |
| 2006-06-04 Eric Christopher <echristo@apple.com> |
| |
| * stor-layout.c (start_record_layout): Initialize remaining_in_alignment. |
| (debug_rli): Output value for remaining_in_alignment. |
| (update_alignment_for_field): Unconditionalize |
| ms_bitfield_layout_p code. Handle non-bitfield fields. Remove |
| extra alignment code. |
| (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize |
| ms_bitfield_layout_p code. Rewrite handling of structure fields. |
| * tree.h (record_layout_info_s): Remove prev_packed. |
| * doc/extend.texi (ms_struct): Add documentation of format. |
| |
| 2006-06-04 Mark Shinwell <shinwell@codesourcery.com> |
| |
| * tree.h: Declare folding_initializer. |
| * builtins.c (fold_builtin_constant_p): Give definite answer |
| if folding inside an initializer. |
| * fold-const.c: Define folding_initializer. |
| (START_FOLD_INIT): Save and then set folding_initializer. |
| (END_FOLD_INIT): Restore folding_initializer. |
| |
| 2006-06-04 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27039 |
| * fold-const.c (fold_comparison): Handle pointer comparison |
| again for all comparison codes. Compare offsets in signed |
| size type. |
| (fold_binary): Move code from here. |
| |
| 2006-06-03 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/26223 |
| * config/i386/i386.c (construct_container): Split static issued_error |
| flag into issued_sse_arg_error, issued_sse_ret_error and |
| issued_x87_ret_error. Issue a daignostic if the x86-64 ABI |
| requires the use of x87 registers and the user explicitly |
| specified the -mno-80387 command line option. |
| |
| 2006-06-02 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with |
| HAVE_DECL_SIGALTSTACK. |
| (MC_FLD): New. |
| (segv_handler): Use MC_FLD. |
| * configure.ac: Check for a sigaltstack declaration. |
| Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| 2006-06-03 J"orn Rennecke <joern.rennecke@st.com> |
| |
| PR other/27850 |
| * Makefile.in (stmp-fixinc): Fix typo. |
| |
| 2006-06-02 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions |
| are type correct. Clean-up. |
| <REALPART_EXPR>: Likewise. Optimize creal(~z) as creal(z). |
| <IMAGPART_EXPR>: Likewise. Optimize cimag(~z) as -cimag(z). |
| |
| 2006-06-01 DJ Delorie <dj@redhat.com> |
| |
| * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the |
| shift, as we've disabled the "switch" insn that needs it. |
| |
| 2006-06-01 Per Bothner <bothner@bothner.com> |
| |
| Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output. |
| * c-opts.c (finish_options): Use internal line 0 for <command-line>. |
| * c-ppoutput.c (cb_define): Don't increment line 0. |
| |
| 2006-06-01 Pete Steinmetz <steinmtz@us.ibm.com> |
| |
| * doc/invoke.texi: Add cpu_type power6. |
| * config.gcc: Add cpu_type power6. |
| * config/rs6000/rs6000.c (rs6000_override_options): Alias power6 |
| to power5+ with Altivec. |
| * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6. |
| * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6. |
| |
| 2006-05-30 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.h (SET_ASM_OP): Define. |
| |
| 2006-06-01 Kazu Hirata <kazu@codesourcery.com> |
| |
| * config/bfin/bfin.c: Fix comment typos. |
| |
| 2006-06-01 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR 25453 |
| * doc/install.texi: Document --enable-bootstrap and |
| --disable-bootstrap. |
| |
| 2006-06-01 Paolo Bonzini <bonzini@gnu.org> |
| |
| * doc/install.texi: Document that InfoZIP can replace jar. |
| |
| 2006-05-31 Roger Sayle <roger@eyesopen.com> |
| |
| * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE |
| isn't available, directly generate the simpler x87 patterns without |
| the (use (const_int 0)). |
| * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE |
| implementation isn't available. |
| (*negdf2_1): Likewise. |
| (*negxf2_1): XF mode negation is always done using the x87. |
| (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs. |
| |
| 2006-05-31 Roger Sayle <roger@eyesopen.com> |
| |
| * builtins.c (fold_builtin_cabs): Delete prototype. Require an |
| additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as |
| cabs(z). |
| (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call. |
| |
| 2006-05-31 Jie Zhang <jie.zhang@analog.com> |
| |
| * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare. |
| * config/bfin/bfin.c (basic-block.h): Include. |
| (struct machine_function): New. |
| (bfin_init_machine_status): New. |
| (override_options): Initialize init_machine_status. |
| (bfin_hardware_loop): New. |
| (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define. |
| (DEF_VEC_P (loop_info)): New. |
| (DEF_VEC_ALLOC_P (loop_info,heap)): New. |
| (struct loop_info): New. |
| (loop_info): New typedef. |
| (struct loop_work): New. |
| (loop_work): New typedef. |
| (DEF_VEC_O (loop_work)): New. |
| (DEF_VEC_ALLOC_O (loop_work,heap)): New. |
| (bfin_dump_loops): New. |
| (bfin_bb_in_loop): New. |
| (bfin_scan_loop): New. |
| (bfin_optimize_loop): New. |
| (bfin_reorg_loops): New. |
| (bfin_reorg): Use bfin_reorg_loops. |
| * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding |
| loop registers. |
| (I_REGNO_P): Simplify. |
| (DP_REGNO_P, DPREG_P): New macros. |
| (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS, |
| REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1. |
| (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): |
| Add LT_REGS, LC_REGS, LB_REGS. |
| (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS, |
| 'l' for LB_REGS. |
| (REGNO_REG_CLASS): Deal with loop registers. |
| * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint |
| letters. |
| (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1): |
| New constants for loop registers. |
| (UNSPEC_LSETUP_END): New. |
| (seq_insns): New define_attr. Set it for appropriate insns. |
| (movsi_insn): Add alternatives for move from/to |
| loop count registers. |
| (doloop_end): New define_expand. |
| (loop_end): New define_insn. |
| (define_split for bad doloop_end): New. |
| (lsetup_with_autoinit): New define_insn. |
| (lsetup_without_autoinit): New define_insn. |
| (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1. |
| * config/bfin/predicates.md (lc_register_operand): New. |
| (lt_register_operand): New. |
| (lb_register_operand): New. |
| (nondp_register_operand): New. |
| (nondp_reg_or_memory_operand): New. |
| * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters. |
| |
| 2006-05-31 Jie Zhang <jie.zhang@analog.com> |
| |
| * config/bfin/bfin.c (bfin_delegitimize_address): New. |
| (TARGET_DELEGITIMIZE_ADDRESS): Define. |
| |
| 2006-05-31 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * Makefile.in (CATALOGS): Add po/ prefix. |
| * configure: Regenerated. |
| |
| 2006-05-31 Richard Earnshaw <richard.earnshaw@arm.com> |
| |
| PR target/27829 |
| * arm.c (arm_print_operand case 'S'): Validate that the operand is |
| a shift operand before calling shift_op. Avoid redundant call of |
| shift_op. |
| |
| 2006-05-30 Naveen.H.S <naveenh@kpitcummins.com> |
| DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/m32c.c (m32c_expand_insv): Check that the value |
| we're inserting is a singlt-bit constant. |
| |
| 2006-05-30 Roger Sayle <roger@eyesopen.com> |
| |
| * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast |
| width to HOST_WIDE_INT to avoid comparison warnings on some targets. |
| |
| 2006-05-30 Roger Sayle <roger@eyesopen.com> |
| |
| PR tree-optimization/23452 |
| * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary, |
| to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2. |
| (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral |
| complex values and with -ffast-math for FP complex values. |
| |
| 2006-05-30 Kazu Hirata <kazu@codesourcery.com> |
| |
| * c-common.h: Remove the prototype for yyparse. |
| * rtl.h: Remove the prototype for init_loop. |
| |
| 2006-05-30 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * cse.c (validate_canon_reg, cse_insn): Don't change insns without |
| calling recog. |
| |
| 2006-05-30 Roger Sayle <roger@eyesopen.com> |
| |
| * simplify-rtx.c (simplify_binary_operation): Unfactor the shift |
| and rotate cases. |
| <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is |
| log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics. |
| |
| 2006-05-30 Dirk Mueller <dmueller@suse.de> |
| |
| PR c/27273 |
| * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW |
| for CONSTANT_CLASS_P expresisons. |
| |
| 2006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c/27718 |
| * c-typeck.c (c_expr_sizeof_type): Handle invalid types. |
| |
| 2006-05-30 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/27779 |
| * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use |
| initial_condition instead of CHREC_LEFT. |
| |
| 2006-05-30 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label. |
| * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors): |
| Make prototypes ISO C90. |
| |
| 2006-05-30 Mircea Namolaru <namolaru@il.ibm.com> |
| Leehod Baruch <leehod.baruch@weizmann.ac.il> |
| |
| * see.c (see_analyze_one_def): Correct check. |
| (see_get_extension_data): Check if extension is parallel. |
| (see_get_extension_reg): Likewise. |
| |
| 2006-05-30 Uros Bizjak <uros@kss-loka.si> |
| |
| PR target/27790 |
| * config/i386/i386.c (ix86_expand_int_vcond): Force cop0 |
| into register for (code == GTU). |
| |
| 2006-05-29 Roger Sayle <roger@eyesopen.com> |
| |
| PR tree-optimization/24964 |
| * simplify-rtx.c (simplify_binary_operation_1): Add function comment. |
| <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor |
| signaling NaNs. Optimize -x*-x as x*x for all float modes, and |
| abs(x)*abs(x) as x*x for scalar floating point modes. |
| |
| 2006-05-29 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| PR middle-end/27745 |
| * lambda-code.c (perfect_nestify): Don't copy statements |
| in the inner loop: move them to the inner loop header. |
| |
| 2006-05-29 Diego Novillo <dnovillo@redhat.com> |
| |
| PR 26237 |
| * c-tree.texi: Document OpenMP directives and clauses. |
| |
| 2006-05-29 Kazu Hirata <kazu@codesourcery.com> |
| |
| * varasm.c (globalize_decl): Fix indentation. |
| |
| 2006-05-29 Diego Novillo <dnovillo@redhat.com> |
| |
| PR 26242 |
| * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta, |
| pass_fre, pass_store_ccp, pass_copy_prop, |
| pass_store_copy_prop, pass_merge_phi, pass_nrv, |
| pass_return_slot, pass_object_size, pass_lim, |
| pass_linear_transform, pass_empty_loop, pass_complete_unroll, |
| pass_loop_prefetch and pass_stdarg. |
| |
| 2006-05-29 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/bfin/bfin.opt (mfdpic): New option. |
| * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o. |
| (EXTRA_MULTILIB_PARTS): Likewise. |
| (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic. |
| (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic |
| multilib. |
| * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared. |
| (CRT_CALL_STATIC_FUNCTION): New. |
| * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if |
| -shared. |
| (CRT_CALL_STATIC_FUNCTION): New. |
| * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle |
| FD-PIC moves. |
| (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC. |
| (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4. |
| (initialize_trampoline): Changed to handle FD-PIC code generation. |
| (expand_move): If TARGET_FDPIC, use emit_pic_move as needed. |
| (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC. |
| (override_options): Disallow -mid-shared-library -mfdpic combination. |
| Can't do unaligned ops if FD-PIC. |
| Turn off flag_pic if trying to generate non-id-shared-library |
| non-fdpic code, since it's not supported. |
| (bfin_assemble_integer): New function. |
| (TARGET_ASM_INTEGER): Define. |
| * config/bfin/crti.s (__init, __fini): Save P3 on the stack if |
| __BFIN_FDPIC__. |
| * config/bfin/crtn.s: Restore them. |
| * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__ |
| if TARGET_FDPIC. |
| (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS, |
| LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros. |
| (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros. |
| (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC. |
| (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is |
| call-used. |
| (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add |
| FDPIC_REGS and FDPIC_FPTR_REGS. |
| (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them. |
| * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4, |
| UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants. |
| (load_funcdescsi): New pattern. |
| (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic, |
| sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic, |
| call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns. |
| |
| 2006-05-29 Kazu Hirata <kazu@codesourcery.com> |
| |
| * gcse.c, rtlanal.c: Remove obsolete comments associated with |
| loop.c. |
| |
| * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove. |
| |
| * tree-flow.h: Remove the prototype for add_type_alias. |
| * tree-ssa-alias.c (add_type_alias): Remove. |
| |
| 2006-05-28 Kazu Hirata <kazu@codesourcery.com> |
| |
| * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c, |
| config/fr30/fr30.md, config/i386/i386-interix.h, |
| config/i386/i386.c, config/i386/i386.md, config/sh/superh.h, |
| config/sh/superh64.h, config/v850/v850.c, df-core.c, |
| df-problems.c, df.h, except.c, final.c, haifa-sched.c, |
| lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c, |
| reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c, |
| tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos. |
| Follow spelling conventions. |
| * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos. |
| Follow spelling conventions. |
| |
| 2006-05-27 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/27773 |
| * fold-const.c (fold_plusminus_mult_expr): Use fold_convert |
| to produce a constant of value 1 of generic type. |
| |
| 2006-05-27 Dirk Mueller <dmueller@suse.de> |
| |
| * cgraphunit.c (decide_is_function_needed): Fix wrong |
| PR reference. |
| |
| 2006-05-26 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR rtl-optimization/27661 |
| * reload.c (find_reloads): When reloading a VOIDmode constant |
| as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint, |
| use Pmode as mode of the reload register. |
| |
| 2006-05-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time |
| is enabled at -O and above. |
| |
| 2006-05-26 Steven Bosscher <steven@gcc.gnu.org> |
| |
| PR target/27571 |
| * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump |
| table data. |
| |
| 2006-05-25 Mark Mitchell <mark@codesourcery.com> |
| |
| PR c++/20103 |
| * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var |
| for anonymous variables explicitly declared by front ends. |
| |
| 2006-05-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro. |
| (struct alias_info): Add new field ref_all_symbol_mem_tag. |
| * tree-ssa-alias.c (compute_may_aliases): If the program contains |
| ref-all pointers, run a finalization pass for them. |
| (compute_flow_insensitive_aliasing): Skip ref-all pointers. |
| (finalize_ref_all_pointers): New function. |
| (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a |
| regular pointer type to a ref-all pointer type. |
| (get_tmt_for): Return the special memory tag for ref-all pointers. |
| |
| 2006-05-25 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/27743 |
| * fold-const.c (fold_binary): Do not look at the stripped |
| op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization. |
| |
| 2006-05-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-vrp.c (extract_range_from_assert): Set the range to VARYING |
| for LT and GT if the computed range is effectively empty. |
| |
| 2006-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/27627 |
| * pa/pa-modes.def: Use mips_single_format, mips_double_format and |
| mips_quad_format formats instead of ieee_single_format, |
| ieee_double_format and ieee_quad_format formats, respectively. |
| |
| 2006-05-24 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/27639 |
| PR tree-optimization/26719 |
| * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust |
| call to scev_probably_wraps_p. |
| * tree-ssa-loop-niter.c (compare_trees, convert_step_widening, |
| used_in_pointer_arithmetic_p, convert_step): Removed. |
| (nowrap_type_p): New function. |
| (scev_probably_wraps_p): Rewritten. |
| * tree-scalar-evolution.c (instantiate_parameters_1): Do not call |
| chrec_convert if chrec_convert_aggressive might have been used. |
| * tree-chrec.c (convert_affine_scev, chrec_convert_1, |
| scev_direction): New functions. |
| (chrec_convert): Changed to a wrapper over chrec_convert_1. |
| * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev |
| instead of convert_step. |
| * tree-flow.h (scev_probably_wraps_p): Declaration changed. |
| (convert_step): Declaration removed. |
| (convert_affine_scev, nowrap_type_p, scev_direction): Declare. |
| |
| 2006-05-23 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| * df-core.c: Added to header comments. |
| * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info, |
| df_ur_bb_info, df_urec_bb_info): Added comments. |
| * df-problems (df_ref_bitmap, ru, rd, lr, ur, |
| urec, ri problems): Fixed header comments. |
| (df_ru_transfer_function): Fixed in-out set dyslexia when copying |
| code from df_rd_transfer_function. |
| |
| 2006-05-23 Richard Sandiford <richard@codesourcery.com> |
| |
| * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro. |
| (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than |
| MIN_UNITS_PER_WORD to set the default. Also use it in the guard. |
| |
| 2006-05-23 Joseph Myers <joseph@codesourcery.com> |
| |
| * expr.c (undefined_operand_subword_p): New. |
| (emit_move_multi_word): Do not generate move from undefined bits |
| of a paradoxical subreg. |
| |
| 2006-05-23 Richard Sandiford <richard@codesourcery.com> |
| |
| PR rtl-optimization/27736 |
| * combine.c (replaced_rhs_value): New variable. |
| (combine_instructions): Set it. |
| (distribute_notes): When distributing a note in replaced_rhs_insn, |
| check whether the value was used in replaced_rhs_value. |
| |
| 2006-05-23 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR c++/26757 |
| * tree-ssa-loop-im.c (determine_invariantness_stmt): Use |
| add_referenced_var instead of add_referenced_tmp_var. |
| * tree-complex.c (create_one_component_var): Use add_referenced_var. |
| * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use |
| add_referenced_var. |
| * tree-tailcall.c (adjust_accumulator_values, adjust_return_value, |
| tree_optimize_tail_calls_1): Use add_referenced_var. |
| * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var. |
| * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft): |
| Use add_referenced_var. |
| * tree-if-conv.c (ifc_temp_var): Use add_referenced_var. |
| * gimplify.c (force_gimple_operand): Use add_referenced_var. |
| * tree-ssa-phiopt.c (conditional_replacement, abs_replacement): |
| Use add_referenced_var. |
| * tree-dfa.c (struct walk_state): Remove. |
| (find_referenced_vars): Remove walk state and vars_found hash table. |
| (make_rename_temp): Use add_referenced_var. |
| (find_vars_r): Pass less parameters to add_referenced_var. |
| (referenced_var_p): New. Is var in referenced_var hash table. |
| (referenced_var_insert): Assert var isn't already in hash table. |
| (add_referenced_var): Don't need walk_state parameter. Add var if it |
| isn't already in the hash table. |
| (add_referenced_tmp_var): Remove. |
| (find_new_referenced_vars_1): Use add_referenced_var. |
| * tree-ssa-pre.c (create_expression_by_pieces, |
| insert_into_preds_of_block, insert_extra_phis, realify_fake_stores): |
| Use add_referenced_var. |
| * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var. |
| * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression, |
| lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use |
| add_referenced_var. |
| * tree-vect-transform.c (vect_create_addr_base_for_vector_ref, |
| vect_create_data_ref_ptr, vect_create_destination_var, |
| vect_init_vector, vect_build_loop_niters, |
| vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer, |
| vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks): |
| Use add_referenced_var. |
| * tree-outof-ssa.c (create_temp): Use add_referenced_var. |
| * tree-flow.h (add_referenced_tmp_var): Remove prototype |
| (add_referenced_var): Add prototype. |
| * tree-ssa-structalias.c (get_constraint_for, |
| intra_create_variable_infos): Use add_referenced_var. |
| |
| 2006-05-23 Alexandre Oliva <aoliva@redhat.com> |
| |
| * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for |
| big-endian paradoxical subregs. |
| * var-tracking.c (struct micro_operation_def): Document that, |
| for modify micro operations, insn is the subsequent instruction. |
| (var_reg_delete_and_set, var_mem_delete_and_set): Split into... |
| (var_reg_set, var_mem_set): ... new functions. |
| (add_stores): Record subsequent insn. |
| (compute_bb_dataflow): Use new functions for MO_USE. |
| (emit_notes_in_bb): Use new functions for MO_USE. Emit use |
| notes after the insn, and modify notes before the insn known |
| to be the subsequent one. |
| (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs. |
| |
| 2006-05-23 Kazu Hirata <kazu@codesourcery.com> |
| |
| PR target/27696 |
| * config/i386/i386.c (ix86_expand_builtin): Use |
| gen_sse3_monitor64 for TARGET_64BIT. |
| |
| 2006-05-22 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| PR rtl-optimization/26375 |
| PR rtl-optimization/26855 |
| * df-problems (df_ru_bb_local_compute_process_def): Removed update |
| to gen set. |
| (df_ru_bb_local_compute): Reversed statements and removed bogus |
| comment explaining why they should be in wrong order. |
| (df_ru_dump, df_rd_dump): Enhanced debug info. |
| * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced |
| debug info. |
| * ddg.c (add_deps_for_def): Converted use of reaching defs to |
| reaching uses and fixed space problem. |
| |
| 2006-05-23 Jan Hubicka <jh@suse.cz> |
| |
| * cgraphunit.c (decide_is_function_needed): Also nested functions |
| and functions declared inline can be optimized out at -O0. |
| |
| 2006-05-22 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Configuration): Remove reference to CrossGCC |
| FAQ which was gone. |
| (Building): Ditto. |
| |
| 2006-05-22 Kazu Hirata <kazu@codesourcery.com> |
| |
| PR target/27266 |
| * config/i386/i386.c (ix86_expand_branch): Jump to simple if |
| ix86_compare_emitted is non-NULL. |
| |
| 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c++/27451 |
| * stmt.c (expand_asm_operands): Skip asm statement with erroneous |
| clobbers. |
| |
| 2006-05-22 Richard Sandiford <richard@codesourcery.com> |
| |
| PR rtl-optimization/25514 |
| * combine.c (replaced_rhs_insn): New variable. |
| (combine_instructions): Set replaced_rhs_insn when trying to replace |
| a SET_SRC with a REG_EQUAL note. |
| (distribute_notes): Use replaced_rhs_insn when determining the live |
| range of a REG_DEAD register. |
| |
| 2006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de> |
| Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.c (avr_mcu_types): Add support for attiny261, |
| attiny461, attiny861, attiny25, attiny45, attiny85, attiny24, |
| attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p, |
| atmega164p, atmega324p, atmega644p, atmega644, atmega329, |
| atmega3290, atmega649, atmega6490, atmega406, atmega640, |
| atmega1280, atmega1281, at90can32, at90can64, at90usb646, |
| at90usb647, at90usb1286 and at90usb1287 devices. |
| * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). |
| * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). |
| |
| 2006-05-22 Richard Sandiford <richard@codesourcery.com> |
| |
| * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment. |
| |
| 2006-05-22 Richard Guenther <rguenther@suse.de> |
| |
| Revert |
| 2006-01-31 Richard Guenther <rguenther@suse.de> |
| Paolo Bonzini <bonzini@gnu.org> |
| |
| * doc/install.texi (--disable-libgcc-math): Document. |
| |
| 2006-05-22 Richard Guenther <rguenther@suse.de> |
| |
| Revert |
| 2006-01-31 Richard Guenther <rguenther@suse.de> |
| |
| * doc/invoke.texi (-msselibm): Document. |
| * target.h (expand_library_builtin): New target hook. |
| * builtins.c (expand_builtin): Use expand_library_builtin. |
| (default_expand_library_builtin): New function. |
| * gcc.c (LINK_GCC_MATH_SPEC): Define. |
| (LINK_COMMAND_SPEC): Handle %(link_gcc_math). |
| (link_gcc_math_spec): Declare. |
| (static_specs): Add link_gcc_math_spec. |
| * expr.h (default_expand_library_builtin): Declare. |
| * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. |
| (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. |
| * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. |
| * config/i386/i386.opt (msselibm): New target option. |
| * config/i386/i386.c (ix86_builtin_function_variants): New array. |
| (ix86_init_sse_abi_builtins): New function. |
| (ix86_expand_library_builtin): Likewise. |
| (TARGET_EXPAND_LIBRARY_BUILTIN): Define. |
| (override_options): Handle error conditions wrt -msselibm. |
| (ix86_builtins): Add function codes for SSE2 ABI builtins. |
| (ix86_init_builtins): Call ix86_init_sse_abi_builtins. |
| * doc/extend.texi (__builtin_sse2_*): Document new target specific |
| builtins. |
| |
| 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c/27420 |
| * c-common.c (self_promoting_args_p): Skip erroneous args. |
| |
| PR c/26818 |
| * c-decl.c (finish_struct): Skip erroneous fields. |
| |
| 2006-05-22 Nick Clifton <nickc@redhat.com> |
| |
| * config/cris/cris.opt (march): Remove VarExists attribute. |
| (max-stackframe=): Likewise. |
| |
| 2006-05-22 Kazu Hirata <kazu@codesourcery.com> |
| |
| * doc/rtl.texi: Fix a typo. |
| * see.c: Fix comment typos. |
| |
| * tree-ssa-structalias.h (alias_info): Remove num_references. |
| |
| 2006-05-21 Mike Stump <mrs@apple.com> |
| |
| * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas. |
| (BAD2): Add. |
| (darwin_pragma_options): Use BAD instead. |
| (darwin_pragma_unused): Likewise. |
| (darwin_pragma_ms_struct): Likewise. |
| |
| 2006-05-21 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.md (floatsitf2): Remove constraints. |
| |
| 2006-05-21 Kazu Hirata <kazu@codesourcery.com> |
| |
| PR rtl-optimization/27671 |
| * simplify-rtx.c (simplify_relational_operation_1): Fix |
| simplifications of (eq/ne (xor x y) y) and |
| (eq/ne (xor x y) x). |
| |
| PR tree-optimization/26622. |
| * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert |
| on arg1. |
| |
| 2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| * tree-cfg.c: Prune whitespace. |
| (debug_tree_cfg): Point to correct header containing the |
| TDF_* defines. |
| |
| 2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| PR middle-end/25776 |
| * cgraphunit.c (verify_cgraph_node): Typo in error message. |
| |
| 2006-05-20 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/25776 |
| * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error |
| or sorry count is non zero. |
| |
| 2006-05-20 Andreas Schwab <schwab@suse.de> |
| |
| * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab. |
| |
| 2006-05-19 Daniel Berlin <dberlin@dberlin.org> |
| Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| PR rtl-optimization/26855 |
| |
| * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for |
| multiword refs. |
| (df_scan_alloc): Added code to properly handle multiword hard |
| registers and add all_blocks parameter. |
| (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added |
| code to properly handle multiword hard registers. |
| (df_rescan_blocks): Added code to remove deleted blocks from |
| bitmap. |
| (df_ref_create_structure, df_ref_record): Added code to properly |
| handle subregs. |
| (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER |
| and set DF_REF_PARTIAL. |
| (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER. |
| (df_uses_record): Added DF_REF_PARTIAL for subreg. |
| (df_scan_add_problem): Added flags parameter. |
| (df_ref_create_structure): Changed switching structure. |
| (df_bb_refs_record): Fixed case where duplicate artificial refs |
| were created. Changed location of flags. |
| (df_record_entry_block_defs): Added code to make stack pointer |
| live in entry block. Refined cases where frame pointer is needed. |
| Changed location of flags. |
| (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags. |
| (df_set_state): Removed function. |
| (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove, |
| df_insn_create_insn_record, df_insn_refs_delete, |
| df_ref_create_structure): Formatting changes. |
| * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags, |
| df_delete_basic_block): New function. |
| (df_init): Changed location of flags. |
| (df_add_problem): Added flags parameter and the way flags are |
| processed. |
| (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref, |
| debug_df_chain): Improved debugging output. |
| (df_insn_debug, df_insn_uid_debug): Added multiword reg support. |
| (df_refs_chain_dump): Removed df parameter. |
| (df_iterative_dataflow): Added consistency check. |
| (df_prune_to_subcfg): Made public. |
| (df_analyze_problem): Added blocks_to_init parameter and made |
| public. |
| (df_ref_record, df_bb_refs_record, df_mark_reg, |
| df_record_exit_block_uses): Whitespace changes. |
| (df_dump): Whitespace changes. |
| * df.h: Some reordering to remove forward references. |
| (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL, |
| DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields. |
| (df_ref_flags.DF_REF_CLOBBER): Deleted field. |
| (dataflow.flags): New field. |
| (df.flag): Deleted field. |
| (df_alloc_function): Added additional bitmap parameter. |
| (df_dependent_problem_function): New type. |
| (df_problem.changeable_flags): New field. |
| (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL, |
| DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed. |
| (df_mw_hardreg): New struct. |
| (DF_INSN_UID_MWS): New macro. |
| (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df |
| parameter. |
| (df_add_problem, df_ru_add_problem, df_rd_add_problem, |
| df_lr_add_problem, df_ur_add_problem, df_urec_add_problem, |
| df_ri_add_problem, df_scan_add_problem): Added flags parameter. |
| (df_set_state): Removed function. |
| (df_set_flags, df_clear_flags, df_delete_basic_block) New functions. |
| * df-problems.c (df_chain_dump): Removed df parameter. |
| (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc, |
| df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks |
| parameter. |
| (df_ru_alloc, df_rd_alloc): Now resets all blocks. |
| (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute, |
| df_chain_create_bb, df_create_unused_note, df_ri_bb_compute): |
| Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and |
| DF_REF_MUST_CLOBBER cases. |
| (df_ru_bb_local_compute_process_def, |
| df_rd_bb_local_compute_process_def, df_lr_bb_local_compute, |
| df_lr_bb_local_compute, df_ur_bb_local_compute, |
| df_chain_create_bb): Made subreg aware. |
| (df_ru_bb_local_compute, df_rd_bb_local_compute, |
| df_lr_bb_local_compute, df_lr_bb_local_compute, |
| df_chain_create_bb): Cleanup to use proper macros. |
| (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary |
| code to fixup bitvectors. |
| (df_ri_alloc): Cleared lifetime. |
| (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw, |
| df_create_unused_note): New function. |
| (df_ri_bb_compute, df_ri_compute): Added code to create/update |
| REG_DEAD and REG_UNUSED notes as well as register information. |
| (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump, |
| df_chains_dump): Fixed crash if problem was never run. |
| (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem, |
| df_ur_add_problem, df_urec_add_problem, df_chain_add_problem, |
| df_ri_add_problem): Processes flags in uniform manner. |
| (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free, |
| df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free, |
| df_rd_dump, df_urec_free_bb_info): Formatting changes. |
| (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump, |
| df_rd_free_bb_info, df_rd_bb_local_compute_process_def, |
| df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info, |
| df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info, |
| df_ur_dump, df_urec_free_bb_info, df_urec_dump, |
| df_chain_create_bb, df_ri_bb_compute): Whitespace changes. |
| * modulo-sched.c (sms_schedule): Added flag parameter to calls. |
| * see.c (see_initialize_data): Ditto. |
| * final.c (rest_of_clean_state) Added regstack_completed. |
| * rtl.h (regstack_completed): Ditto. |
| * reg-stack.c (regstack_completed): Ditto. |
| |
| 2006-05-19 Mike Stump <mrs@apple.com> |
| |
| * c-tree.h (default_conversion): Remove. |
| * c-common.h (default_conversion): Add. |
| |
| 2006-05-19 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-vrp.c (valid_value_p): New function. |
| (adjust_range_with_scev): Fail if the value of bound is not |
| simple. |
| |
| 2006-05-19 Richard Sandiford <richard@codesourcery.com> |
| |
| * config/mips/linux-unwind.h: Include <asm/unistd.h> |
| (mips_fallback_frame_state): Use syscall numbers to determine |
| the appropriate li instruction for the current ABI. Only use |
| __NR_sigreturn for o32. |
| |
| 2006-05-19 Nicolas Setton <setton@adacore.com> |
| |
| * langhooks.h (struct lang_hooks): Add dwarf_name language hook. |
| * langhooks.c (lhd_dwarf_name): New function. |
| * langhooks-def.h (lhd_dwarf_name): Declare. |
| (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name. |
| * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook. |
| |
| 2006-05-19 Richard Sandiford <richard@codesourcery.com> |
| |
| * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from |
| libgcc2.h. |
| (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old |
| MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if |
| LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD. |
| * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here. |
| Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to |
| determine the size of Wtype, etc. |
| * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument. |
| (swfloatfuncs): New variable. |
| (dwfloatfuncs): Likewise. |
| (lib2funcs): Remove floating-point conversion functions from |
| initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine |
| the set of conversion routines needed. Allow entries to specify |
| an object name, filename and word size. Update users accordingly. |
| * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS. |
| * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define. |
| |
| Revert: |
| |
| 2006-02-08 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/22209 |
| * config/fixtfdi.c: New libgcc source file. |
| * config/fixunstfdi.c: New source file. |
| * config/floatditf.c: New source file. |
| * config/floatunditf.c: New souce file. |
| * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source |
| files above instead of config/mips/_tilib.c. |
| * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise. |
| |
| 2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'. |
| * pa/pa-hpux11.h (LIB_SPEC): Update comment. |
| |
| 2006-05-18 Mike Stump <mrs@apple.com> |
| |
| Fix up vla, vm and [*] sematics. |
| |
| PR c/18740 |
| PR c/7948 |
| PR c/25802 |
| PR c/27673 |
| * c-tree.h (struct c_arg_info): Add had_vla_unspec. |
| (c_vla_unspec_p): Add. |
| (c_vla_type_p): Add. |
| * c-decl.c (struct c_scope): Add had_vla_unspec. |
| (build_array_declarator): Add support for [*]. |
| (grokdeclarator): Likewise. |
| (grokparms): Likewise. |
| (get_parm_info): Likewise. |
| * c-objc-common.c (c_vla_unspec_p): Likewise. |
| * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise. |
| * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to |
| typeof when argument is a variably modified type not inside sizeof or alignof. |
| (c_parser_direct_declarator_inner): Propagate errors. |
| (c_parser_sizeof_expression): Add support for [*]. |
| (c_parser_parms_declarator): Initialize had_vla_unspec. |
| (c_parser_parms_list_declarator): Likewise. |
| * c-typeck.c (c_vla_type_p): Add. |
| (composite_type): Add support for vla compositing. |
| (comptypes_internal): Add support for vla compatibility. |
| (c_expr_sizeof_expr): Evaluate vla arguments. |
| * tree.c (variably_modified_type_p): Update comment for [*]. |
| |
| 2006-05-18 Michael Matz <matz@suse.de> |
| |
| PR target/27599 |
| * config.host: Make assignments to host_xmake_file cumulative. |
| * config.host (*-darwin*): Test $host, not $target. |
| |
| 2006-05-12 Stuart Hastings <stuart@apple.com> |
| |
| * config/i386/i386.opt (-mstackrealign): New flag. |
| * config/i386/i386.c (force_align_arg_pointer): New attribute. |
| (ix86_handle_cconv_attribute): Emit error when |
| force_align_arg_pointer attribute collides with too many regparms. |
| (ix86_function_regparm): Limit regparms when used with |
| force_align_arg_pointer attribute. (ix86_internal_arg_pointer): |
| Support stack-realigning prologue in non-main functions. Emit |
| warning for nested functions under -mstackrealign, emit error for |
| nested functions with force_align_arg_pointer attribute. |
| * doc/extend.texi (force_align_arg_pointer): Document it. |
| * doc/invoke.texi (-mstackrealign): Document it. |
| |
| 2006-05-17 Kazu Hirata <kazu@codesourcery.com> |
| |
| PR rtl-optimization/27477 |
| * combine.c (try_combine): Don't split a parallel consisting |
| of two sets into two individual sets if both sets reference |
| cc0. |
| |
| 2006-05-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/arm/arm.opt (target_fpe_name): Remove VarExists. |
| * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise. |
| |
| * doc/options.texi (VarExists): Updated. |
| |
| 2006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * unwind-dw2.c: Add declarations for uw_update_context and |
| uw_frame_state_for. |
| * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is |
| detected, advance frame state and context once to skip over stub. |
| |
| 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| PR middle-end/20256 |
| PR middle-end/26435 |
| * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p. |
| Call rewrite_into_loop_closed_ssa only when something changed. |
| * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration. |
| * lambda-code.c (can_convert_to_perfect_nest): Declared. |
| (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter. |
| Test for perfect_nest_p here. Fix formating. |
| (replace_uses_equiv_to_x_with_y): Fix formating. |
| (stmt_uses_op): Removed. |
| (can_convert_to_perfect_nest): Removed loopivs parameter. |
| Complete the test by checking the scalar dependences. |
| (perfect_nestify): Remove the test for can_convert_to_perfect_nest. |
| Fix formating. |
| |
| 2006-05-17 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| PR bootstrap/22541 |
| From Dan Kegel <dank@kegel.com>: |
| * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR. |
| |
| 2006-05-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true |
| if the element type is variably modified without recursing. |
| |
| 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| PR middle-end/27332 |
| * tree-loop-linear.c (try_interchange_loops): Test for |
| no data dependences. |
| |
| 2006-05-17 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/27548 |
| * tree-scalar-evolution.c (scev_const_prop): Do not prolong life |
| range of ssa names that appear on abnormal edges. |
| * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export. |
| * tree-flow.h (contains_abnormal_ssa_name_p): Declare. |
| |
| 2006-05-17 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| PR middle-end/27620 |
| * expr.c (safe_from_p): Handle CONSTRUCTOR again. |
| |
| 2006-05-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/27415 |
| * tree.h (OMP_PARALLEL_COMBINED): Define. |
| * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field. |
| (new_omp_context): Add is_combined_parallel argument. |
| (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust |
| new_omp_context caller. |
| (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare): |
| Adjust gimplify_scan_omp_clauses callers. |
| (omp_is_private): Issue errors if iteration variable is firstprivate |
| or reduction in the current context. |
| * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED |
| on combined parallel workshare constructs. |
| |
| 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o. |
| (gcc-options.o): New rule. |
| |
| * optc-gen.awk: Protect variables for gcc-options.o with |
| #ifdef GCC_DRIVER/#endif. |
| |
| 2006-05-16 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/27373 |
| * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument. |
| (forward_propagate_addr_expr): Update call. |
| |
| 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * doc/options.texi: Move the Negative option. |
| |
| 2006-05-16 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/22303 |
| * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads |
| from STRING_CSTs. |
| (evaluate_stmt): Fall back to fold_const_aggregate_ref, if |
| ccp_fold did not simplify the statement. |
| |
| 2006-05-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR driver/26885 |
| * Makefile.in (GCC_OBJS): New. |
| (OBJS-common): Add opts-common.o. |
| (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS). |
| (cpp$(exeext)): Likewise. |
| (gcc.o): Also depend on opts.h. |
| (opts-common.o): New. |
| |
| * common.opt (gcoff): Add Negative(gdwarf-2). |
| (gdwarf-2): Add Negative(gstabs). |
| (gstabs): Add Negative(gstabs+). |
| (gstabs+): Add Negative(gvms). |
| (gvms): Add Negative(gxcoff). |
| (gxcoff): Add Negative(gxcoff+). |
| (gxcoff+): Add Negative(gcoff). |
| * config/i386/i386.opt (m32): Add Negative(m64). |
| (m64): Add Negative(m32). |
| |
| * doc/options.texi: Document the Negative option. |
| |
| * gcc.c: Include "opts.h". |
| (main): Call prune_options after expandargv. |
| |
| * optc-gen.awk: Generate common declarations for all flag |
| variables in options.c. Output the neg_index field. |
| |
| * opts.c (find_opt): Moved to ... |
| * opts-common.c: Here. New file. |
| |
| * opts.h (cl_option): Add a neg_index field. |
| (find_opt): New. |
| (prune_options): Likewise. |
| |
| 2006-05-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/27573 |
| * omp-low.c (expand_omp_parallel): Don't assert |
| .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block, |
| instead search for it. |
| |
| PR c/27499 |
| * gimplify.c (gimplify_omp_for): Remove assertion that iteration var |
| is signed. |
| |
| 2006-05-16 Andreas Schwab <schwab@suse.de> |
| |
| * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end |
| defmac. |
| |
| 2006-05-15 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/26600 |
| * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode |
| integer constants other than zero are only legitimate on TARGET_64BIT. |
| <CONST_VECTOR> Only zero vectors are legitimate. |
| (ix86_cannot_force_const_mem): Integral and vector constants can |
| always be put in the constant pool. |
| |
| 2006-05-16 DJ Delorie <dj@redhat.com> |
| |
| * crtstuff.c (__dso_handle): Set section from |
| TARGET_LBIGCC_SDATA_SECTION if defined. |
| * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document. |
| * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define. |
| |
| 2006-05-16 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR target/27599 |
| * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to |
| host_xmake_file. |
| |
| 2006-05-16 Ben Elliston <bje@au.ibm.com> |
| |
| * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'. |
| |
| 2006-05-15 Per Bothner <per@bothner.com> |
| |
| * tree.c: (last_annotated_node): Use source_locus typedef. |
| This permits bootstrapping with --enable-mapped-location. |
| |
| 2006-05-15 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/26830 |
| * tree-into-ssa.c (struct ssa_name_info): Add age field. |
| (info_for_ssa_name, current_info_for_ssa_name_age, |
| blocks_to_update): New variables. |
| (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX. |
| (clear_ssa_name_info, initialize_flags_in_bb, |
| mark_block_for_update): New functions. |
| (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL. |
| (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update, |
| prepare_def_site_for): Use mark_block_for_update. |
| (mark_def_interesting): Assert that the processed block is marked in |
| blocks_to_update. Do not take blocks argument. |
| (prepare_use_sites_for, prepare_names_to_update): Do not take blocks |
| argument. |
| (rewrite_update_init_block, rewrite_update_stmt): Only process |
| blocks with statements to rewrite. |
| (delete_update_ssa): Do not clear SSA_NAME_AUX. |
| (update_ssa): Initialize and free blocks_to_update. Do not |
| clear flags on statements. Do not use blocks bitmap. |
| * tree.h (SSA_NAME_AUX): Removed. |
| (struct tree_ssa_name): Removed aux field. |
| * print-tree.c (print_node): Do not print SSA_NAME_AUX. |
| |
| 2006-05-15 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27603 |
| * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): |
| Do computations in original type. |
| |
| 2006-05-15 Mircea Namolaru <namolaru@il.ibm.com> |
| |
| * see.c: Code style changes such as redundant paranthesis, |
| redundant intialization of local variables etc. |
| (see_main): Declared now as static. |
| * doc/invoke.texi: Update that -fsee is not enabled by |
| default at -O3. |
| |
| 2006-05-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-low.c (check_omp_nesting_restrictions): New function. |
| (scan_omp_1): Call it. |
| |
| PR middle-end/27416 |
| * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned |
| construct, return *VAR. |
| |
| 2006-05-14 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR rtl-optimization/27406 |
| * bt-load.c (migrate_btr_def): Skip the block having abnormal |
| edges. |
| |
| 2006-05-14 Roger Sayle <roger@eyesopen.com> |
| |
| PR rtl-optimization/27538 |
| * combine.c (expand_compound_operation): Call gen_lowpart |
| before calling simplify_shift_const. |
| |
| 2006-05-14 Roger Sayle <roger@eyesopen.com> |
| |
| PR rtl-optimization/22563 |
| * expmed.c (store_fixed_bit_field): When using AND and IOR to store |
| a fixed width bitfield, always force the intermediates into psuedos. |
| |
| 2006-05-14 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| PR 27501 |
| * mkconfig.sh: Use operator = instead of == for test. |
| |
| 2006-05-13 Nick Clifton <nickc@redhat.com> |
| |
| * dwarf2out.c (dbx_reg_number): Check return value from |
| LEAF_REG_REMAP and only use it if it is valid. |
| (multiple_reg_loc_descriptor): Likewise. |
| |
| 2006-05-13 Richard Guenther <rguenther@suse.de> |
| |
| * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to |
| host_xmake_file. |
| |
| 2006-05-13 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow |
| information attached to non-INSNs such as NOTEs. |
| (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise. |
| |
| 2006-05-12 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for |
| On contraint. |
| * config/s390/s390.md: Adjust comment describing On constraint. |
| |
| 2006-05-11 Jan Hubicka <jh@suse.cz> |
| |
| * cgraphunit.c (decide_is_function_needed): Don't force always_inline |
| to be output at -O0. |
| |
| 2006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR middle-end/27384 |
| * fold-const.c (size_binop): Move sanity check for arguments to |
| the beginning of the function. |
| |
| PR middle-end/27488 |
| * fold-const.c (tree_expr_nonnegative_p): Return early on invalid |
| expression. |
| |
| 2006-05-11 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/27529 |
| * fold-const.c (fold_unary): Handle intermediate conversion |
| to a pointer type like intermediate conversion to an integer |
| type in folding of (T1)(T2)var to var. |
| Match the code to the comment in the final conversion for |
| (T1)(T2)var to (T1)var regarding to type precision. Rather |
| than disallow T1 being of pointer type, assert that both T1 |
| and var are of pointer type or not. Make sure not to fall |
| over the frontends lazyness wrt array to pointer decay though. |
| |
| 2006-05-10 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c (arm_struct_value_rtx): Delete. |
| (TARGET_STRUCT_VALUE_RTX): Use the default definition. |
| (arm_init_cumulative_args): Always initialize nregs to zero. |
| |
| 2006-05-10 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27532 |
| * tree-object-size.c (plus_expr_object_size): Fix typo. |
| |
| 2006-05-10 Kazu Hirata <kazu@codesourcery.com> |
| |
| PR target/24949 |
| * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem, |
| ashrdi_const, ashrdi3): Use a scratch register. |
| |
| 2006-05-10 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27302 |
| * fold-const.c (operand_equal_p): For two comparisons, |
| try comparison of one comparison code swapped if that yields |
| the same code. |
| |
| 2006-05-10 Ben Elliston <bje@au.ibm.com> |
| |
| * tree-pretty-print.c (pretty_print_string): No need to handle |
| '\0' as a special character. |
| |
| * tree.h: Include "hashtab.h". |
| (iterative_hash_expr): Use hashval_t in its prototype. |
| * Makefile.in (TREE_H): Add $(HASHTAB_H). |
| |
| 2006-05-09 Steve Ellcey <sje@cup.hp.com> |
| |
| PR bootstrap/26872 |
| * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes. |
| (hppa*64*-*-hpux11*): Ditto. |
| (hppa[12]*-*-hpux11*): Ditto. |
| |
| 2006-05-09 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/26545 |
| * config/rs6000/aix41.h (TARGET_64BIT): Define. |
| |
| 2006-05-09 Michael Matz <matz@suse.de> |
| |
| * config.host (<i[34567]86-*-*, x86_64-*-*>): Set |
| host_extra_gcc_objs and host_xmake_file. |
| (<*-*-linux*>): Don't overwrite host_xmake_file. |
| * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS. |
| * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define. |
| (host_detect_local_cpu): Declare. |
| (CC1_CPU_SPEC): Add -march=native and -mtune=native cases. |
| * config/i386/i386.c (override_options): Handle -mtune=native |
| as -mtune=generic. |
| * config/i386/x-i386: New file. |
| * config/i386/driver-i386.c: New file. |
| * doc/invoke.texi (<i386 and x86-64 Options>): Describe |
| cpu-type "native". |
| |
| 2006-05-09 Dirk Mueller <dmueller@suse.de> |
| Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/27498 |
| * fold-const.c (fold_read_from_constant_string): Relax check |
| for matching types to matching modes. |
| |
| 2006-05-09 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/27335 |
| * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the |
| loops. |
| |
| 2006-05-08 Chao-ying Fu <fu@mips.com> |
| Richard Sandiford <richard@codesourcery.com> |
| |
| * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns. |
| (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise. |
| * config/mips/mips.md (UNSPEC_SCC): New constant. |
| * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare. |
| * config/mips/mips.c (mips_reverse_fp_cond_p): New function. |
| (mips_emit_compare): Use it. |
| (mips_expand_vcondv2sf): New function. |
| |
| 2006-05-08 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/27093 |
| * tree-ssa-alias.c (recalculate_used_alone): Mark variables for |
| renaming when they become not-used_alone. |
| |
| 2006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter |
| relocation and relocation stubs. |
| |
| 2006-05-08 Eric Christopher <echristo@apple.com> |
| |
| * unwind-dw2-fde-darwin.c (examine_objects): Only check data |
| section for ppc. |
| |
| 2006-05-08 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/24561 |
| * cgraphunit.c (decide_is_function_needed): When not optimizing even |
| unused static functions are needed. |
| |
| 2006-05-08 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/27158 |
| * reload.c (find_reloads_toplev): Only return the simplified SUBREG |
| of a reg_equiv_constant if the result is a legitimate constant. |
| |
| 2006-05-08 Uros Bizjak <uros@kss-loka.si> |
| |
| PR target/27277 |
| * 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. |
| |
| 2006-05-08 Kazu Hirata <kazu@codesourcery.com> |
| |
| * config/arm/constraints.md (c): Fix a typo. |
| |
| * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment |
| typos. |
| |
| 2006-05-07 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/24879 |
| * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use |
| inline function. |
| (_mm_mwait): Likewise. |
| |
| * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with |
| "mwait". |
| (sse3_monitor): Make it 32bit only. |
| (sse3_monitor64): New. 64bit monitor. |
| |
| 2006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR target/27421 |
| * config/i386/i386.c (classify_argument): Skip fields with invalid |
| types. |
| |
| 2006-05-07 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27409 |
| * tree-ssa-structalias.c (get_constraint_for_component_ref): |
| Do not try to find zero-sized subvars. |
| |
| 2006-05-07 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27136 |
| * tree-ssa-loop-niter.c (get_val_for): Correct function |
| comment, assert requirements. |
| (loop_niter_by_eval): Stop processing if the iterated |
| value did not simplify. |
| |
| 2006-05-07 Mircea Namolaru <namolaru@il.ibm.com> |
| |
| * opts.c (flag_see): remove its setting at -O3. |
| |
| 2006-05-07 Richard Earnshaw <rearnsha@arm.com> |
| |
| * genpeep.c (main): Make insn-peep.c depend on flags.h. |
| * arm/constraints.md: New file. |
| * arm.h (REG_CLASS_FROM_LETTER_P): Delete. |
| (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER) |
| (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER) |
| (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM) |
| (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR) |
| (EXTRA_MEMORY_CONSTRAINT): Likewise. |
| * arm.md: Include constraints.md. |
| (thumb_movsi_insn): Use satisfies_constraint_J. |
| (movhi, movqi): Use satisfies_constraint_I. |
| |
| 2006-04-29 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name |
| for atmeg a645 device. |
| |
| 2006-05-06 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27151 |
| * tree-vect-transform.c (vectorizable_condition): Punt on |
| values that have a different type than the condition. |
| |
| 2006-05-03 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR/21391 |
| * c-parser.c (c_parser_cast_expression): Only insert casts into |
| hash table if pointer. |
| * function.c (used_types_insert_helper): Rename from |
| used_types_insert. |
| (used_types_insert): Call used_types_insert_helper. |
| * function.h (used_types_insert): Accept only one argument. |
| |
| 2006-05-05 David Edelsohn <edesohn@gnu.org> |
| |
| * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered |
| scratch with output modifier. |
| |
| 2006-05-04 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/26481 |
| * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint |
| with output modifier. |
| |
| 2006-05-04 Richard Sandiford <richard@codesourcery.com> |
| |
| PR target/26765 |
| * config/mips/mips.c (mips_symbolic_address_p): Return true |
| for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL, |
| SYMBOL_GOTTPREL, and SYMBOL_TLS. |
| |
| 2006-05-04 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/14287 |
| PR tree-optimization/14844 |
| PR tree-optimization/19792 |
| PR tree-optimization/21608 |
| PR tree-optimization/27090 |
| * tree-ssa-pre.c (try_combine_conversion): New function. |
| (compute_avail): After constructing the value-handle |
| expression, use try_combine_conversion to combine NOP_EXPRs |
| with previous value-handle expressions and use the result if it |
| is available. |
| |
| 2006-05-04 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove. |
| |
| 2006-05-04 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/25962 |
| * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing. |
| |
| 2006-05-04 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/bfin/predicates.md (const01_rtx): Tell generator programs |
| that this only matches CONST_INTs. All users changed to VOIDmode |
| operands. |
| |
| * config/bfin/bfin.c: Include "optabs.h". |
| (bfin_rtx_costs): Some costs for vector operations, to allow combine |
| to do more work. |
| (enum bfin_builtins): Add a number of fractional and vector builtins. |
| (bfin_init_builtins): Likewise. |
| (struct builtin_description, bdesc_2arg, bdesc_1arg): New. |
| (safe_vector_operand, bfin_expand_binop_builtin, |
| bfin_expand_unop_builtin): New functions. |
| (bfin_expand_builtin): Handle the new builtins. |
| * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define |
| __ADSPBLACKFIN__. |
| |
| 2006-05-04 Leehod Baruch <leehod@il.ibm.com> |
| |
| * see.c: New file. |
| * Makefile.in (OBJS-common): Add see.o. |
| (see.o): Add dependencies. |
| * common.opt (fsee): New flag for the see optimization was added. |
| * opts.c (flag_see): Initialized. |
| * passes.c (init_optimization_passes, pass_see): New pass. |
| * rtl.h (see_main): Declaration as extern. |
| * timevar.def (TV_SEE): New. |
| * tree-pass.h (pass_see): Declaration as extern. |
| * invoke.texi (-fsee): Document. |
| * recog.c (validate_simplify_insn): New function. |
| * recog.h (validate_simplify_insn): Declaration as extern. |
| * df-problems.c (df_chain_dump): Check for NULL. |
| |
| 2006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com> |
| Daniel Berlin <dberlin@dberlin.org> |
| |
| * cfgrtl.c (insert_insn_bb_end_new): New function. |
| * basic-block.h (insert_insn_bb_end_new): Declaration as extern. |
| |
| 2006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il> |
| |
| * df.h (struct web_entry): Moved from web.c. |
| (union_defs): Declaration as extern. |
| (unionfind_root): Likewise. |
| (unionfind_union): Likewise. |
| * web.c (struct web_entry): Moved to df.h. |
| (unionfind_root): Remove static declaration. |
| (unionfind_union): Likewise. |
| (union_defs): Likewise and generalize to use callback function. |
| (web_main): Update arguments for union_defs function call. |
| |
| 2006-05-04 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26447 |
| * tree-ssa-pre.c (realify_fake_stores): For necessary loads |
| produce SSA_NAME copies before the store stmt to avoid |
| breaking exception handling. |
| |
| 2006-05-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/27388 |
| * gimplify.c (omp_is_private): If var is shared in some outer context, |
| return false instead of true. Stop searching on parallel context |
| boundary. |
| |
| 2006-05-03 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR java/8260 |
| * coverage.c: Use get_gcov_unsigned_t() instead of |
| unsigned_type_node all over. |
| |
| 2006-05-02 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR tree-optimization/27381 |
| * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument, |
| maintain the same immediate_use links. |
| * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker |
| node rather than segfaulting. |
| |
| 2006-05-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/27395 |
| * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE |
| rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN |
| bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER. |
| |
| 2006-05-02 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/26626 |
| * tree-ssa-structalias.c (compute_points_to_sets): For now, solve |
| always. |
| * tree-ssa-operands.c (access_can_touch_variable): Allow |
| typecasting through union pointers. |
| |
| 2006-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/26943 |
| * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function. |
| (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx |
| to find if var will be a global variable even in the nested context. |
| (omp_copy_decl): Only check for global variable at the end, it might |
| be overridden in outer contexts. |
| (scan_sharing_clauses): For global variables don't create a field. |
| (lower_rec_input_clauses): Do nothing for global shared variables. |
| Emit a barrier at the end of ILIST if there were any decls in both |
| firstprivate and lastprivate clauses. |
| (lower_send_clauses): Do nothing for global variables except for |
| COPYIN. |
| |
| 2006-05-02 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree.c (unsigned_type_for, signed_type_for): Make sure a type |
| of the correct signedness is returned. |
| |
| 2006-05-02 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/27364 |
| * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from |
| multiply expressions. |
| |
| 2006-05-02 Tom Tromey <tromey@redhat.com> |
| |
| * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo. |
| |
| 2006-05-02 Kazu Hirata <kazu@codesourcery.com> |
| |
| PR target/27387 |
| * arm.c (arm_output_mi_thunk): Use pc-relative addressing when |
| -mthumb -fPIC are used. |
| |
| 2006-05-02 Stanislaw Skowronek <skylark@linux-mips.org> |
| Joshua Kinard <kumba@gentoo.org> |
| |
| PR target/25871 |
| * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves |
| with 64-bit pointers. |
| |
| 2006-05-02 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/arm.c (add_minipool_forward_ref): Check if insn |
| and pool overlap. |
| (create_fix_barrier): Check that a suitable barrier location is |
| found. |
| (arm_reorg): Include ftmp->address in allowable range of addresses. |
| |
| 2006-05-02 David Billinghurst <David.Billinghurst@riotinto.com> |
| |
| PR ada/27366 |
| * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment |
| on Cygwin. |
| |
| 2006-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/27337 |
| * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF |
| around RESULT_DECL for result passed by reference. |
| (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen. |
| * omp-low.c (use_pointer_for_field): Don't look at |
| DECL_HAS_VALUE_EXPR_P for RESULT_DECLs. |
| (scan_omp_1): Call remap_decl on RESULT_DECLs. |
| (lower_rec_input_clauses): Don't allocate VLA memory for the second |
| time or var for passing by reference for |
| OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of |
| TREE_ADDRESSABLE variables when passing by reference. |
| |
| * omp-low.c (dump_omp_region): Fix output formatting. |
| |
| PR middle-end/27328 |
| * omp-low.c (remove_exit_barrier): Handle NULL exit_bb. |
| (expand_omp_parallel): Likewise. |
| * tree-cfg.c (move_sese_region_to_fn): Likewise. |
| |
| PR middle-end/27325 |
| * omp-low.c (lower_omp_sections): Call maybe_catch_exception |
| on statement list containing also constructors and destructors. |
| (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise. |
| |
| PR middle-end/27310 |
| * except.c (duplicate_eh_regions): Fix clearing of |
| cfun->eh->region_array entries. |
| |
| 2006-05-01 DJ Delorie <dj@redhat.com> |
| |
| * configure.ac (gcc_cv_nm): Don't use an in-tree nm if |
| build!=host. |
| (gcc_cv_objdump): Likewise. |
| * configure: Regenerated. |
| |
| 2006-05-01 Kazu Hirata <kazu@codesourcery.com> |
| |
| PR target/27374 |
| * config/arm/vfp.md (*arm_movdi_vfp): Correct the output |
| templates for case 3 and 4. |
| |
| 2006-05-01 DJ Delorie <dj@redhat.com> |
| |
| * vec.c: Include bconfig.h when appropriate. |
| * Makefile.in (build/vec.o): Adjust dependencies. |
| * mkconfig.sh: Make sure config.h isn't used for build machine |
| compiles. |
| |
| 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New |
| variables. |
| (mark_phi_for_rewrite): New function. |
| (insert_phi_nodes_for, mark_use_interesting): Call |
| mark_phi_for_rewrite. |
| (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite. |
| (update_ssa): Initialize and free phis_to_rewrite. |
| |
| 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/27291 |
| * loop-doloop.c (add_test, doloop_modify): Handle the case condition is |
| folded to a constant. |
| |
| 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/27283 |
| * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees, |
| not whole # of iteration descriptions. |
| (niter_for_exit): Return just # of iterations. Fail if # of iterations |
| uses abnormal ssa name. |
| (niter_for_single_dom_exit): Ditto. |
| (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to |
| return just the number of iterations. |
| |
| 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/27144 |
| * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function. |
| (record_estimate): Only record constant upper bound. |
| (infer_loop_bounds_from_undefined): Call |
| compute_estimated_nb_iterations just once. |
| (proved_non_wrapping_p): Renamed to ... |
| (n_of_executions_at_most): ... this. Expect bound to be a constant. |
| (convert_step_widening, scev_probably_wraps_p): Call |
| n_of_executions_at_most instead of proved_non_wrapping_p. |
| (substitute_in_loop_info): Do not replace values in bounds. |
| * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update |
| comments. |
| |
| 2006-05-01 Richard Henderson <rth@redhat.com> |
| |
| PR c/27358 |
| * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after |
| c_parser_skip_to_pragma_eol. Convert to switch statement. Handle |
| CPP_PRAGMA. |
| |
| 2006-05-01 Roger Sayle <roger@eyesopen.com> |
| |
| * c-typeck.c (parser_build_binary_op): Don't call the function |
| unsigned_conversion_warning to spot operand/result type overflow. |
| (build_binary_op): Instead, call convert_and_check instead of |
| convert to report the problem when the operands are promoted. |
| * c-common.c (unsigned_conversion_warning): Make static. |
| * c-common.h (unsigned_conversion_warning): Delete prototype. |
| |
| 2006-05-01 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26726 |
| * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the |
| problem ... |
| (find_interesting_uses_address): ... we work around here |
| by folding INDIRECT_REFs in the substituted base. |
| |
| 2006-05-01 Diego Novillo <dnovillo@redhat.com> |
| |
| * omp-low.c (dump_omp_region): Add newlines. |
| |
| 2006-04-30 Roger Sayle <roger@eyesopen.com> |
| |
| * common.opt (Woverflow): New command line option. |
| * c-common.c (constant_expression_warning): Check warn_overflow. |
| (overflow_waring): Pass OPT_Woverflow to warning. |
| (unsigned_conversion_warning): Likewise. |
| (convert_and_check): Likewise. |
| * doc/invoke.texi: Document new command line option. |
| |
| 2006-04-30 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6000_override_options): Enable |
| TARGET_NO_FP_IN_TOC for section anchors. |
| (optimization_options): Enable section anchors for all |
| non-"Objective" languages. |
| |
| 2006-04-28 Eric Christopher <echristo@apple.com> |
| |
| * config/darwin-c.c (darwin_ms_struct): Move this |
| (darwin_set_default_type_attributes): and this... |
| * config/darwin.c: ... here. |
| * config/darwin.h (darwin_ms_struct): Declare. |
| |
| 2006-04-28 Andrew MacLeod <amacleod@redhat.com> |
| |
| * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause. |
| |
| 2006-04-28 Roger Sayle <roger@eyesopen.com> |
| |
| PR c/25309 |
| * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT. |
| (push_array_bounds): Delete prototype. Change BOUNDS argument to |
| an unsigned HOST_WIDE_INT. |
| (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the |
| array index. |
| (really_start_incremental_init): No need to call convert because |
| bitsize_zero_node is already of type bitsizetype. |
| (push_init_level): Extract the value of constructor_index as an |
| unsigned HOST_WIDE_INT quantity, using tree_low_cst. |
| (process_init_element): Likewise. |
| |
| 2006-04-28 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX |
| value before passing to make_relative_prefix. |
| |
| 2006-04-28 Alan Modra <amodra@bigpond.net.au> |
| |
| PR middle-end/27260 |
| * builtins.c (expand_builtin_memset): Expand val in original mode. |
| |
| 2006-04-27 Eric Christopher <echristo@apple.com> |
| |
| * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket |
| with #ifndef/#endif. |
| * config/darwin-c.c (darwin_ms_struct): New. |
| (darwin_pragma_ms_struct): Ditto. |
| (darwin_set_default_type_attributes): Ditto. |
| * config/darwin-protos.h (darwin_pragma_ms_struct): Declare. |
| * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): |
| Register ms_struct pragma. |
| * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare. |
| (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto. |
| * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call |
| darwin_set_default_type_attributes if TARGET_MACHO. |
| |
| 2006-04-27 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR tree-optimization/26854 |
| * tree-vrp.c (remove_range_assertions): Use new Immuse iterator. |
| * doc/tree-ssa.texi: Update immuse iterator documentation. |
| * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator. |
| * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator. |
| * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p, |
| first_safe_imm_use, next_safe_imm_use): Remove. |
| (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal. |
| (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal. |
| (move_use_after_head): New. Helper function to sort immuses in a stmt. |
| (link_use_stmts_after): New. Link all immuses in a stmt consescutively. |
| (first_imm_use_stmt): New. Get first stmt in an immuse list. |
| (next_imm_use_stmt): New. Get next stmt in an immuse list. |
| (first_imm_use_on_stmt): New. Get first immuse on a stmt. |
| (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt. |
| (next_imm_use_on_stmt): New. Move to next immuse on a stmt. |
| * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator. |
| * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator. |
| (perfect_nestify): Use new iterator. |
| * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new |
| iterator. |
| * tree-flow.h (struct immediate_use_iterator_d): Add comments. |
| (next_imm_name): New field in struct immediate_use_iterator_d. |
| (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove. |
| (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT, |
| FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros. |
| * tree-cfg.c (replace_uses_by): Use new iterator. |
| * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator. |
| * tree-ssa-operands.c (correct_use_link): Remove. |
| (finalize_ssa_use_ops): No longer call correct_use_link. |
| |
| 2006-04-27 Stuart Hastings <stuart@apple.com> |
| |
| * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New. |
| * config/t-darwin (crt3.o): Use it. |
| * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove |
| 'pmode', use Pmode instead of SImode for SYMBOL_REF. |
| * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv, |
| call_nonlocal_sysv, call_value_indirect_nonlocal_sysv, |
| call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64 |
| support. |
| |
| 2006-04-27 Roger Sayle <roger@eyesopen.com> |
| |
| * expmed.c (store_fixed_bit_field): If we're not optimizing for |
| size, force the intermediate into a new pseudo rather instead of |
| performing both a bitwise AND and a bitwise IOR in memory. |
| |
| 2006-04-27 Richard Guenther <rguenther@suse.de> |
| |
| PR rtl-optimization/26685 |
| * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named |
| this one "max-flow-memory-locations". |
| |
| 2006-04-27 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/25148 |
| * tree-vrp.c (compare_values): Remove code dealing with |
| comparisons against type min/max value. Honour overflow |
| and negative constants in code dealing with comparisons |
| of plus and minus expressions. |
| (value_inside_range): Use fold_binary with LE_EXPR and |
| GE_EXPR rather than compare_values. |
| |
| 2006-04-27 Dirk Mueller <dmueller@suse.de> |
| |
| * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare |
| prototype for SSE. |
| |
| 2006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| * basic-block.h (safe_insert_insn_on_edge): Removed. |
| * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed. |
| |
| 2006-04-26 David Edelsohn <edelsohn@gnu.org> |
| Paolo Bonzini <bonzini@gnu.org> |
| |
| PR middle-end/27282 |
| * combine.c (simplify_and_const_int_1): Use gen_int_mode. |
| (simplify_and_const_int): Same. |
| |
| 2006-04-26 Aldy Hernandez <aldyh@redhat.com> |
| |
| * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE. |
| |
| 2006-04-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/26171 |
| * cgraph.c (cgraph_varpool_finalize_decl): Don't call |
| cgraph_varpool_assemble_pending_decls if -fopenmp, unless |
| cgraph_global_info_ready. |
| |
| PR middle-end/26913 |
| * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR. |
| |
| PR c/25996 |
| * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if |
| either decl or init is error_mark_node. |
| |
| PR middle-end/25989 |
| * tree-flow.h (struct omp_region): Add sched_kind. |
| * omp-low.c (expand_parallel_call): Use region->inner->sched_kind |
| instead of extracting omp for data. |
| (expand_omp_for): Save extracted sched_kind. |
| |
| 2006-04-25 Roger Sayle <roger@eyesopen.com> |
| |
| * expmed.c (store_bit_field): Also check whether the bitsize is |
| valid for the machine's "insv" instruction before moving the |
| target into a pseudo for use with the insv. |
| * config/i386/predicates.md (const8_operand): New predicate. |
| * config/i386/i386.md (extv, extzv, insv): Use the new |
| const8_operand predicate where appropriate. |
| |
| 2006-04-25 DJ Delorie <dj@redhat.com> |
| |
| * doc/install.texi (Specific): Clarify that this is not a list of |
| supported hosts or targets. |
| |
| 2006-04-25 Richard Sandiford <richard@codesourcery.com> |
| |
| PR rtl-optimization/26725 |
| * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source |
| block's BB_DIRTY flag. |
| |
| 2006-04-25 Geoffrey Keating <geoffk@apple.com> |
| |
| * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there |
| are no branches. |
| |
| * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just |
| to print an integer. |
| |
| 2006-04-25 David Edelsohn <edelsohn@gnu.org> |
| |
| * varasm.c (align_variable): New function. |
| (get_block_for_decl): Apply align_variable to DECL before |
| calculating section information. |
| (assemble_variable): Split out alignment computation. |
| |
| 2006-04-25 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * expmed.c (store_bit_field): Handle paradoxical subregs on big endian |
| machines. |
| |
| 2006-04-25 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a |
| MODE_PARTIAL_INT mode. |
| * config/bfin/bfin-modes.def: Add V2PDI and V2SI. |
| * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers |
| for CONST_INTs. |
| (hard_regno_mode_ok): V2PDImode is ok for accumulators. |
| * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle |
| V2PDImode. |
| * config/bfin/predicates.md (const01_operand, vec_shift_operand): |
| New predicates. |
| * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG): |
| New constants. |
| (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS, |
| MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2, |
| MACFLAG_IH): Likewise. |
| (movstricthi_1): Renamed from "*movstricthi". |
| (load_accumulator, load_accumulator_pair, movsi_insv, insv, |
| ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3, |
| abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high, |
| movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low, |
| movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low, |
| movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3, |
| addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, |
| sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, |
| addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, |
| mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2, |
| ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi, |
| flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly, |
| flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts, |
| flag_macv2hi_parts, flag_macv2hi_parts_acconly, |
| flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns. |
| |
| * doc/rtl.texi (ss_ashift): Improve wording. |
| |
| 2006-04-24 Geoffrey Keating <geoffk@apple.com> |
| |
| * dwarf2out.c (verify_marks_clear): New. |
| (prune_unused_types): Call verify_marks_clear initially, not |
| prune_unmark_dies. |
| |
| 2006-04-24 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * rtl.def (SS_ASHIFT, SS_NEG): New codes. |
| * doc/rtl.texi: Document them. |
| * simplify-rtx.c (simplify_unary_operation, |
| simplify_binary_operation_1): Don't abort when we see them. |
| |
| 2006-04-24 Mark Mitchell <mark@codesourcery.com> |
| |
| Revert: |
| 2006-04-23 Mark Mitchell <mark@codesourcery.com> |
| * configure.ac: Completely disregard languages that are not |
| enabled. |
| * configure: Regenerated. |
| |
| 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> |
| Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27236 |
| * tree-inline.c (copy_body_r): Make sure to copy |
| TREE_THIS_VOLATILE flag. |
| |
| 2006-04-24 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/26869 |
| * tree-complex.c (update_parameter_components): Don't handle |
| unused parameters which have no default def. |
| |
| 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> |
| Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/27218 |
| * tree-inline.c (expand_call_inline): Strip useless type |
| conversions for the return slot address. |
| |
| 2006-04-24 Richard Guenther <rguenther@suse.de> |
| |
| * cfgloop.h (struct loops): Remove unused field array. Reorder |
| state after num. |
| (LOOP_PREFETCH): Remove. |
| |
| 2006-04-24 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/22525 |
| * value-prof.c (tree_mod_pow2): Remove unnecessary temporary |
| variable, adjust types of generated expressions. |
| |
| 2006-04-23 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * Makefile.in (c-convert.o): Add dependency on $(TARGET_H) |
| (tree-vect-patterns.o): Likewise. |
| (jump.o): Likewise. |
| (cselib.o): Likewise. |
| (loop-doloop.o): Likewise. |
| (regclass.o): Likewise. |
| (reload1.o): Likewise. |
| (explow.o): Replace target.h with $(TARGET_H). |
| (ipa-prop.o): Likewise. |
| (ipa-cp.o): Likewise. |
| (ipa-inline.o): Likewise. |
| (reorg.o): Likewise. |
| (reg-stack.o): Likewise. |
| |
| 2006-04-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too. |
| |
| 2006-04-23 Mark Mitchell <mark@codesourcery.com> |
| |
| * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE. |
| |
| * configure.ac: Completely disregard languages that are not |
| enabled. |
| * configure: Regenerated. |
| |
| PR c++/26534 |
| * c-common.h (c_build_bitfield_integer_type): Declare. |
| * c-decl.c (c_build_bitfield_integer_type): Move to ... |
| * c-common.c (c_build_bitfield_integer_type): ... here. |
| |
| 2006-04-23 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/21283 |
| * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on |
| a SImode SUBREG of a floating point register after no_new_pseudos. |
| |
| 2006-04-23 Roger Sayle <roger@eyesopen.com> |
| |
| * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to |
| identify potentially eliminable registers to additionally catch |
| VIRTUAL_INCOMING_ARGS_REGNUM. |
| (addsi3): Update the conditions on when to use addsi_small_int. |
| |
| 2006-04-23 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/16641 |
| * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for |
| STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the |
| rtx to stack_pointer_rtx or frame_pointer_rtx directly. |
| |
| 2006-04-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fold-const.c (range_predecessor): Use operand_equal_p |
| as the predicate for equality. |
| (range_successor): Likewise. |
| |
| 2006-04-22 Kazu Hirata <kazu@codesourcery.com> |
| |
| Revert: |
| * config/soft-fp/op-common.h: Fix a typo. |
| |
| 2006-04-22 Frank Ch. Eigler <fche@redhat.com> |
| |
| PR libmudflap/26864 |
| * common.opt (flag_mudflap_threads): Overload flag_mudflap. |
| * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap. |
| |
| 2006-04-22 Kazu Hirata <kazu@codesourcery.com> |
| |
| * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c: |
| Fix comment typos. |
| * doc/tm.texi: Fix a typo. |
| |
| 2006-04-21 Geoffrey Keating <geoffk@apple.com> |
| |
| * dwarf2out.c (struct die_struct): Document that die_sib makes |
| a circular linked list. |
| (FOR_EACH_CHILD): New. |
| (reverse_die_lists): Delete. |
| (reverse_all_dies): Delete. |
| (add_dwarf_attr): Correct documentation. |
| (remove_child_with_prev): New. |
| (remove_child_TAG): Update for change to die_struct, use |
| remove_child_with_prev. |
| (add_child_die): Update for change to die_struct. |
| (splice_child_die): Use remove_child_with_prev and add_child_die. |
| (print_die): Use FOR_EACH_CHILD. |
| (die_checksum): Likewise. |
| (assign_symbol_names): Likewise. |
| (output_location_lists): Likewise. |
| (build_abbrev_table): Likewise. |
| (calc_die_sizes): Likewise. |
| (mark_dies): Likewise. |
| (unmark_dies): Likewise. |
| (unmark_all_dies): Likewise. |
| (output_die): Likewise. |
| (prune_unused_types_mark): Likewise. |
| (prune_unused_types_walk): Likewise. |
| (same_die_p): Update for change to die_struct. |
| (break_out_includes): Likewise. |
| (prune_unused_types_prune): Likewise. |
| (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic. |
| (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if |
| it's already clear. |
| (dwarf2out_finish): Don't call reverse_all_dies. |
| |
| 2006-04-21 Eric Christopher <echristo@apple.com> |
| |
| * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos |
| in comments and function names. |
| |
| 2006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c/25875 |
| * c-typeck.c (digest_init): Robustify. |
| |
| * c-typeck.c (pop_init_level): Simplify. |
| |
| 2006-04-21 Steve Ellcey <sje@cup.hp.com> |
| |
| * config/pa/t-pa64: Add dependencies on $(GCC_PASSES). |
| |
| 2006-04-21 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/arm.c (arm_override_options): Error on iWMMXt and |
| hardware floating point. |
| |
| 2006-04-21 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to |
| NON_FLOAT_REGS. |
| |
| 2006-04-21 Nick Clifton <nickc@redhat.com> |
| |
| * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include |
| OPT_EXTRA_PARTS. |
| |
| 2006-04-21 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/27230 |
| * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use |
| C++ lang type in traceback table for Objective-C++. |
| |
| * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment. |
| |
| 2006-04-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (asm_preferred_eh_data_format): Reformat. |
| |
| 2006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR mudflap/26789 |
| * tree-mudflap.c (mudflap_finish_file): Skip function when there |
| were errors. Remove check for erroneous objects. |
| |
| 2006-04-20 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/26854 |
| * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when |
| checking for zero or one use. |
| * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly. |
| * tree-cfgcleanup.c (merge_phi_nodes): Similarly. |
| * tree-ssa-reassoc.c (negate_value): Similarly. |
| (reassociate_bb): Similarly. |
| |
| 2006-04-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR C/27558 |
| * c-pretty-print.c (pp_c_direct_abstract_declarator): Print |
| TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather |
| than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)). |
| |
| 2006-04-20 Alan Modra <amodra@bigpond.net.au> |
| |
| * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all |
| fp regs if the last fp arg doesn't fit in regs. |
| |
| 2006-04-20 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/27182 |
| * config/sh/sh.md (movsicc_true+3): Tweak condition for the case |
| that the last insn has the REG_INC note. |
| |
| 2006-04-19 Carlos O'Donell <carlos@codesourcery.com> |
| Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR c/26774 |
| * stor-layout.c (update_alignment_for_field): Do not align |
| ERROR_MARK nodes. |
| (place_union_field): Place union field at the start of the union. |
| (place_field): Move ERROR_MARK check later, and use the current |
| allocation position to maintain monotonicity. |
| |
| 2006-04-19 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * dominance.c: Include timevar.h. |
| (calculate_dominance_info): Use TV_DOMINANCE. |
| * timevar.def (TV_DOMINANCE): New timevar. |
| * Makefile.in (dominance.o): Add TIMEVAR_H dependency. |
| |
| 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| PR rtl-optimization/14261 |
| * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting |
| move would be an INSV insn. |
| (noce_process_if_block): Don't optimize if the destination is a |
| ZERO_EXTRACT which can't be handled by noce_emit_move_insn. |
| |
| 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.md: Add comments with the instructions emitted |
| by an insn pattern if macros are used. |
| |
| 2006-04-19 Alan Modra <amodra@bigpond.net.au> |
| |
| PR rtl-optimization/26026 |
| * fold-const.c (fold_binary): Optimize div and mod where the divisor |
| is a known power of two shifted left a variable amount. |
| |
| 2006-04-18 Geoffrey Keating <geoffk@apple.com> |
| |
| * dwarf2out.c (prune_unused_types_update_strings): Don't add strings |
| to hash table twice when the debug_str section has SECTION_MERGE. |
| |
| 2006-04-18 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config/soft-fp: New directory. From glibc. |
| * config/soft-fp/t-softfp: New. |
| * config/soft-fp/README: New. |
| * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE. |
| * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New. |
| (libgcc.mk): Pass LIB2FUNCS_EXCLUDE. |
| (LIBGCC_DEPS): Add $(SFP_MACHINE). |
| * config.gcc: Use rs6000/t-fprules-fpbit or |
| rs6000/t-fprules-softfp and soft-fp/t-softfp together with |
| rs6000/t-fprules. |
| * config/rs6000/sfp-machine.h: New. Based on glibc. |
| * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp: |
| New. |
| * config/rs6000/t-fprules: Remove fp-bit rules. |
| * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=. |
| * config/rs6000/t-linux64: Likewise. Remove duplicates from |
| LIB2FUNCS_EXTRA. Remove fp-bit rules. |
| (softfp_wrap_start, softfp_wrap_end): New. |
| |
| 2006-04-18 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/m32c.h (PTRDIFF_TYPE): Define. |
| |
| 2006-04-18 Devang Patel <dpatel@apple.com> |
| |
| * doc/invoke.texi (-Wuninitialized): Clarify -O connection. |
| |
| 2006-04-18 Nick Clifton <nickc@redhat.com> |
| |
| * config/sh/t-symbian: Add rule to build sh-c.o |
| * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use |
| of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P. |
| (sh_symbian_encode_section_info): Likewise. |
| |
| 2006-04-18 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * builtins.c (expand_builtin_strcmp): Cover label definition of |
| do_libcall with HAVE_cmpstrnsi. |
| |
| 2006-04-18 Kazu Hirata <kazu@codesourcery.com> |
| |
| * function.c (temp_slots_at_level, max_slot_level): Use VEC |
| instead of VARRAY. |
| * function.h (temp_slot_p): New. |
| (function): Change the type of x_used_temp_slots to |
| VEC(temp_slot_p,gc) *. |
| |
| 2006-04-18 Nick Clifton <nickc@redhat.com> |
| |
| * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to |
| flag_strength_reduce. |
| |
| * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo. |
| |
| 2006-04-18 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR target/27117 |
| |
| Partial revert of revision 112637 |
| 2006-04-03 Paolo Bonzini <bonzini@gnu.org> |
| Dale Johannesen <dalej@apple.com> |
| |
| PR target/19653 |
| * 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-04-18 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR tree-optimization/26821 |
| * tree-ssa-math-opts.c (get_constant_one): New. |
| (insert_reciprocals): Use it. |
| |
| 2006-04-17 Geoffrey Keating <geoffk@apple.com> |
| |
| * dwarf2out.c (free_AT): Delete. |
| (remove_AT): Update string ref counts. |
| (remove_child_TAG): Don't call free_die. |
| (free_die): Delete. |
| (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL |
| or DW_TAG_GNU_EINCL. |
| (prune_unused_types_walk_attribs): Reset string refcounts. |
| (prune_unused_types_update_strings): New. |
| (prune_unused_types_prune): Don't make unnecessary stores. Don't |
| call free_die. Do call prune_unused_types_update_strings. |
| (prune_unused_types): Empty debug_str_hash. |
| |
| 2006-04-17 Roger Sayle <roger@eyesopen.com> |
| |
| * expr.c (expand_assignment): Optimize away no-op moves where the |
| source and destination are equal and have no side-effects. |
| |
| 2006-04-17 Richard Guenther <rguenther@suse.de> |
| |
| PR target/26826 |
| * reload.c (push_reload): Guard calls to get_secondary_mem |
| for memory subregs. |
| |
| 2006-04-16 Kazu Hirata <kazu@codesourcery.com> |
| |
| * alias.c (reg_base_value, old_reg_base_value): Change the |
| type to VEC(rtx,gc) *. |
| (REG_BASE_VALUE, find_base_value, record_set, |
| init_alias_analysis): Use VEC instead of VARRAY. |
| |
| * alias.c (alias_sets): Change the type to |
| VEC(alias_set_entry,gc) *. |
| (get_alias_set_entry, new_alias_set, record_alias_subset): Use |
| VEC instead of VARRAY. |
| (last_alias_set): Remove. |
| |
| * cgraph.h (cgraph_edge_p): New. |
| Update the prototype of cgraph_function_versioning. |
| * cgraphunit.c (cgraph_copy_node_for_versioning, |
| cgraph_function_versioning): Use VEC instead of VARRAY. |
| * ipa-cp.c (ipcp_insert_stage): Likewise. |
| |
| 2006-04-16 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/26961 |
| * fold-const.c (fold_ternary): When converting "A ? B : C" into either |
| "A op B" or "A op C", we may need to convert A to the type of B and C. |
| |
| 2006-04-16 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * target.h (struct gcc_target): Add mode_rep_extended. |
| * rtlanal.c (num_sign_bit_copies_in_rep): New global. |
| (init_num_sign_bit_copies_in_rep): Initialize it using |
| mode_rep_extended. |
| (truncate_to_mode): Use it. |
| (init_rtlanal): Call init_num_sign_bit_copies_in_rep. |
| * targhooks.h (default_mode_rep_extended): Declare it. |
| * targhooks.c (default_mode_rep_extended): Define it. |
| * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to |
| default_mode_rep_extended. |
| (TARGET_INITIALIZER): Include it. |
| * doc/tm.texi (Misc): Document it. |
| * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it. |
| (mips_truncated_to_mode): New function. |
| |
| 2006-04-16 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/25474 |
| * expr.c (compress_float_constant): Copy the narrow constant into |
| a new pseudo before extending it to its final width. |
| |
| 2006-04-16 Roger Sayle <roger@eyesopen.com> |
| Andrew Pinski <pinskia@gcc.gnu.org> |
| Dale Johannesen <dalej@apple.com> |
| |
| PR target/24076 |
| * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add |
| special case code to implement V8HImode and V16QImode with SSE2. |
| |
| 2006-04-15 Roger Sayle <roger@eyesopen.com> |
| |
| * config/i386/i386.c (ix86_va_start): Ensure all integer constant |
| trees are constructed with a suitable tree type. |
| |
| 2006-04-15 Roger Sayle <roger@eyesopen.com> |
| |
| * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW. |
| (integer_onep): Likewise. |
| (integer_all_onesp): Likewise. |
| (integer_pow2p): Likewise. |
| (integer_nonzerop): Likewise. |
| (real_zerop): Likewise. |
| (real_onep): Likewise. |
| (real_twop): Likewise. |
| (real_minus_onep): Likewise. |
| (int_size_in_bytes): Likewise. |
| (host_integerp): Likewise. |
| |
| 2006-04-15 Kazu Hirata <kazu@codesourcery.com> |
| |
| * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c, |
| jump.c, mips-tfile.c, omp-low.c, sched-int.h, |
| tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos. |
| |
| * tree-ssa-structalias.h (alias_info): Remove num_references. |
| |
| 2006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa.md (output_bb patterns): Shorten long branch alternatives by 4. |
| (output_bvb patterns): Likewise. |
| * pa.c (output_bb): Use 'bb' insn for long branch case. |
| (output_bvb): Likewise use '{bvb|bb}' for long branch case. |
| (output_dbra): Use '{comb|cmpb}' for long branch case for alternative |
| 1. Correct length operand for alternatives 1 and 2. |
| (output_movb): Use '{comb|cmpb}' for long branch case for alternatives |
| 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3. |
| |
| 2006-04-14 Roger Sayle <roger@eyesopen.com> |
| |
| * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r, |
| is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that |
| were accidentally reverted by r112959. |
| |
| 2006-04-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/26823 |
| * except.h (eh_region_outermost): New prototype. |
| * except.c (eh_region_outermost): New function. |
| * tree-cfg.c (find_outermost_region_in_block): Use it. |
| |
| 2006-04-14 Kazu Hirata <kazu@codesourcery.com> |
| |
| * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead |
| of VARRAY. |
| * reload1.c (reg_equiv_memory_loc_varray): Rename to |
| reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *. |
| (init_reload, reload): Use VEC instead of VARRAY. |
| * reload.h: Update the prototype for |
| reg_equiv_memory_loc_varray. |
| |
| 2006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com> |
| Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.c (emit_and_preserve): Allocate space for the |
| register save area. |
| |
| 2006-04-13 Uros Bizjak <uros@kss-loka.si> |
| |
| PR middle-end/27134 |
| * builtins.c (expand_builtin_int_roundingfn): Use expand_normal() |
| to expand fallback builtin function call. |
| |
| 2006-04-14 Alan Modra <amodra@bigpond.net.au> |
| |
| PR middle-end/27095 |
| * builtins.c: (expand_builtin_memset): Stabilize args before expansion |
| and emit libcall here in case the builtin fails. |
| (expand_builtin_strcmp): Always emit the libcall here on failure. |
| |
| 2006-04-14 Kazu Hirata <kazu@codesourcery.com> |
| |
| * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY. |
| * flow.c (reg_n_info): Change the type to |
| VEC(reg_info_p,heap) *. |
| * regclass.c (allocate_reg_info, free_reg_info): Use VEC |
| instead of VARRAY. |
| * regs.h (reg_info_p): New. |
| (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS, |
| REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED, |
| REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC |
| instead of VARRAY. |
| |
| 2006-04-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter, |
| defaulting to 100. |
| * params.h (MAX_SCHED_READY_INSNS): New macro. |
| * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle |
| past MAX_SCHED_READY_INSNS during the first scheduling pass. |
| (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in |
| the ready list for 1 cycle during the first scheduling pass. |
| * doc/invoke.texi (--param): New parameter max-sched-ready-insns. |
| |
| 2006-04-13 Richard Henderson <rth@redhat.com> |
| |
| PR libgomp/26651 |
| * gimple-low.c (lower_omp_directive): Remove dead code. |
| (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL. |
| * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE. |
| * omp-low.c (struct omp_region): Move to tree-flow.h. |
| (root_omp_region): Export. |
| (omp_regions, lookup_omp_region): Remove. |
| (determine_parallel_type): Update for struct omp_region changes. |
| (dump_omp_region): Dump regions with block numbers. |
| (new_omp_region): Take type and block instead of stmt; malloc |
| instead of ggc. |
| (free_omp_region_1, free_omp_regions): New. |
| (expand_parallel_call): Take entry_stmt as argument; update for |
| changes to omp_region. |
| (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT. |
| (remove_exit_barriers): New. |
| (expand_omp_parallel): Update for struct omp_region changes. |
| (expand_omp_synch): Likewise. |
| (expand_omp): Likewise. |
| (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE. |
| (expand_omp_for_static_chunk): Likewise. |
| (expand_omp_for): Likewise. |
| (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call. |
| (expand_omp_sections): Similarly, with GOMP_sections_end. |
| (expand_omp_single): New. |
| (build_omp_regions_1): Update for OMP_CONTINUE. |
| (execute_expand_omp): Call remove_exit_barriers, free_omp_regions. |
| (lower_omp_sections): Expand with OMP_CONTINUE, do not collect |
| OMP_SECTIONS_SECTIONS. |
| (lower_omp_single_simple): Don't emit barrier here. |
| (lower_omp_single_copy): Likewise. |
| (lower_omp_single): Fix bindings, and lower to straightline now. |
| (lower_omp_master, lower_omp_ordered): Likewise. |
| (lower_omp_critical): Likewise. |
| (lower_omp_for): Likewise. Emit OMP_CONTINUE. |
| * tree-cfg.c (make_edges): Collect an omp_region tree, use it for |
| omp edges, free it afterward. |
| (make_omp_sections_edges): Remove. |
| (is_ctrl_altering_stmt): Don't bother checking flag_openmp. |
| (move_stmt_r): Handle OMP_CONTINUE. |
| * tree-flow.h (struct omp_region): Move from omp-low.c. Switch |
| statement pointers to basic blocks. Add type member. |
| (root_omp_region, new_omp_region, free_omp_regions): Declare. |
| * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE. |
| * tree-inline.c (estimate_num_insns_1): Likewise. |
| * tree-pretty-print.c (dump_generic_node): Likewise. |
| * tree-ssa-operands.c (get_expr_operands): Likewise. |
| * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand. |
| (OMP_RETURN): Rename from OMP_RETURN_EXPR. |
| (OMP_CONTINUE): New. |
| * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE. |
| (OMP_SECTIONS_SECTIONS): Remove. |
| (OMP_SECTION_LAST): New. |
| (OMP_RETURN_NOWAIT): New. |
| |
| 2006-04-13 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (native_encode_vector, native_interpret_real): |
| Correct obvious mistakes in the previous check-in. |
| |
| 2006-04-13 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (native_encode_expr): New function to encode |
| the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST |
| or VECTOR_CST into a specified buffer. |
| (native_encode_int): New function. |
| (native_encode_real): New function. |
| (native_encode_complex): New function. |
| (native_encode_vector): New function. |
| (native_interpret_expr): Inverse of native_encode_expr to convert |
| a target representation into an INTEGER_CST, REAL_CST etc... |
| (native_interpret_int): New function. |
| (native_interpret_real): New function. |
| (native_interpret_complex): New function. |
| (native_interpret_vector): New function. |
| (fold_view_convert_expr): New function to constant fold/evaluate |
| a VIEW_CONVERT_EXPR of a suitable constant expression. |
| (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr. |
| Change call of build1 to fold_build1 when constructing a |
| VIEW_CONVERT_EXPR. |
| |
| 2006-04-13 Paolo Bonzini <bonzini@gnu.org> |
| Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR target/27006 |
| * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n |
| to be even. |
| |
| 2006-04-13 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/26459 |
| * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't |
| optimize to lo_sum for DFmode if !TARGET_FPRS. |
| |
| 2006-04-12 Kazu Hirata <kazu@codesourcery.com> |
| |
| * tree-ssa-alias.c (set_initial_properties, init_alias_info, |
| delete_alias_info, compute_flow_sensitive_aliasing, |
| group_aliases): Use VEC instead of VARRAY. |
| * tree-ssa-structalias.c (update_alias_info): Likewise. |
| * tree-ssa-structalias.h (alias_info): Change the type of |
| processed_ptrs to VEC(tree,heap) *. |
| |
| 2006-04-12 J"orn Rennecke <joern.rennecke@st.com> |
| |
| PR target/27060 |
| * config/sh/lib1funcs.h: New file, broken out of: |
| * config/sh/lib1funcs.asm. |
| * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41): |
| New macros. |
| * config/sh/lib1funcs.asm (udivsi3_i4): Use them. |
| * config/sh/lib1funcs-Os-4-200.asm: New file. |
| * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200. |
| * config/sh/t-sh (OPT_EXTRA_PARTS): New variable. |
| (EXTRA_MULTILIB_PARTS): Include it. |
| ($(T)sdivsi3_i4i-Os-4-200.o): New rule. |
| ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise. |
| * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS. |
| * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for |
| TARGET_SH2. |
| |
| 2006-04-12 Kazu Hirata <kazu@codesourcery.com> |
| |
| * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h. |
| * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete, |
| tpa_compact, root_var_init, type_var_init): Use VEC instead of |
| VARRAY. |
| * tree-ssa-live.h: Include vecprim.h. |
| (tree_partition_associator_d): Change the type of |
| first_partition to VEC(int,heap) *. |
| (tpa_first_partition): Use VEC instead of VARRAY. |
| |
| * Makefile.in (GTFILES): Move functions.h after tree.h. |
| * function.c (reset_block_changes, record_block_change, |
| check_block_change, free_block_changes): Use VEC instead of |
| VARRAY. |
| * function.h (function): Change the type of |
| ib_boundaries_block to VEC(tree,gc) *. |
| * tree-inline.c (copy_cfg_body): Initialize |
| ib_boundaries_block to NULL instead of (varray_type) 0. |
| |
| 2006-04-12 Roger Sayle <roger@eyesopen.com> |
| |
| * expr.c (emit_group_store): Correct operand order in call to |
| subreg_lowpart_offset. Always create paradoxical SUBREGs with |
| a SUBREG_BYTE of zero. |
| |
| 2006-04-12 Richard Guenther <rguenther@suse.de> |
| |
| * profile.c (compute_branch_probabilities): Remove code |
| encapsulated in !ir_type (), which are remanents of the |
| removed RTL profiling code. |
| * rtl-profile.c: Remove. |
| |
| 2006-04-12 Alan Modra <amodra@bigpond.net.au> |
| |
| * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update |
| magic NULL_RTX comment. |
| (function_arg): Store entire fp arg to mem if any part should go |
| on stack. |
| (rs6000_arg_partial_bytes): Adjust for above change. |
| |
| 2006-04-11 Roger Sayle <roger@eyesopen.com> |
| |
| * dwarf2out.c (output_call_frame_info): Create debug_frame_section |
| if it hasn't been initialized by dwarf2out_init. |
| |
| 2006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca> |
| |
| * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new |
| symbolic constants in branch patterns. |
| |
| 2006-04-11 Roger Sayle <roger@eyesopen.com> |
| |
| * caller-save.c: #include "addresses.h" after #include "tm_p.h". |
| |
| 2006-04-11 Richard Sandiford <richard@codesourcery.com> |
| |
| PR rtl-optimization/27073 |
| * gcse.c (try_replace_reg): Revert last change. Continue to search |
| for both REG_EQUAL and REG_EQUIV notes, but only perform replacements |
| on the former. |
| |
| 2006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle |
| aggregate types other than record and union types. |
| (function_arg): Likewise. |
| (function_arg_pass_by_reference): In 64-bit mode, return 0 for |
| small arrays. |
| (function_value): In 64-bit mode, return objects that require it |
| in FP registers. |
| |
| 2006-04-11 Roger Sayle <roger@eyesopen.com> |
| |
| * dwarf2out.c (premark_used_types): Remove problematic prototype. |
| |
| 2006-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o. |
| |
| 2006-04-03 Jeff Law <law@redhat.com> |
| |
| PR/27087 |
| * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive |
| alias information too. |
| |
| 2006-04-10 Mike Frysinger <vapier@gentoo.org> |
| |
| * Makefile.in (gcc-cross): Add $(exeext) to target name. |
| |
| 2006-04-10 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR/21391 |
| * dwarf2out.c (struct die_struct): Add die_perennial_p field. |
| (premark_used_types_helper): New. |
| (premark_used_types): New. |
| (gen_subprogram_die): Call premark_used_types. |
| (prune_unused_types_walk): Do not prune perennial dies. |
| * function.c (used_types_insert): New. |
| * function.h (struct function): Add used_types_hash field. |
| (used_types_insert): Add prototype. |
| * Makefile.in (FUNCTION_H): Depend on HASHTAB_H. |
| * c-parser.c (c_parser_cast_expression): Save casted types in used |
| types hash table. |
| |
| 2006-04-11 Mark Mitchell <mark@codesourcery.com> |
| |
| PR target/26459 |
| * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test |
| rs6000_explicit_options.float_gprs. |
| |
| 2006-04-10 Roger Sayle <roger@eyesopen.com> |
| |
| * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed |
| from ix86_expand_vector_init_low_nonzero. Take an additional |
| one_var argument indicating which element is non-zero. Support |
| one_var != 0 for V4SFmode and V4SImode by permuting the result. |
| (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero |
| with one_var instead of ix86_expand_vector_init_low_nonzero. |
| |
| 2006-04-10 Kazu Hirata <kazu@codesourcery.com> |
| |
| * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o, |
| tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o, |
| global.o, cfglayout.o, lambda-code.o, reg-stack.o, |
| build/genextract.o): Depend on vecprim.h. |
| * cfglayout.c, df-problems.c, function.c, genextract.c, |
| global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c, |
| tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include |
| vecprim.h. |
| * vecprim.h: New. |
| |
| 2006-04-10 Geoffrey Keating <geoffk@apple.com> |
| |
| * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next. |
| Declare VECs of this type. |
| (struct die_struct): Make field die_attr a VEC of dw_attr_struct. |
| (remove_children): Delete. |
| (add_dwarf_attr): Use VEC routines. |
| (add_AT_flag): Update for changes to add_dwarf_attr. |
| (add_AT_int): Likewise. |
| (add_AT_unsigned): Likewise. |
| (add_AT_long_long): Likewise. |
| (add_AT_vec): Likewise. |
| (add_AT_string): Likewise. |
| (add_AT_die_ref): Likewise. |
| (add_AT_fde_ref): Likewise. |
| (add_AT_loc): Likewise. |
| (add_AT_loc_list): Likewise. |
| (add_AT_addr): Likewise. |
| (add_AT_lbl_id): Likewise. |
| (add_AT_lineptr): Likewise. |
| (add_AT_macptr): Likewise. |
| (add_AT_offset): Likewise. |
| (add_AT_range_list): Likewise. |
| (get_AT): Use VEC_iterate. |
| (remove_AT): Use VEC_ordered_remove. |
| (free_die): Fold remove_children into here; have it use VEC_iterate. |
| (print_die): Use VEC_iterate on attrs. |
| (reverse_die_lists): Don't reverse attr lists. |
| (die_checksum): Use VEC_iterate on attrs. |
| (same_die_p): Likewise. |
| (output_location_lists): Likewise. |
| (build_abbrev_table): Likewise. |
| (size_of_die): Likewise. |
| (unmark_all_dies): Likewise. |
| (output_abbrev_section): Likewise. |
| (output_die): Likewise. |
| (prune_unused_types_walk_attribs): Likewise. |
| |
| 2006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * doc/install.texi (*-*-solaris2*): Point to the configure page. |
| |
| 2006-04-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/27057 |
| * dwarf2out.c (is_symbol_die): Return true also for namespaces. |
| |
| 2006-04-09 Roger Sayle <roger@eyesopen.com> |
| |
| * expr.c (store_constructor): Don't bother clearing target if |
| we're about to assign a vector to it using vec_init_optab. |
| |
| 2006-04-10 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-ssa-alias.c (lhs_may_store_to): New function. |
| (recalculate_used_alone): Handle LHS of calls. |
| |
| 2006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/27034 |
| PR target/26508 |
| * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts. |
| * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a. |
| (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here. |
| (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines. |
| (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK. |
| (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text |
| section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB |
| stubs. Add ".align 8" directives before all ".dword" directives. |
| (GTHREAD_USE_WEAK): Revise comment. |
| (TARGET_ATTRIBUTE_WEAK): Define. |
| * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o, |
| dfi-stub.o, cxaf-stub.o and jvrc-stub.o. |
| * stublib.c: New file. |
| |
| PR target/26743 |
| PR target/11254 |
| PR target/10274 |
| * pa.md (cbranch patterns): Revise arguments used in calls to |
| output_cbranch, output_bb and output_bvd. Add long branch length |
| attributes. |
| (fbranch patterns): Handle long branches. |
| (jump): Revise length check. Revise arguments for output_lbranch call. |
| Add long branch length attributes. |
| (decrement_and_branch_until_zero): Add long branch length attributes. |
| (output_movb, output_parallel_addb and output_parallel_movb patterns): |
| Likewise. Revise arguments for output_parallel_addb and |
| output_parallel_movb calls. |
| * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb, |
| output_parallel_movb and output_parallel_addb): Update prototypes. |
| * pa.c (output_cbranch): Revise arguments. Correct handling of |
| nullification in long branches. |
| (output_lbranch): Add new argument to control extraction of delay |
| instruction. |
| (output_bb): Handle long branches. |
| (output_bvb, output_dbra, output_movb, output_parallel_movb, |
| output_parallel_addb): Likewise. |
| |
| 2006-04-09 Richard Sandiford <richard@codesourcery.com> |
| |
| PR rtl-optimization/27073 |
| * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes, |
| not REG_EQUIVs. |
| |
| 2006-04-08 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree.h (tree_memory_tag): Add old_used_alone. |
| (SMT_OLD_USED_ALONE): New macro. |
| * tree-ssa-alias.c (recalculate_used_alone): Stop |
| marking things for renaming unnecessarily. |
| |
| 2006-04-08 Kazu Hirata <kazu@codesourcery.com> |
| |
| * builtins.c, config/arm/arm.c, config/i386/cygwin.h, |
| config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h, |
| config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c, |
| haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h, |
| sched-rgn.c, tree-inline.h, tree-ssa-dom.c, |
| tree-ssa-loop-prefetch.c, tree-ssa-operands.c, |
| tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow |
| spelling convensions. |
| * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi, |
| doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment |
| typos. Follow spelling conventions. |
| |
| 2006-04-07 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/m32c.c (m32c_function_arg): Structures are always |
| passed on the stack. |
| (m32c_init_cumulative_args): When a function returns a structure, |
| always pass the pointer to that return area on the stack. |
| (m32c_function_arg_advance): Don't increment the parameter number |
| if we're processing the returned structure pointer. |
| (pushm_info): Reverse order of registers. |
| |
| 2006-04-07 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne, |
| assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt, |
| number_of_iterations_le, number_of_iterations_cond, find_loop_niter, |
| estimate_numbers_of_iterations_loop): Use build_int_cst instead of |
| build_int_cst_type. |
| * tree-chrec.c (chrec_fold_multiply_poly_poly, |
| chrec_fold_multiply): Same. |
| * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost, |
| force_expr_to_var_cost): Same. |
| * tree-mudflap.c (mf_xform_derefs_1): Same. |
| * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same. |
| |
| 2006-04-07 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not |
| treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra |
| insn. |
| |
| 2006-04-07 Jan Hubicka <jh@suse.cz> |
| |
| * ipa-inline.c (cgraph_early_inlining): Collect garbage. |
| |
| 2006-04-07 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26135 |
| * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory |
| loads for store copy-prop. |
| (copy_prop_visit_stmt): Likewise. |
| |
| 2006-04-05 Robert Millan <robertmh@gnu.org> |
| |
| * config/i386/linux.h: Add a comment to mark macros that are |
| being overriden in config/k*bsd-gnu.h. |
| * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of |
| DYNAMIC_LINKER. |
| * config/knetbsd-gnu.h: Ditto. |
| |
| 2006-04-06 Jan Hubicka <jh@suse.cz> |
| |
| PR profile/20815 |
| PR profile/26399 |
| * coverage.c (coverage_checksum_string): Reorganize loop to not read |
| after buffer. |
| |
| 2006-04-06 Mike Stump <mrs@apple.com> |
| |
| * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if |
| for HAVE_nonlocal_goto to be consistent. |
| (expand_builtin_nonlocal_goto): Likewise. |
| (expand_builtin_strcmp): Use #ifdef instead of #if |
| for HAVE_cmpstrnsi to be consistent. |
| |
| 2006-04-05 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c |
| vs m32c. |
| |
| 2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow |
| got-relative addressing for anything but SImode. |
| |
| * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered |
| even if the calling function doesn't modify them. |
| |
| 2006-04-05 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26919 |
| * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument |
| to cgraph_estimate_size_after_inlining. |
| |
| 2006-04-05 Alan Modra <amodra@bigpond.net.au> |
| |
| * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change. |
| |
| 2006-04-05 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| PR tree-optimization/26996 |
| * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze |
| VECTOR_TYPE variables. |
| |
| 2006-04-05 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26763 |
| * fold-const.c (fold_comparison): Move folding of |
| PTR + CST CMP PTR + CST ... |
| (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR. |
| |
| 2006-04-05 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Prerequisites): Refine some wording on |
| bootstrapping and ksh. |
| Move the version numbers of DejaGnu here from the testing section |
| and fix casing of names. |
| Fix markup and clarify wording for autogen requirements. |
| Refer to GCJ instead of just java. |
| Refer to SVN instead of CVS. |
| Describe diffutils as useful instead of necessary. |
| (Downloading the source): Refer to SVN instead of CVS. |
| Adjust a link to our web site accordingly. |
| (Configuration): Fix casing of Bison. |
| (Building): Refer to SVN instead of CVS. |
| Fix a sentence on the use of Bison and remove duplicate (and |
| incorrect) version number of Bison requirement. |
| Remove one redundant list of packages needed for building. |
| (Specific): Avoid reference to CVS. |
| |
| 2006-04-04 Eric Christopher <echristo@apple.com> |
| |
| * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define. |
| (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto. |
| (rs6000_handle_struct_attribute): New. |
| (rs6000_ms_bitfield_layout_p): Ditto. |
| |
| 2006-04-04 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than |
| NULL for dso parameter to atexit_common. |
| |
| 2006-04-04 Eric Christopher <echristo@apple.com> |
| |
| * config/i386/i386.c (machopic_output_stub): Output \t |
| between instructions and operands. |
| |
| 2006-04-04 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.c (num_insns_constant_wide): Change |
| satisfies_constraint_[IL] to explicit tests on value. |
| |
| 2006-04-04 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, |
| set_nb_iterations_in_loop): Use build_int_cst instead of |
| build_int_cst_type. |
| * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use |
| build_int_cst instead of convert. |
| |
| 2006-04-04 Carlos O'Donell <carlos@codesourcery.com> |
| |
| * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document |
| new value 2 for incoming. |
| * function.c (expand_function_start): Call struct_value_rtx |
| with incoming as 2. |
| * config/sparc/sparc.md: Comment updated_return. |
| * config/sparc/sparc.opt: Add -mstd-struct-return option. |
| * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard |
| struct return if sparc_std_struct_return and incoming is 2. |
| (print_operand): Do not adjust return if |
| sparc_std_struct_return. |
| |
| 2006-04-04 Roger Sayle <roger@eyesopen.com> |
| |
| * builtins.c (fold_builtin_sprintf): Use fold_convert instead of |
| convert in the middle-end. |
| * expr.c (store_expr, store_constructor, get_inner_reference, |
| expand_expr_real_1, string_constant, try_casesi, try_tablejump): |
| Likewise. |
| * tree.c (build_range_type): Likewise. |
| |
| 2006-04-04 Tom Tromey <tromey@redhat.com> |
| |
| * doc/install.texi (Prerequisites): Mention jar. |
| |
| 2006-04-04 Daniel Berlin <dberlin@dberlin.org> |
| |
| * doc/tree-ssa.texi (Preserving the virtual ssa form): New |
| subsection. |
| |
| 2006-04-04 Matthias Klose <doko@debian.org> |
| |
| * Makefile.in (unprotoize.o): Same dependencies as for protoize.o. |
| |
| PR bootstrap/26764 |
| PR bootstrap/27334 |
| * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted |
| strings. |
| |
| 2006-04-03 Geoffrey Keating <geoffk@apple.com> |
| |
| * doc/extend.texi (Function Attributes): Rewrite visibility |
| attribute documentation. |
| * doc/invoke.texi (C++ Dialect Options): Rewrite |
| -fvisibility-inlines-hidden documentation to describe something |
| entirely different, although in practise compatible. |
| (Code Gen Options): Warn about system headers in -fvisibility= |
| documentation. |
| |
| * doc/extend.texi (Other Builtins): Document that |
| __builtin_nan is a compile-time constant only when its argument |
| is valid. |
| |
| 2006-04-03 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When |
| trying to remove TRUNCATE check if all bits outside the new mode |
| are identical to the sign bit. |
| |
| 2006-04-03 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding |
| and operand scanning in some common cases. |
| |
| 2006-04-03 Paolo Bonzini <bonzini@gnu.org> |
| Dale Johannesen <dalej@apple.com> |
| |
| PR target/19653 |
| * 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. |
| * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS |
| into account. For non-registers, equate an empty preferred |
| reload class to a `!' in the constraint; move the if clause to |
| do so after those that reject the insn. |
| (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally |
| return NO_REGS. |
| (find_dummy_reload): Likewise. |
| * doc/tm.texi (Register Classes): Document what it means |
| if PREFERRED_*_RELOAD_CLASS return NO_REGS. |
| * config/i386/i386.c (ix86_preferred_reload_class): Force |
| using SSE registers (and return NO_REGS for floating-point |
| constants) if math is done with SSE. |
| (ix86_preferred_output_reload_class): New. |
| * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New. |
| * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New. |
| * config/i386/i386.md: Remove # register preferences. |
| |
| 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| PR bootstrap/26992 |
| * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, |
| chrec_is_positive, set_nb_iterations_in_loop): Use a variable for |
| the type of nb_iter. |
| (instantiate_parameters_1): Convert the operands before calling |
| chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply. |
| * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same. |
| |
| 2006-04-02 Roger Sayle <roger@eyesopen.com> |
| |
| * builtins.c (dummy_object): Use build_int_cst instead of convert. |
| * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert |
| instead of convert. |
| * dojump.c (do_jump): Likewise. |
| * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise. |
| * gimplify.c (gimple_boolify, gimplify_init_constructor, |
| gimplify_boolean_expr): Likewise. |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. |
| * varasm.c (array_size_for_constructor): Likewise. |
| * tree-object-size.c (compute_object_offset): Likewise. |
| |
| 2006-04-02 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/26977 |
| * expr.c (emit_group_store): Check whether simplify_gen_subreg returns |
| NULL_RTX, indicating it couldn't create a valid paradoxical subreg. |
| |
| 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| PR tree-optimization/26939 |
| * tree-chrec.c (chrec_merge): Use eq_evolutions_p. |
| |
| 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument |
| at_stmt. Convert the type of operands before calling |
| build_polynomial_chrec. |
| (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to |
| add_to_evolution_1. |
| (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution. |
| (instantiate_parameters_1): Convert the type of operands before calling |
| build_polynomial_chrec. |
| * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly, |
| chrec_fold_multiply_poly_poly, chrec_replace_initial_condition, |
| reset_evolution_in_loop): Insert asserts to check the types of the |
| operands. |
| (chrec_type): Moved... |
| (eq_evolutions_p): Use operand_equal_p. |
| * tree-chrec.h (build_polynomial_chrec): Insert an assert to check |
| the types of the operands. |
| (chrec_type): ...here. |
| * tree-data-ref.c (create_data_ref): Convert the operands before |
| calling chrec_replace_initial_condition. |
| (same_access_functions, analyze_subscript_affine_affine, |
| analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p. |
| (compute_subscript_distance, analyze_ziv_subscript, |
| analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2, |
| analyze_miv_subscript): Convert the operands before calling |
| chrec_fold_minus or chrec_fold_plus. |
| |
| 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * tree-data-ref.c (compute_all_dependences): Use a pointer to |
| the dependence_relations vector. |
| (compute_data_dependences_for_loop): Adjust call to |
| compute_all_dependences. |
| |
| 2006-04-01 Roger Sayle <roger@eyesopen.com> |
| Richard Henderson <rth@redhat.com> |
| |
| * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call |
| gimple_boolify on the condition before calling gimplify_expr. |
| |
| 2006-03-31 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros |
| to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to |
| the frame size. Update to use the new macros. |
| * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros. |
| * config/xtensa/ieee754-df.S: Likewise. |
| |
| 2006-03-31 Richard Henderson <rth@redhat.com> |
| |
| * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into... |
| (make_edges): ... here. Control fallthru creation with a local |
| variable. Do not play with fake edges. |
| (make_omp_sections_edges): Don't set EDGE_ABNORMAL. |
| (make_goto_expr_edges): Don't play with fake edges. Make for_call |
| a boolean. |
| |
| 2006-04-01 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * dwarf2.h (DW64_CIE_ID): Define. |
| * dwarf2out.c (DWARF_CIE_ID): Define. |
| (output_call_frame_info): Output 0xffffffff before standard 8-byte |
| length header. Use DWARF_CIE_ID. |
| (value_format): Use DW_FORM_data4 or DW_FORM_data8 for |
| dw_val_class_loc_list depending on DWARF_OFFSET_SIZE. |
| |
| 2006-03-31 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/linux-atomic.asm: New file. |
| * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm. |
| |
| 2006-03-31 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/cond.md: Set condition flags properly throughout. |
| * config/m32c/minmax.md: Likewise. |
| * config/m32c/prologue.md: Likewise. |
| * config/m32c/bitops.md: Likewise. |
| * config/m32c/muldiv.md: Likewise. |
| * config/m32c/mov.md: Likewise. |
| * config/m32c/addsub.md: Likewise. |
| * config/m32c/m32c.md: Likewise. |
| * config/m32c/jump.md: Likewise. |
| * config/m32c/shift.md: Likewise. |
| |
| * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to |
| conditionally output the pattern for this. |
| * config/m32c/m32c.c (flags_needed_for_conditional): New. |
| (m32c_compare_redundant): New. |
| (m32c_output_compare): New. |
| * config/m32c/m32c-protos.h (m32c_output_compare): New. |
| |
| * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber |
| dest, not src. Allow other 4-byte modes. |
| |
| 2006-03-30 Denis Chertykov <denisc@overta.ru> |
| |
| * doc/md.texi: Refer to avr/constraints.md instead of |
| avr/avr.h. |
| |
| 2006-03-30 Roger Sayle <roger@eyesopen.com> |
| |
| * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to |
| signed vs. unsigned comparison failures on some hosts. |
| |
| 2006-03-31 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/26459 |
| * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08 |
| change to FLOAT_REGS. |
| |
| * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee. |
| (rs6000_override_options): Use it. |
| (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi |
| only for -mabi=spe/no-spe and -mabi=altivec. |
| |
| 2006-03-30 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with |
| !Zdynamiclib. |
| |
| 2006-03-30 Carlos O'Donell <carlos@codesourcery.com> |
| |
| * Makefile.in: Rename docdir to gcc_docdir. |
| |
| 2006-03-30 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/17959 |
| * expr.c (emit_group_store): Optimize group stores into a pseudo |
| register by using a paradoxical subreg to initialize the destination |
| if the first or last member of the group specifies a "low part". |
| |
| 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| PR target/26734 |
| * rtl.def (DEPS_LIST): Change type of the second operand to 'int'. |
| * target.h (struct gcc_target.speculate_insn): Change type of the |
| second parameter to 'int'. |
| * lists.c (alloc_DEPS_LIST): Change signature. Update reference to |
| the second operand of the DEPS_LIST. |
| (copy_DEPS_LIST_list): Update reference to the second operand of the |
| DEPS_LIST. |
| * rtl.h (alloc_DEPS_LIST): Update signature. |
| * sched-int.h (ds_t): Change typedef to 'int'. |
| (DEP_STATUS, BITS_PER_DEP_STATUS): Update. |
| |
| 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| * haifa-sched.c (try_ready): Change condition to restore |
| non-speculative pattern of the instruction. |
| (process_insn_depend_be_in_spec): Code to keep probability of the |
| speculative dependence non-decreasing. |
| |
| 2006-03-30 Jie Zhang <jie.zhang@analog.com> |
| |
| * config/bfin/bfin.c (single_move_for_strmov): Renamed to... |
| (single_move_for_movmem): ... this. Also change all uses. |
| (bfin_expand_strmov): Renamed to... |
| (bfin_expand_movmem): ... this. Also change all uses. |
| * config/bfin/bfin.md (movstrsi): Renamed to... |
| (movstrsi): ...this. |
| |
| 2006-03-30 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR tree-optimization/26830 |
| |
| * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth. |
| (copy_prop_visit_stmt): Remove write-only variable ann. |
| (init_copy_prop): Check variable loop depth here. Do not simulate |
| memory-tag and virtual operand PHIs except for store copy prop. |
| |
| 2006-03-30 Richard Guenther <rguenther@suse.de> |
| |
| * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic |
| variants with double arguments. |
| |
| 2006-03-29 David Edelsohn <edelsohn@gnu.org> |
| |
| * genpreds.c (write_tm_constrs_h): Delete variable p. |
| * genconditions.c (write_header): Add tm-constrs.h to included |
| headers. |
| * genpeep.c (main): Add toplev.h to included headers. |
| * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency. |
| (build/genpeep.o): Add toplev.h dependency. |
| * config/rs6000/constraints.md: Add "W" constraint. |
| |
| 2006-03-29 Roger Sayle <roger@eyesopen.com> |
| |
| * stor-layout.c (mode_for_size_tree): Remove restiction on type |
| sizes by correctly testing whether the size fits a host integer. |
| (initialize_sizetypes): Use set_min_and_max_values_for_integral_type |
| to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full |
| SImode range for the default sizetype and bitsizetype. |
| |
| 2006-03-29 Roger Sayle <roger@eyesopen.com> |
| |
| * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW |
| and TREE_CONSTANT_OVERFLOW bits of the argument. Return |
| quickly if the argument is already of the correct type. |
| Call fold_build1 instead of build1. Tidy up blank lines. |
| |
| 2006-03-29 David Edelsohn <edelsohn@gnu.org> |
| |
| * genemit.c (main): Add tm-constrs.h to included headers. |
| * genoutput.c (output_prologue): Add tm-constrs.h to included headers. |
| * genpeep.c (main): Add tm-constrs.h to included headers. |
| * genpreds.c (write_satisfies_constraint_fns): Rename to ... |
| (write_tm_constrs_h): this and write complete file. |
| (write_tm_preds_h): Do not emit satisfies_constraint fns. |
| (write_insn_preds_c): Add tm-constrs.h to included headers. |
| (gen_constrs): New variable. |
| (parse_option): Parse "-c". |
| (main): Invoke write_tm_constrs_h. |
| * genrecog.c (write_header): Add tm-constrs.h to included headers. |
| * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h. |
| (object_out_file): Add tm-constrs.h dependency. |
| (insn-emit.o): Same. |
| (insn-output.o): Same. |
| (insn-peep.o): Same. |
| (insn-preds.o): Same. |
| (insn-recog.o): Same. |
| (tm-constsr.h): New target. |
| (s-constrs-h): New target. |
| |
| * config/rs6000/constraints.md: New file. |
| * config/rs6000/rs6000.c: Include tm-constrs.h. |
| (num_insn_constant_wide): Convert to satisfies_constraint. |
| (rs6000_rtx_costs): Convert to satisfies_constraint. |
| * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete. |
| (CONST_OK_FOR_LETTER_P): Delete. |
| (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. |
| (EXTRA_CONSTRAINT): Delete. |
| (EXTRA_MEMORY_CONSTRAINT): Delete. |
| (EXTRA_ADDRESS_CONSTRAINT): Delete. |
| * config/rs6000/predicates.md: Convert to satisfies_constraint. |
| * config/rs6000/rs6000.md: Include constraints.md. Convert to |
| satisfies_constraint. |
| |
| * config/i386/i386.c: Include tm-constrs.h. |
| |
| 2006-03-29 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls. |
| * tree-data-ref.c (find_data_references_in_loop, |
| compute_data_dependences_for_loop): Use pointers to VEC. |
| (analyze_all_data_dependences): Adjust calls. |
| * tree-data-ref.h (find_data_references_in_loop, |
| compute_data_dependences_for_loop): Adjust declarations. |
| * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to |
| compute_data_dependences_for_loop. |
| |
| 2006-03-29 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives. |
| (movdf_vfp): Ditto. |
| |
| 2006-03-29 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| PR tree-optimization/26859 |
| * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid |
| division by zero. |
| (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags |
| for the step after fold_convert. |
| |
| 2006-03-29 Paul Brook <paul@codesourcery.com> |
| |
| * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators. |
| (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses. |
| |
| 2006-03-29 Paul Brook <paul@codesourcery.com> |
| |
| PR middle-end/23623 |
| * targhooks.c (default_narrow_bitfield): New fuction. |
| * targhooks.h (default_narrow_bitfield): add prototype. |
| * target.h (gcc_target): Add narrow_volatile_bitfield. |
| * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define. |
| * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield. |
| * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS. |
| * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define. |
| |
| 2006-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to |
| tmake_file. |
| * config/s390/s390.c (S390_scalar_mode_supported_p): New function. |
| (NR_C_MODES): Add TDmode, DDmode and SDmode. |
| (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT. |
| (s390_hard_regno_mode_ok): Disallow TDmode in integer regs. |
| (s390_function_arg_float): Allow SDmode and DDmode values to be |
| passed in floating point registers. |
| (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT |
| check with SCALAR_FLOAT_MODE_P. |
| (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro. |
| |
| 2006-03-28 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/25985 |
| * tree-ssa-loop-niter.c (number_of_iterations_le, |
| number_of_iterations_ne): Make comments more precise. |
| (number_of_iterations_cond): Add only_exit argument. Use the |
| fact that signed variables do not overflow only when only_exit |
| is true. |
| (loop_only_exit_p): New. |
| (number_of_iterations_exit): Pass result of loop_only_exit_p to |
| number_of_iterations_cond. |
| |
| 2006-03-28 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/26643 |
| * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle |
| bit_field_refs. |
| |
| 2006-03-28 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG. |
| (divsi3_i4_int): Likewise. |
| |
| 2006-03-28 Roger Sayle <roger@eyesopen.com> |
| |
| * expr.c (emit_group_store): Only create a new pseudo reg if the |
| quantity it needs to hold isn't already a suitable pseudo. |
| |
| 2006-03-28 Jeff Law <law@redhat.com> |
| |
| * timevar.def (TV_TREE_PHI_CPROP): New timevar. |
| * tree-ssa-dom.c (pass_phi_only_cprop): Use it. |
| |
| 2006-03-28 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as |
| the equivalent ~X & Y, and the symmetry related transformations. |
| (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as |
| ~X & Y, and symmetry related transforms. |
| |
| 2006-03-28 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| Revert my 2006-03-27 patches. |
| |
| 2006-03-28 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as |
| ~(T1)X, when T1 and T2 are integer types of the same precision |
| and (T2)X isn't an extension. |
| |
| 2006-03-28 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/26796 |
| * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which |
| need EH edge cleanups rather than purging them immediately. |
| (eliminate_degenerate_phis): Handle queued EH cleanups. |
| |
| 2006-03-28 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE |
| from parent_var. |
| |
| 2006-03-27 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/22524 |
| * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to |
| cast BIT_NOT_EXPR operand to the correct type. |
| |
| 2006-03-27 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * tree-loop-linear.c: Don't include varray.h. |
| (gather_interchange_stats, try_interchange_loops, |
| linear_transform_loops): Use VEC instead of VARRAY. |
| * lambda-mat.c: Don't include varray.h. |
| * tree-chrec.c: Same. |
| * lambda-trans.c: Same. |
| * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use |
| VEC instead of VARRAY. |
| * tree-vectorizer.h: Idem. |
| * tree-data-ref.c (dump_data_references, |
| dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs, |
| initialize_data_dependence_relation, finalize_ddr_dependent, |
| compute_all_dependences, find_data_references_in_loop, |
| compute_data_dependences_for_loop, analyze_all_data_dependences, |
| free_dependence_relation, free_dependence_relations, |
| free_data_refs): Idem. |
| * tree-data-ref.h (data_reference_p, subscript_p): New. |
| (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use |
| VEC instead of VARRAY. |
| (DDR_SUBSCRIPTS_VECTOR_INIT): Removed. |
| (find_data_references_in_loop, compute_data_dependences_for_loop, |
| dump_ddrs, dump_dist_dir_vectors, dump_data_references, |
| dump_data_dependence_relations, free_dependence_relations, |
| free_data_refs): Adjust declaration. |
| (lambda_transform_legal_p): Move declaration here... |
| * tree-vect-analyze.c (vect_analyze_data_ref_dependences, |
| vect_compute_data_refs_alignment, vect_verify_datarefs_alignment, |
| vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses, |
| vect_analyze_data_refs): Use VEC instead of VARRAY. |
| * lambda.h (lambda_transform_legal_p): ...from here. |
| * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY. |
| * tree-vect-transform.c (vect_update_inits_of_drs): Idem. |
| * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o, |
| tree-chrec.o): Don't depend on VARRAY_H. |
| |
| 2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| * rtl.def (Copyright): Update date. |
| (DEPS_LIST): Change type of the second operand to 'int'. |
| * target.h (Copyright): Update date. |
| (struct gcc_target.speculate_insn): Change type of the second parameter |
| to 'int'. |
| * lists.c (Copyright): Update date. |
| (alloc_DEPS_LIST): Change signature. Update reference to the second |
| operand of the DEPS_LIST. |
| (copy_DEPS_LIST_list): Update reference to the second operand of the |
| DEPS_LIST. |
| * rtl.h (Copyright): Update date. |
| (alloc_DEPS_LIST): Update signature. |
| * sched-int.h (Copyright): Update date. |
| (ds_t): Change typedef to 'int'. |
| (DEP_STATUS, BITS_PER_DEP_STATUS): Update. |
| |
| 2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| * haifa-sched.c (Copyright): Update date. |
| (try_ready): Change condition to restore non-speculative pattern |
| of the instruction. |
| (process_insn_depend_be_in_spec): Code to keep probability of the |
| speculative dependence non-decreasing. |
| |
| 2006-03-27 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * regrename.c (replace_oldest_value_addr): Initialize a variable to |
| shut up the compiler. |
| |
| 2006-03-27 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule |
| to use lib prefix for target. |
| ($(T)libic_invalidate_array_4-200.a): Likewise. |
| ($(T)libic_invalidate_array_4a.a): Likewise. |
| |
| 2006-03-27 Andrew Stubbs <andrew.stubbs@st.com> |
| J"orn Rennecke <joern.rennecke@st.com> |
| |
| * superh.opt: New file. |
| * sh.c (boardtype, osruntime): Remove. |
| * superh.h (SUBTARGET_OPTIONS): Remove. |
| * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options. |
| |
| * config.gcc (sh*-*-*): Don't use c-c ranges for tr. Quote sed |
| arguments with ^ and/or []. |
| |
| * config.gcc (sh-*-*): Add quoting to account for quirk of |
| Solaris /bin/sh. |
| Replace == with = in enable_incomplete_targets test. |
| |
| * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT |
| with MASK_LITTLE_ENDIAN. |
| |
| * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file. |
| * config/sh/sh.opt: Added to some comments. |
| * config/sh/superh.h: Removed some chaff. |
| |
| * config/sh/sh.opt: Add m4-[1234]00* options. |
| * config/sh/sh.c (sh_handle_option): Likewise. |
| * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define. |
| (ic_invalidate_array_4-100.o): New rule. |
| ($(T)libic_invalidate_array_4-100.a): Likewise. |
| (ic_invalidate_array_4-200.o): Likewise. |
| ($(T)libic_invalidate_array_4-200.a): Likewise. |
| (ic_invalidate_array_4a.o): Likewise. |
| ($(T)libic_invalidate_array_4a.a): Likewise. |
| * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS. |
| * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*, |
| m4-200*, and m4a*. |
| * config/sh/crt1.asm: Merged in profiling code. |
| * config/sh/superh.h (STARTFILE_SPEC): Override. |
| * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS. |
| Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o. |
| * config.gcc (sh*-superh-elf): Add t-superh to tmake_file. |
| |
| * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants. |
| * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS / |
| MULTILIB_DIRNAMES / MULTILIB_MATCHES settings. |
| |
| * sh.opt (mpretend-cmove): New option. |
| * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1. |
| * sh.md (movsicc_t_false, movsicc_t_tru): New patterns. |
| (movsicc): Add TARGET_PRETEND_CMOVE code. |
| |
| 2006-03-27 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390-protos.h (s390_hard_regno_mode_ok, |
| s390_class_max_nregs): New function prototypes. |
| * config/s390/s390.c (REGNO_PAIR_OK): New macro. |
| (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions. |
| * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, |
| CLASS_MAX_NREGS): Macro bodies replaced by function calls. |
| |
| 2006-03-26 Geoffrey Keating <geoffk@apple.com> |
| |
| * dwarf2out.c (add_location_or_const_value_attribute): Call |
| tree_add_const_value_attribute if nothing else works. |
| (reference_to_unused): New. |
| (rtl_for_decl_init): Use reference_to_unused to decide whether |
| to output an initializer. |
| |
| 2006-03-27 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/26459 |
| * config/rs6000/rs6000.md (DF reg move peephole): Prevent |
| peephole removing spe frob_di_df_2. |
| |
| 2006-03-26 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS. |
| (subscript_dependence_tester_1): Declared. |
| (print_dir_vectors, print_dist_vectors): New. |
| (debug_data_dependence_relation): New. |
| (dump_data_dependence_relation): Print more details. |
| (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST. |
| (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0. |
| (save_dist_v, save_dir_v, add_outer_distances, |
| build_classic_dist_vector_1): New. |
| (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST. |
| Don't test for lambda_vector_lexico_pos. |
| (same_access_functions, add_multivariate_self_dist, |
| add_other_self_distances, dir_from_dist): New. |
| (build_classic_dir_vector): Replace implementation almost identical to |
| build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to |
| dir_from_dist. |
| (subscript_dependence_tester_1): New. |
| (subscript_dependence_tester): Handle the lexicographically negative |
| distance vectors by recomputing the dependence relation. |
| (compute_affine_dependence): Remove parameter loop_nest_depth. |
| (compute_self_dependence): Don't call compute_subscript_distance. |
| (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth. |
| Add a parameter for the loop_nest. |
| (find_loop_nest_1, find_loop_nest): New. |
| (compute_data_dependences_for_loop): Compute the loop nest, and give |
| up if the nest is not well formed. |
| * tree-data-ref.h (loop_p): New. |
| (struct data_dependence_relation): Replace size_vect field with |
| loop_nest, a vec of loops. |
| (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS. |
| (DDR_LOOP_NEST): New. |
| (print_dir_vectors, print_dist_vectors, |
| debug_data_dependence_relation): Declared. |
| (index_in_loop_nest): New. |
| * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use |
| DDR_LOOP_NEST and index_in_loop_nest to determine the dependence |
| distance. |
| |
| 2006-03-25 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * simplify-rtx.c (simplify_relational_operation): Call |
| simplify_relational_operation_1 even if mode is VOIDmode. |
| |
| 2006-03-25 Daniel Berlin <dberlin@dberlin.org> |
| |
| PR tree-optimization/26804 |
| * tree.h (DECL_CALL_CLOBBERED): New macro. |
| (tree_decl_common): Add call_clobbered_flag. |
| * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED. |
| (mark_call_clobbered): Set DECL_CALL_CLOBBERED. |
| (clear_call_clobbered): Clear DECL_CALL_CLOBBERED. |
| (mark_non_addressable): Ditto. |
| * tree-ssa.c (verify_call_clobbered): New function. |
| (verify_alias_info): Use it. |
| * tree-pass.h (pass_reset_cc_flags): New prototype. |
| * tree-ssa-alias.c (pass_reset_cc_flags): New structure. |
| (reset_cc_flags): New function. |
| * passes.c (init_optimization_passes): Call reset_cc_flags after |
| initializing referenced_vars. |
| |
| 2006-03-25 Uros Bizjak <uros@kss-loka.si> |
| Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/26717 |
| * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A |
| to 1.0 for non-real operands. Implement A / A optimization for |
| complex operands. |
| |
| 2006-03-25 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (size_cost): Correct the comment for |
| cost of storing fp registers. |
| (i386_cost): Likewise. |
| (i486_cost): Likewise. |
| (pentium_cost): Likewise. |
| (pentiumpro_cost): Likewise. |
| (k6_cost): Likewise. |
| (athlon_cost): Likewise. |
| (k8_cost): Likewise. |
| (pentium4_cost): Likewise. |
| (nocona_cost): Likewise. |
| (generic64_cost): Likewise. |
| (generic32_cost): Likewise. |
| |
| 2006-03-24 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr-protos.h (extra_constraint): Delete. |
| (extra_constraint_Q): New declaration. |
| * config/avr/constraints.md: New file. |
| * config/avr/avr.md: Include it. |
| (REG_X, REG_Y, REG_Z, REG_W): New constants. |
| (TMP_REGNO, ZERO_REGNO): Likewise. |
| (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise. |
| * config/avr/avr.c (avr_reg_class_from_letter): Delete. |
| (extra_constraint): Delete. |
| (extra_constraint_Q): Test for memory constraint 'Q'. |
| * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete. |
| (REG_CLASS_FROM_LETTER): Delete. |
| (CONST_OK_FOR_LETTER_P): Delete. |
| (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. |
| (EXTRA_CONSTRAINT): Delete. |
| (TMP_REGNO): Delete. |
| (ZERO_REGNO): Delete. |
| |
| 2006-03-24 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt |
| directly. Call mark_new_vars_to_rename slightly earlier. |
| |
| 2006-03-24 Geoffrey Keating <geoffk@apple.com> |
| |
| * dwarf2out.c (is_c_family): Understand new DWARF3 language types. |
| (is_cxx): Likewise. |
| (gen_compile_unit_die): Use new language types for Objective-C and |
| Objective-C++. |
| (dwarf2out_decl): Use is_cxx rather than testing explicitly against |
| DW_LANG_C_plus_plus. |
| |
| PR 26793 |
| * config/t-darwin (crt3.o): Work around bug 26840. |
| * config/darwin-crt3.c: Rewrite. |
| * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o. |
| |
| 2006-03-24 Carlos O'Donell <carlos@codesourcery.com> |
| |
| * doc/invoke.texi: Document -femit-class-debug-always |
| * common.opt: Add -femit-class-debug-always. |
| |
| 2006-03-24 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.c (s390_decompose_address): Allow SImode for |
| index and base register. |
| (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p, |
| print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P |
| with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with |
| REGNO_OK_FOR_INDEX_P. |
| * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with |
| ADDR_REGNO_P. |
| (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P, |
| REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P, |
| REG_OK_FOR_BASE_P): Definitions removed. |
| |
| 2006-03-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/26611 |
| * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on |
| non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit |
| set yet or weren't marked as local yet. |
| |
| 2006-03-24 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * regrename.c (scan_rtx_address): Initialize a variable to shut up |
| the compiler. |
| |
| 2006-03-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare. |
| (rs6000_legitimate_small_data_p): Delete. |
| * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate. |
| (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p |
| and make static. Add forward declaration. Update uses. |
| (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead |
| of offsettable_memref_p. |
| * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix. |
| Use rs6000_offsettable_memref_p instead of a less accurate predicate. |
| |
| 2006-03-24 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work |
| around bug in immediate-use iterator. |
| |
| 2006-03-24 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/26607 |
| * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__ |
| or __LITTLE_ENDIAN__. |
| |
| 2006-03-23 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files. |
| * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant. |
| * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table. |
| * config/sh/sh.opt (mdiv=): Amend description. |
| * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro. |
| (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise. |
| (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1, |
| SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC. |
| (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1. |
| Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros. |
| * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns. |
| (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE / |
| TARGET_DIVIDE_CALL_FP. |
| |
| 2006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| * haifa-sched.c (choose_ready): Fix type of the local variable. |
| Move local variables. Add comment. |
| (check_reg_live): Change signature. Make callable from debugger. |
| * sched-int.h (check_reg_live): Update signature. |
| * sched-ebb.c (check_reg_live): Update parameters. |
| * sched-rgn.c (check_reg_live): Ditto. |
| (region_head_or_leaf_p): Check pointer before dereferencing. |
| * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation |
| before reload on optimization levels below 1. |
| |
| 2006-03-23 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject |
| tls symbols. |
| |
| PR target/26347 |
| * config/alpha/predicates.md (local_symbolic_operand): Reject |
| weak symbols. |
| |
| 2006-03-23 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/26795 |
| * tree-ssa-pre.c (create_value_expr_from): Don't reject |
| expressions which have overflowed constants. |
| |
| 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note. |
| |
| 2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * cfgloopmanip.c (create_loop_notes): Removed. |
| * final.c (final_scan_insn): Do not handle loop notes. |
| * jump.c (squeeze_notes): Ditto. |
| * cfglayout.c (skip_insns_after_block, |
| duplicate_insn_chain): Ditto. |
| * cfgcleanup.c (rest_of_handle_jump2): Do not call |
| create_loop_notes. |
| * cfgloop.h (create_loop_notes): Declaration removed. |
| |
| 2006-03-23 Richard Sandiford <richard@codesourcery.com> |
| |
| * varasm.c (output_constant_pool): Restore fnname and fndecl |
| arguments. |
| (assemble_start_function): Adjust call accordingly. |
| (assemble_end_function): Likewise. |
| |
| 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR mudflap/26789 |
| * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects. |
| |
| PR mudflap/26790 |
| * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node. |
| |
| 2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR driver/22600 |
| * system.h (ICE_EXIT_CODE): New macro. |
| * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE. |
| (diagnostic_action_after_output): Likewise. |
| * gcc.c (fatal_ice): New function. |
| (execute): Use it instead of fatal. |
| (fancy_abort): Likewise. |
| * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs. |
| |
| 2006-03-22 Jeff Law <law@redhat.com> |
| |
| * loop-unroll.c (analyze_iv_to_split_insn): Handle |
| iv_analyze_result returning false. |
| |
| 2006-03-22 Jie Zhang <jie.zhang@analog.com> |
| |
| * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove. |
| |
| 2006-03-22 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/26084 |
| * except.c (duplicate_eh_regions_0): New. |
| (duplicate_eh_region_1): Duplicate the children of the node as |
| well as the node itself. Link them up properly. |
| (duplicate_eh_region_2): Merge into ... |
| (duplicate_eh_regions): ... here. Take copy_region argument, and |
| copy only a sub-tree if asked. Simplify copying and fixup. |
| (eh_region_outer_p): New. |
| * except.h (duplicate_eh_regions): Update decl. |
| (eh_region_outer_p): Declare. |
| * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN. |
| (lower_omp_master): Likewise. |
| (lower_omp_ordered): Likewise. |
| * tree-cfg.c (struct move_stmt_d): Add new_label_map. |
| (move_stmt_r): Use it to remap labels. Handle recursion vs |
| remap_decls_p properly. |
| (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR. |
| (find_outermost_region_in_block): New. |
| (new_label_mapper): New. |
| (move_sese_region_to_fn): Copy eh information to the new function |
| properly. |
| * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions |
| argument. |
| * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region |
| number. |
| |
| 2006-03-22 Richard Sandiford <richard@codesourcery.com> |
| |
| * doc/md.texi (-mshared): Mention that -mshared code can be linked |
| into shared libraries. |
| |
| 2006-03-22 Richard Sandiford <richard@codesourcery.com> |
| |
| * doc/md.texi: Refer to i386/constraints.md instead of |
| i386/predicates.md. |
| * config/i386/constraints.md: New file, extracted from... |
| * config/i386/predicates.md: ...here. |
| * config/i386/i386.md: Include constraints.md. |
| |
| 2006-03-21 Jason Merrill <jason@redhat.com> |
| |
| * builtins.c (expand_builtin_fork_or_exec): Fix pasto. |
| |
| PR middle-end/20297 |
| * expr.c (init_block_move_fn): Force default visibility. |
| (init_block_clear_fn): Likewise. |
| * builtins.c (expand_builtin_fork_or_exec): Likewise. |
| * targhooks.c (default_external_stack_protect_fail): Likewise. |
| |
| 2006-03-21 Richard Sandiford <richard@codesourcery.com> |
| |
| * config/mips/predicates.md (const_call_insn_operand): Allow direct |
| calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS. |
| * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS. |
| Use TARGET_OLDABI instead of !TARGET_NEWABI. |
| (loadgp): Use mips_current_loadgp_style. |
| (loadgp_noshared): New pattern. |
| (sibcall_internal): Use MIPS_CALL. |
| (sibcall_value_internal): Likewise. |
| (sibcall_value_multiple_internal): Likewise. |
| (call_internal): Likewise. |
| (call_value_internal): Likewise. |
| (call_value_multiple_internal): Likewise. |
| (call_split): Use MIPS_CALL and add an 'S' constraint. |
| (call_value_split): Likewise. |
| (call_value_multiple_split): Likewise. |
| * config/mips/mips.opt (-mabicalls): Tweak docstring. |
| (-mshared): New option. |
| * config/mips/mips-protos.h (mips_loadgp_style): New enum. |
| (mips_current_loadgp_style): Declare. |
| * config/mips/mips.c (mips_classify_symbol): Avoid using |
| SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL |
| rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if |
| TARGET_ABSOLUTE_ABICALLS. |
| (override_options): Adjust comments. Improve the warning that is |
| issued when -mabicalls and -G are used together. |
| (mips_file_start): Remove comment. |
| (mips_current_loadgp_style): New function. |
| (mips_gnu_local_gp): New variable. |
| (mips_emit_loadgp): Use mips_current_loadgp_style. Handle |
| LOADGP_ABSOLUTE. |
| (mips_output_function_prologue): Use mips_current_laodgp_style. |
| (mips_expand_prologue): Call mips_emit_loadgp before emitting |
| the cprestore instruction. |
| (mips_extra_live_on_entry): Fix reversed test. Don't make $25 |
| live for TARGET_ABSOLUTE_ABICALLS. |
| * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro. |
| (ASM_SPEC): Pass down -mshared and -mno-shared. |
| (MIPS_CALL): New macro. |
| * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__ |
| definition. |
| * doc/invoke.texi (-mabicalls): Update documentation. |
| (-mshared): Document. |
| |
| 2006-03-21 Steve Ellcey <sje@cup.hp.com> |
| |
| * config/ia64/unwind-hpux.c: New file. |
| * config/ia64/t-hpux: Add unwind-hpux.c to libgcc. |
| |
| 2006-03-21 Steve Ellcey <sje@cup.hp.com> |
| |
| PR libgomp/26384 |
| * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options. |
| |
| 2006-03-21 Jeff Law <law@redhat.com> |
| |
| * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for |
| type conversions of a VR_VARYING source to a wider type. |
| |
| 2006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to |
| tm_file on Solaris 10 and later. |
| (sparc64-*-solaris2*): Likewise. |
| (sparc-*-solaris2*): Likewise. |
| * config/sol26.h: Rename to config/sol2-6.h. |
| * config/sol2-10.h: New file. |
| |
| 2006-03-21 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/26781 |
| * tree-ssa-pre.c (create_component_ref_by_pieces): |
| Handle STRING_CST. |
| |
| 2006-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/26690 |
| * tree.c (get_callee_fndecl): If CALL is error_mark_node, |
| return it immediately. |
| |
| 2006-03-21 Michael Matz <matz@suse.de> |
| |
| * genautomata.c (<struct state>, num_out_arcs, presence_signature): |
| New members. |
| (remove_arc, add_arc): Update num_out_arcs member. |
| (set_out_arc_insns_equiv_num): Returns nothing instead of number |
| of out arcs. |
| (cache_presence): New function. |
| (compare_states_for_equiv): New function. |
| (state_is_differed): Don't take number of outargs, adjust callers. |
| Use new invariant for speeding up. |
| (init_equiv_class): Create initial classes based on sorted |
| input. |
| (partition_equiv_class): Don't track out_arcs_num. |
| (evaluate_equiv_classes): Call cache_presence on all states and |
| sort them. |
| |
| 2006-03-21 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare. |
| * config/bfin/bfin.c (bfin_dsp_memref_p): New function. |
| (bfin_valid_reg_p): Test for pseudos explicitly and use only |
| REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all |
| callers changed. |
| * config/bfin/bfin.h (PREG_P): Use P_REGNO_P. |
| (IREG_P, P_REGNO_P, I_REGNO_P): New macros. |
| (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS. |
| (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, |
| REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete |
| macros. |
| (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS, |
| REGNO_MODE_CODE_OK_FOR_BASE_P): New macros. |
| (REGNO_REG_CLASS): ARGP is in PREGS. |
| * config/bfin/bfin.md (movhi_insn): Allow for addresses containing |
| IREGS. |
| (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split |
| to deal with those addresses. |
| * addresses.h: New file. |
| * caller-save.c: Include "addresses.h". |
| (init_caller_save): Use new base_reg_class function. |
| * rtl-factoring.c: Include "addresses.h". |
| (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1. |
| * recog.c: Include "addresses.h". |
| (preprocess_constraints): Use new base_reg_class function. |
| * regrename.c: Include "addresses.h". |
| (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class |
| functions. Keep track of a new var INDEX_CODE to compute valid |
| classes. |
| (replace_oldest_value_addr): Likewise. |
| (replace_oldest_value_mem): Use base_reg_class. |
| * reload.c: Include "addresses.h". |
| (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros. |
| (find_reloads): Use new base_reg_class function. |
| (find_reloads_address): Likewise; also use regno_ok_for_base_p. |
| (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE; |
| all callers and prototype changed. |
| * reload1.c: Include "addresses.h". |
| (maybe_fix_stack_asms): Use base_reg_class. |
| * regclass.c: Include "addresses.h". |
| (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions. |
| (init_reg_autoinc): Use new base_reg_class function. |
| (record_reg_classes): Likewise. |
| (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE, |
| OUTER_CODE and INDEX_CODE. All callers and prototype changed. |
| Use new args to compute necessary class. |
| |
| * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o, |
| regrename.o, rtl-factoring.o): Update dependencies. |
| * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document. |
| (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise. |
| (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P, |
| REG_OK_FOR_INDEX_P): Delete documentation. |
| |
| 2006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com> |
| |
| * config.gcc (sparc-*-solaris2*): Change the default CPU setting |
| from V7 to V9 for Solaris 7 and above. |
| |
| 2006-03-21 Toon Moene <toon@moene.indiv.nluug.nl> |
| |
| * doc/invoke.texi: Document new flag -fargument-noalias-anything. |
| * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2, |
| argument pointers may not alias any other storage. |
| * common.opt: Define option -fargument-noalias-anything. |
| * tree-ssa-structalias.c (intra_create_variable_infos): Fortran |
| alias semantics is specified by flag_argument_noalias > 2. |
| |
| 2006-03-20 Jeff Law <law@redhat.com> |
| |
| * tree-pass.h (pass_phi_only_copy_prop): Delete. |
| (pass_phi_only_cprop): Declare. |
| * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop |
| with phi_only_cprop |
| * tree-ssa-dom.c (degenerate_phi_result): New function. |
| (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise. |
| (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise. |
| (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise. |
| (eliminate_degenerate_phis): Likewise. |
| (pass_phi_only_cprop): New pass descriptor. |
| * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and |
| support code. Callers updated. |
| (execute_copy_prop, do_copy_prop): Likewise and corresponding changes. |
| (store_copy_prop): Likewise. |
| (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove. |
| |
| 2006-03-20 Jason Merrill <jason@redhat.com> |
| |
| PR c++/21764 |
| * c-pragma.c (visstack): Move out of handle_pragma_visibility. |
| (push_visibility, pop_visibility): Likewise. |
| * c-pragma.h: Declare them. |
| |
| 2006-03-20 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target. |
| |
| * config/sh/sh.c (find_regmode_weight): Change the type of the first |
| parameter and use get_ebb_head_tail. |
| (sh_md_init_global): Adjust uses of find_regmode_weight. |
| |
| 2006-03-20 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * function.h (struct function) <x_tail_recursion_reentry>: |
| Rename to x_stack_check_probe_note. |
| (tail_recursion_reentry): Rename to stack_check_probe_note. |
| * function.c: Replace tail_recursion_reentry with |
| stack_check_probe_note everywhere. |
| (expand_function_start): Only emit a note for |
| stack_check_probe_note with -fstack-protect. |
| * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes. |
| |
| * emit-rtl.c (remove_unnecessary_notes): Remove. |
| (pass_remove_unnecessary_notes): Remove. |
| * rtl.h (remove_unnecessary_notes): Remove prototype. |
| * final.c (final_start_function): Don't call remove_unnecessary_notes. |
| * tree-pass.h (pass_remove_unnecessary_notes): Remove. |
| * passes.c (pass_remove_unnecessary_notes): Don't run it. |
| |
| 2006-03-20 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/26629 |
| * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands. |
| (valid_in_set): Handle ARRAY_REF. |
| Change "if min_variant or VH" to asserts. |
| (create_component_ref_by_pieces): Handle ARRAY_REF. |
| (create_expression_by_pieces): Likewise. |
| (can_PRE_operation): ARRAY_REFs can now be PRE'd. |
| |
| 2006-03-20 David Edelsohn <edelsohn@gnu.org> |
| |
| * genpreds.c (write_insn_extra_address_constraint): Argument `c' |
| is operand of switch, not str[0]. |
| |
| 2006-03-20 Alan Modra <amodra@bigpond.net.au> |
| |
| * config/rs6000/rs6000.c (rs6000_handle_option): Use |
| TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too. |
| |
| 2006-03-19 David Edelsohn <edelsohn@gnu.org> |
| |
| * genpreds.c (write_tm_preds_h): Add semicolon and newline at |
| end of insn_extra_address_constraint declaration. |
| |
| 2006-03-19 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask. |
| (no-sum-in-toc): Same. |
| * config/rs6000/rs6000.c (rs6000_handle_option): Use new |
| variables. |
| * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set |
| NO_FP_IN_TOC for -fPIC instead of mask. |
| |
| * config/rs6000/t-aix43 (T_ADAFLAGS): Delete. |
| (BOOT_LDFLAGS): Delete. |
| (LDFLAGS): Delete. |
| * config/rs6000/t-aix52: Same. |
| |
| * config/rs6000/rs6000.md (store_multiple_power): Delete. |
| (stmsi[345678]_power): New. |
| |
| 2006-03-17 Steve Ellcey <sje@cup.hp.com> |
| |
| * config/ia64/ia64.opt: Add empty line to end of file. |
| |
| 2006-03-17 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/26721 |
| * builtins.c (get_pointer_alignment): For component style references |
| adjust alignment to the component type alignment. Make sure |
| to adjust alignment for component access of constants. |
| |
| 2006-03-17 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.md (strlensi): Emit barrier after |
| unconditional jump. |
| |
| 2006-03-17 Paul Brook <paul@codesourcery.com> |
| |
| * doc/install.texi: Docuemnt --with-mode. |
| * config.gcc: Add --with-mode for arm*-*-*. |
| * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode". |
| |
| 2006-03-17 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * sh.c (max_labelno_before_reorg): New variable. |
| (sh_reorg): Initialize it. |
| (find_barrier): Check max_labelno_before_reorg before using |
| label_to_alignment. Take length of explicit alignment insns |
| into account. When seeing a UNSPECV_CONST_END, return it. |
| |
| * sh.c (fixup_mova): Set mode of affected label to QImode. |
| (untangle_mova): New function. |
| (find_barrier): Use it. Check mode of label before decrementing |
| num_mova. |
| (sh_reorg): Likewise. |
| Set mode of all insns back to VOIDmode. |
| |
| * sh.c (MOVA_LABELREF): New macro. |
| (mova_p, fixup_mova, sh_reorg): Use it. |
| (find_barrier, sh_reorg): Don't count num_mova back to 0 unless |
| ADDR_DIFF_VEC matches mova. |
| |
| 2006-03-17 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument |
| with ATTRIBUTE_UNUSED. |
| |
| 2006-03-17 Alexandre Oliva <aoliva@redhat.com> |
| |
| * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack |
| pointer, instead of assuming it is possible to derive the |
| correct args size from a call insn. |
| |
| 2006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
| |
| * rtl.h (CONST_INT_P): Define. |
| * config/vax/vax.c (print_operand_address): Use CONST_INT_P() |
| instead of GET_CODE(x) == CONST_INT. |
| (vax_rtx_costs): Likewise. |
| (vax_output_int_move): Likewise. |
| (vax_output_int_add): Likewise. |
| (legitimate_constant_address_p): Likewise. |
| (index_term_p): Likewise. |
| * config/vax/vax.h (PRINT_OPERAND): Likewise. |
| * config/vax/vax.md (and<mode>3): Likewise. |
| (ashrsi3): Likewise. |
| (extv): Likewise. |
| (movstricthi): Likewise. |
| (movstrictqi): Likewise. |
| (rotrsi3): Likewise. |
| (five unnamed insns): Likewise. |
| |
| 2006-03-16 Geoffrey Keating <geoffk@apple.com> |
| |
| * doc/tm.texi (SDB and DWARF): Add extra parameter to |
| ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables. |
| * dwarf2asm.h (dw2_asm_output_offset): Add section parameter. |
| * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter. |
| Pass to ASM_OUTPUT_DWARF_OFFSET. |
| * dwarf2out.c (debug_frame_section): New. |
| (output_call_frame_info): Use debug_frame_section. Pass it to |
| dw2_asm_output_offset. |
| (output_die): Pass appropriate section to dw2_asm_output_offset. |
| (output_compilation_unit_header): Likewise. |
| (output_pubnames): Likewise. |
| (output_aranges): Likewise. |
| (enum dw_val_class): Break dw_val_class_lbl_offset into |
| dw_val_class_lineptr and dw_val_class_macptr. |
| (add_AT_lbl_offset): Delete. |
| (add_AT_lineptr): New. |
| (add_AT_macptr): New. |
| (AT_lbl): Expect a lineptr or macptr. |
| (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr. |
| (attr_checksum): Likewise. |
| (same_dw_val_p): Likewise. |
| (size_of_die): Likewise. |
| (value_format): Likewise. |
| (output_die): Likewise. |
| (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of |
| add_AT_lbl_offset. |
| * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. |
| * config/i386/i386.c (x86_file_start): Call darwin_file_start. |
| * config/darwin-protos.h (darwin_file_start): New. |
| (darwin_asm_output_dwarf_offset): New. |
| * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. |
| * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call |
| darwin_file_start. |
| * config/darwin.c (darwin_emit_unwind_label): Don't output label |
| if not EH section; simplify. |
| (darwin_file_start): New. |
| (darwin_asm_output_dwarf_offset): New. |
| * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment, |
| mark as 'debug'. |
| (DEBUG_INFO_SECTION): Likewise. |
| (DEBUG_ABBREV_SECTION): Likewise. |
| (DEBUG_ARANGES_SECTION): Likewise. |
| (DEBUG_MACINFO_SECTION): Likewise. |
| (DEBUG_LINE_SECTION): Likewise. |
| (DEBUG_LOC_SECTION): Likewise. |
| (DEBUG_PUBNAMES_SECTION): Likewise. |
| (DEBUG_STR_SECTION): Likewise. |
| (DEBUG_RANGES_SECTION): Likewise. |
| (FRAME_BEGIN_LABEL): Must start with 'L' in debug section. |
| (ASM_OUTPUT_DWARF_OFFSET): New. |
| |
| 2006-03-16 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config.gcc (tm_defines): Always add to previous value rather |
| than replacing it. |
| |
| 2006-03-16 Richard Sandiford <richard@codesourcery.com> |
| |
| * config/mips/predicates.md (splittable_const_int_operand): New, |
| split from move_operand. |
| (splittable_symbolic_operand): New. |
| (move_operand): Add commentary. Use splittable_const_int_operand. |
| Inline mips_atomic_symbolic_constant_p. |
| * config/mips/mips.md: Add combine splitters for handling moves |
| of splittable_const_int_operands and splittable_symbolic_operands. |
| * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete. |
| (mips_split_symbol): Declare. |
| (mips_move_integer): Declare. |
| * config/mips/mips.c (mips_split_p): Make global. |
| (TARGET_MIN_ANCHOR_OFFSET): Override default. |
| (TARGET_MAX_ANCHOR_OFFSET): Likewise. |
| (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. |
| (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise. |
| (mips_offset_within_object_p): Handle block symbols. |
| (mips_atomic_symbolic_constant_p): Delete. |
| (mips_cannot_force_const_mem): Return false for constants that |
| mips_legitimize_move can handle. |
| (mips_use_blocks_for_constant_p): New function. |
| (mips_split_symbol): Make global. |
| (mips_move_integer): Likewise. Add a temporary register argument. |
| (mips_legitimize_const_move): Use splittable_const_int_operand and |
| splittable_symbolic_operand. |
| (mips_use_anchors_for_symbol_p): New function. |
| * config/mips/mips.h: Protect externs with !USED_FOR_TARGET. |
| (mips_split_p): Declare. |
| |
| 2006-03-16 Richard Sandiford <richard@codesourcery.com> |
| |
| * config.gcc (mips64*-*-linux*): Keep existing tm_defines. |
| (mips*-*-linux*): Likewise. |
| |
| 2006-03-16 Roger Sayle <roger@eyesopen.com> |
| Daniel Speyer <dspeyer@wam.umd.edu> |
| |
| PR middle-end/18259 |
| * tree-dump.c (dump_real): New function. |
| (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants. |
| * Makefile.in (REAL_H): New macro for dependencies on real.h. |
| (tree-dump.o): Add $(REAL_H) to the dependencies. |
| |
| 2006-03-16 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/21781 |
| * real.c (real_from_string): If the mantissa is zero, don't bother |
| parsing the exponent as the result should always be zero. |
| |
| 2006-03-16 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms. |
| |
| 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| * config/ia64/ia64.c (stops_p): Added explicit initialization. |
| (ia64_first_cycle_multipass_dfa_lookahead_guard_spec, |
| ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn, |
| ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global, |
| ia64_sched_finish_global): New static functions to implement |
| hooks from gcc_target.sched. |
| (spec_check_no, max_uid, pending_data_specs): New static variables. |
| (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p, |
| ia64_spec_check_src_p): New static functions. |
| (ia64_adjust_cost): Renamed to ia64_adjust_cost_2. |
| (TARGET_SCHED_ADJUST_COST): Removed. |
| (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL, |
| TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED, |
| TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, |
| TARGET_SCHED_GEN_CHECK, |
| TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, |
| TARGET_SCHED_SET_SCHED_FLAGS): New macros. |
| (update_set_flags, group_barrier_needed, set_src_needs_barrier): |
| Fixed to handle speculation checks. |
| (rtx_needs_barrier): Fixed to handle speculative loads and |
| their checks. |
| (ia64_variable_issue): Added code to count speculative loads and their |
| checks. |
| (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle |
| speculative loads. |
| (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): |
| New enumerations. |
| (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET): |
| New constants. |
| (ia64_ld_address_bypass_p): Fixed to handle speculative loads. |
| (ia64_reorg): Reset stops_p to NULL after it is freed. |
| * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA, |
| UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants. |
| (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f, |
| chk_a. |
| (data_speculative, control_speculative, check_load): New attributes. |
| (mov<mode>_advanced, mov<mode>_speculative, |
| mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced, |
| zero_extend<mode>di2_speculative, |
| zero_extend<mode>di2_speculative_advanced): New patterns for |
| data and control speculative loads. |
| (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for |
| check loads. |
| (advanced_load_check_clr_<mode>, speculation_check_<mode>): |
| New pattern for data and control speculation checks. |
| (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr, |
| ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr, |
| reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes): |
| Auxiliary definitions for the patterns. |
| * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a, |
| 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource |
| constraints. |
| (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition |
| for speculation. |
| (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i. |
| * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f, |
| 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a): |
| New resource constraints. |
| (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition |
| for speculation. |
| (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i. |
| * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec, |
| msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, |
| msched-in-control-spec, msched-ldc, msched-control-ldc, |
| msched-spec-verbose, msched-prefer-non-data-spec-insns, |
| msched-prefer-non-control-spec-insns, |
| msched-count-spec-in-critical-path): New flags to tune speculative |
| scheduling. |
| * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec, |
| msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, |
| msched-in-control-spec, msched-ldc, msched-control-ldc, |
| msched-spec-verbose, msched-prefer-non-data-spec-insns, |
| msched-prefer-non-control-spec-insns, |
| msched-count-spec-in-critical-path): Document new flags. |
| |
| 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| * target.h (struct spec_info_def): New opaque declaration. |
| (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended, |
| speculate_insn, needs_block_p, gen_check, |
| first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags. |
| * target-def.h (TARGET_SCHED_ADJUST_COST_2, |
| TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN, |
| TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK, |
| TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, |
| TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in |
| gcc_target.sched. |
| (TARGET_SCHED): Use new macros. |
| * rtl.h (copy_DEPS_LIST_list): New prototype. |
| * sched-int.h (struct sched_info): Change signature of new_ready field, |
| adjust all initializations. New fields: add_remove_insn, |
| begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg, |
| region_head_or_leaf_p. |
| (struct spec_info_def): New structure declaration. |
| (spec_info_t): New typedef. |
| (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec, |
| recovery_block, orig_pat. |
| (glat_start, glat_end): New variables declaraions. |
| (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT): |
| New access macros. |
| (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB, |
| DETACH_LIFE_INFO, USE_GLAT. |
| (enum SPEC_SCHED_FLAGS): New enumeration. |
| (NOTE_NOTE_BB_P): New macro. |
| (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block, |
| attach_life_info, debug_spec_status, check_reg_live): New functions. |
| (get_block_head_tail): Change signature to get_ebb_head_tail, adjust |
| all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c, |
| sched-ebb.c |
| (get_dep_weak, ds_merge): Prototype functions from sched-deps.c . |
| * ddg.c (get_block_head_tail): Adjust all uses. |
| * modulo-sched.c (get_block_head_tail): Adjust all uses. |
| (sms_sched_info): Initialize new fields. |
| (contributes_to_priority): Removed. |
| * haifa-sched.c (params.h): New include. |
| (get_block_head_tail): Adjust all uses. |
| (ISSUE_POINTS): New macro. |
| (glat_start, glat_end): New global variables. |
| (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data, |
| nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header, |
| old_last_basic_block, before_recovery, current_sched_info_var, |
| rgn_n_insns, luid): New static variables. |
| (insn_cost1): New function. Move logic from insn_cost to here. |
| (find_insn_reg_weight1): New function. Move logic from |
| find_insn_reg_weight to here. |
| (reemit_notes, move_insn, max_issue): Change signature. |
| (move_insn1): Removed. |
| (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d, |
| extend_bb): New static functions to support extension of scheduler's |
| data structures. |
| (generate_recovery_code, process_insn_depend_be_in_spec, |
| begin_speculative_block, add_to_speculative_block, |
| init_before_recovery, create_recovery_block, create_check_block_twin, |
| fix_recovery_deps): New static functions to support |
| generation of recovery code. |
| (fix_jump_move, find_fallthru_edge, dump_new_block_header, |
| restore_bb_notes, move_block_after_check, move_succs): New static |
| functions to support ebb scheduling. |
| (init_glat, init_glat1, attach_life_info1, free_glat): New static |
| functions to support handling of register live information. |
| (associate_line_notes_with_blocks, change_pattern, speculate_insn, |
| sched_remove_insn, clear_priorities, calc_priorities, bb_note, |
| add_jump_dependencies): New static functions. |
| (check_cfg, has_edge_p, check_sched_flags): New static functions for |
| consistancy checking. |
| (debug_spec_status): New function to call from debugger. |
| (priority): Added code to handle speculation checks. |
| (rank_for_schedule): Added code to distinguish speculative instructions. |
| (schedule_insn): Added code to handle speculation checks. |
| (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes): |
| Fixed to handle ebbs. |
| (move_insn): Added code to handle ebb scheduling. |
| (max_issue): Added code to use ISSUE_POINTS of instructions. |
| (choose_ready): Added code to choose between speculative and |
| non-speculative instructions. |
| (schedule_block): Added code to handle ebb scheduling and scheduling of |
| speculative instructions. |
| (sched_init): Initialize new variables. |
| (sched_finish): Free new variables. Print statistics. |
| (try_ready): Added code to handle speculative instructions. |
| * lists.c (copy_DEPS_LIST_list): New function. |
| * sched-deps.c (extend_dependency_caches): New function. Move logic |
| from create_dependency_caches to here. |
| (get_dep_weak, ds_merge): Make global. |
| * genattr.c (main): Code to output prototype for |
| dfa_clear_single_insn_cache. |
| * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros. |
| (output_dfa_clean_insn_cache_func): Code to output |
| dfa_clear_single_insn_cache function. |
| * sched-ebb.c (target_n_insns): Remove. Adjust all users to use |
| n_insns. |
| (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs): |
| Removed. |
| (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb): |
| New static variables. |
| (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb, |
| fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from |
| struct sched_info. |
| (ebb_sched_info): Initialize new fields. |
| (get_block_head_tail): Adjust all uses. |
| (compute_jump_reg_dependencies): Fixed to use glat_start. |
| (schedule_ebb): Code to remove unreachable last block. |
| (schedule_ebbs): Added code to update register live information. |
| * sched-rgn.c (region_sched_info): Initialize new fields. |
| (get_block_head_tail): Adjust all uses. |
| (last_was_jump): Removed. Adjust users. |
| (begin_schedule_ready, add_remove_insn, insn_points, extend_regions, |
| add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p): |
| Implement new hooks. |
| (check_dead_notes1): New static function. |
| (struct region): New fields: dont_calc_deps, has_real_ebb. |
| (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros. |
| (BB_TO_BLOCK): Fixed to handle EBBs. |
| (EBB_FIRST_BB, EBB_LAST_BB): New macros. |
| (ebb_head): New static variable. |
| (debug_regions, contributes_to_priority): Fixed to handle EBBs. |
| (find_single_block_regions, find_rgns, find_more_rgns): Initialize |
| new fields. |
| (compute_dom_prob_ps): New assertion. |
| (check_live_1, update_live_1): Fixed to work with glat_start instead of |
| global_live_at_start. |
| (init_ready_list): New assertions. |
| (can_schedule_ready_p): Split update code to begin_schedule_ready. |
| (new_ready): Add support for BEGIN_CONTROL speculation. |
| (schedule_insns): Fixed code that updates register live information |
| to handle EBBs. |
| (schedule_region): Fixed to handle EBBs. |
| (init_regions): Use extend_regions and check_dead_notes1. |
| * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY, |
| PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters. |
| * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED, |
| TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, |
| TARGET_SCHED_GEN_CHECK, |
| TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, |
| TARGET_SCHED_SET_SCHED_FLAGS): Document. |
| * doc/invoke.texi (max-sched-insn-conflict-delay, |
| sched-spec-prob-cutoff): Document. |
| |
| 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| * sched-int.h (struct haifa_insn_data): New fields: resolved_deps, |
| inter_tick, queue_index. |
| (struct sched_info): Change signature of init_ready_list field. |
| Adjust all initializations. |
| (RESOLVED_DEPS): New access macro. |
| (ready_add): Remove prototype. |
| (try_ready): Add prototype. |
| * sched-rgn.c (init_ready_list): Use try_ready. |
| (schedule_region): Initialize |
| current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}. |
| * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info. |
| (init_ready_list): Use try_ready. |
| (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority. |
| * lists.c (remove_list_elem): Remove `static'. |
| (remove_free_INSN_LIST_elem): New function. |
| * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes. |
| * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros. |
| (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY): |
| New constants. |
| (readyp): New variable. |
| (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready, |
| change_queue_index, resolve_dep): New static functions. |
| (try_ready): New function. Adjust callers in sched-rgn.c and |
| sched-ebb.c to use it instead of ready_add. |
| (clock_var): Move at the begining of file. |
| (rank_for_schedule): Fix typo. |
| (queue_insn): Add assertion. Handle QUEUE_INDEX. |
| (ready_lastpos): Enforce assertion. |
| (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument, |
| update all callers. |
| (ready_remove_first, ready_remove): Handle QUEUE_INDEX. |
| (schedule_insn): Rewrite to use try_ready and resolve_dep. |
| (queue_to_ready): Use free_INSN_LIST_list. |
| (early_queue_to_ready): Fix typo. |
| (schedule_block): Init readyp. Move init_ready_list call after the |
| initialization of clock_var. Fix error in rejecting insn by |
| targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code |
| that previously corrected INSN_TICKs. Add code for handling |
| QUEUE_INDEX. |
| (set_priorities): Fix typo. |
| (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX. |
| Clarify comment and code that keeps current_sched_info->next_tail |
| non-null. |
| |
| 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| |
| * sched-rgn.c (extend_rgns): New static function. |
| (find_rgns): Use it. |
| (gather_region_statistics, print_region_statistics): New static |
| functions. |
| * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter. |
| * doc/invoke.texi (max-sched-extend-regions-iters): Document. |
| |
| 2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
| Andrey Belevantsev <abel@ispras.ru> |
| |
| * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call. |
| * lists.c (unused_deps_list): New variable. |
| (free_list): Add assertions to verify the proper distinguishing |
| between INSN_LISTs and DEPS_LISTs. |
| (find_list_elem, remove_list_elem, remove_list_node): New static |
| functions. |
| (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node, |
| remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem, |
| remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions. |
| (alloc_INSN_LIST): Assert that the list we're working on is indeed |
| an INSN_LIST. |
| (free_INSN_LIST_node): Likewise. |
| * modulo-sched.c (current_sched_info): Initialize flags field. |
| * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT. |
| * rtl.def (DEPS_LIST): Define. |
| * rtl.h: Declare new functions from lists.c. |
| * sched-deps.c (spec_dependency_cache): New static variable. |
| (maybe_add_or_update_back_dep_1, add_back_dep): New static functions. |
| (add_dependence): Change return type to void. Move the logic to ... |
| (add_or_update_back_dep_1): ... here. Handle speculative dependencies. |
| (delete_all_dependences): Add comment about forward_dependency_cache. |
| Handle spec_dependency_cache. Handle DEPS_LISTs. |
| (fixup_sched_groups): Clarify the change of priority of output |
| and anti dependencies. |
| (sched_analyze_2): Adjust add_dependence calls to create data |
| speculative dependence. |
| (add_forward_dependence): Renamed to add_forw_dep, change prototype. |
| Adjust all callers. Handle DEPS_LISTS. |
| (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in |
| presence of speculation. |
| (init_dependency_caches, free_dependency_caches): |
| Handle spec_dependency_cache. |
| (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep, |
| estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status): |
| New static functions. |
| (add_or_update_back_dep, add_or_update_back_forw_dep, |
| add_back_forw_dep, delete_back_forw_dep): New functions. |
| * sched-int.h (ds_t, dw_t): New typedefs. |
| (struct sched_info): Add new field flags. |
| (struct haifa_insn_data): Add new bitfield has_internal_dep. |
| Prototype new sched-deps.c functions. |
| (HAS_INTERNAL_DEP, DEP_STATUS): New access macros. |
| (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK, |
| MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA, |
| BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC, |
| SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE, |
| SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP): |
| New constants. |
| (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS): |
| New enums. |
| * sched-rgn.c (current_sched_info): Initialize flags field. |
| (schedule_insns): Initialize current_sched_info before the sched_init |
| call. |
| * sched-ebb.c (current_sched_info): Initialize flags field. |
| (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P. |
| Call add_or_update_back_dep instead of add_dependence. |
| Create control speculative dependencies. |
| (schedule_insns): Initialize current_sched_info before the sched_init |
| call. |
| |
| 2006-03-16 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set |
| fs->signal_frame. |
| (sh_fallback_frame_state): Likewise. |
| |
| 2006-03-15 Geoffrey Keating <geoffk@apple.com> |
| |
| * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports. |
| Do switch on default_use_cxa_atexit. |
| (powerpc*-*-darwin*): Build crt2.o on powerpc. |
| * config/darwin-crt3.o: New. |
| * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default |
| to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use. |
| (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate |
| OS version. |
| * config/rs6000/t-darwin: Move crt2.o building to here. |
| * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update |
| Mac OS version for using __cxa_get_exception_ptr. Don't test versions |
| of __cxa_atexit. |
| |
| 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
| |
| * config/vax/vax.c (nonindexed_address_p): Change logical negation |
| from '! xxx' to '!xxx' for coding-style conformance. |
| * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise. |
| (EXTRA_CONSTRAINT): Likewise. |
| * config/vax/vax.md (four unnamed insns): Likewise. |
| |
| 2006-03-15 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/arm.c (minipool_pad): New. |
| (add_minipool_forward_ref): Include pool alignment padding in address |
| calculation. |
| (push_minipool_fix): Set minipool_pad. |
| (minipool_pad): Ditto. |
| |
| 2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> |
| |
| * config/vax/vax.c (split_quadword_operands): Use MEM_P() |
| instead of GET_CODE() == MEM and REG_P() instead of |
| GET_CODE() == REG. |
| (print_operand_address): Likewise. |
| (vax_address_cost): Likewise. |
| (vax_rtx_costs): Likewise. |
| (vax_notice_update_cc): Likewise. |
| (vax_output_int_add): Likewise. |
| (INDEX_REGISTER_P): Likewise. |
| (BASE_REGISTER_P): Likewise. |
| (nonindexed_address_p): Likewise. |
| (vax_mode_dependent_address_p): Likewise. |
| * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise. |
| (PRINT_OPERAND): Likewise. |
| * config/vax/vax.md (ashlsi3): Likewise. |
| (ashlsi3): Likewise. |
| (some more unnamed insns): Likewise. |
| |
| 2006-03-15 Kazu Hirata <kazu@codesourcery.com> |
| |
| * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an |
| iterator-style macro. |
| (mark_control_dependent_edges_necessary): Update the use of |
| EXECUTE_IF_CONTROL_DEPENDENT. |
| |
| 2006-03-15 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * config/sh/predicates.md (cache_address_operand): Special. |
| (ua_address_operand): Likewise. |
| |
| 2006-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle |
| loop notes. |
| * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto. |
| |
| 2006-03-15 Andreas Schwab <schwab@suse.de> |
| |
| * gensupport.c (identify_predicable_attribute): Don't free p_false |
| when it is still in use. |
| |
| 2006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify |
| the default setting here. |
| |
| 2006-03-14 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * tree-pass.h (pass_cfg): Remove. |
| * alias.c (rest_of_handle_cfg, pass_cfg): Remove. |
| * passes.c (pass_cfg): Don't run it. |
| |
| 2006-03-14 Kazu Hirata <kazu@codesourcery.com> |
| |
| * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h. |
| * reg-stack.c (stack_regs_mentioned_data): Change the type to |
| VEC(char,heap) *. |
| (stack_regs_mentioned): Update the uses of |
| stack_regs_mentioned_data. Don't access the array beyond its |
| end. |
| (reg_to_stack): Update the uses of stack_regs_mentioned_data. |
| Don't include gt-reg-stack.h. |
| |
| * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove. |
| * system.h (UNALIGNED_WORD_ASM_OP): Poison. |
| |
| * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove. |
| |
| PR middle-end/26684 |
| * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef |
| STACK_REGS. |
| |
| 2006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo. |
| |
| 2006-03-14 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26672 |
| * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in |
| SSA form. |
| |
| 2006-03-14 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26667 |
| * ipa-inline.c (cgraph_check_inline_limits): Walk the correct |
| node for the callees. Always allow inlining if it will shrink |
| the function size. |
| |
| 2006-03-14 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/26659 |
| * builtins.c (get_pointer_alignment): Prefer alignment |
| information from decls over that from types. |
| |
| 2006-03-14 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/26657 |
| * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp. |
| |
| 2006-03-14 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config/rs6000/rs6000.opt (mdlmzb): New option. |
| (msched-prolog, msched-epilog): Use Var not Mask. |
| * doc/invoke.texi (-mdlmzb): Document. |
| * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove |
| MASK_SCHED_PROLOG. |
| (rs6000_override_options): Enable -mdlmzb for 405 and 440. |
| * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440. |
| |
| 2006-03-13 Uttam Pawar <uttamp@us.ibm.com> |
| |
| PR rtl-optimization/25739 |
| * bt-load.c (augment_live_range): Free tos pointer. |
| |
| * gensupport.c (identify_predicable_attribute): Free |
| p_false pointer. |
| * gcov.c (create_file_names): Free name pointer. |
| |
| 2006-03-13 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/26557 |
| * stmt.c (emit_case_nodes): Handle the case where the index is a |
| CONST_INT, where the comparison mode is specified by the index type. |
| |
| 2006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O |
| is defined. |
| |
| 2006-03-13 Richard Sandiford <richard@codesourcery.com> |
| |
| * config/mips/mips.md (*branch_fp): Use %Z2 for the condition. |
| (*branch_fp_inverted): Likewise. |
| |
| 2006-03-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/25989 |
| * omp-low.c (expand_omp_for_generic): Mark istart0 |
| and iend0 as addressable. |
| |
| 2006-03-13 Jie Zhang <jie.zhang@analog.com> |
| |
| * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC. |
| |
| 2006-03-13 Jeff Law <law@redhat.com> |
| |
| * tree-vrp.c (stmt_interesting_for_vrp): Some statements with |
| virtual operands are interesting. |
| (vrp_visit_stmt): Corresponding changes. |
| |
| 2006-03-13 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents |
| of RETS. |
| * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If |
| TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__. |
| * config/bfin/crti.S: Use it instead of __PIC__. |
| * config/bfin/crtn.S: Likewise. |
| |
| * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol, |
| call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY, |
| not if flag_pic. |
| Lose 'G' modifier for call operand. |
| * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't |
| recognize 'G' modifier. |
| |
| 2006-03-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/18859 |
| * gimplify.c (gimplify_switch_expr): Discard empty ranges. |
| * stmt.c (expand_case): Likewise. |
| |
| 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/26254 |
| * loop-invariant.c (seq_insns_valid_p): New function. |
| (move_invariant_reg): Only emit new code if it is valid. |
| |
| 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p): |
| Removed. |
| (force_nonfallthru_and_redirect): Do not use last_loop_beg_note. |
| (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p. |
| (commit_one_edge_insertion): Do not look for loop notes. |
| |
| 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * jump.c (follow_jumps): Do not check for loop notes. Move check for |
| flag_test_coverage out of loop. |
| |
| 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * final.c (shorten_branches): Remove outdated comment, and turn |
| the if branch that guards it to continue. |
| |
| 2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field. |
| * cfgloop.h (struct loop): Remove unused fields. |
| |
| 2006-03-13 Kazu Hirata <kazu@codesourcery.com> |
| |
| * doc/invoke.texi (-fdump-rtl-loop): Remove. |
| (-dL, -fdump-rtl-loop2): Update the dump file names |
| |
| * doc/invoke.texi: Update dump file names. |
| |
| 2006-03-12 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * predict.c (estimate_probability): Remove. |
| * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove. |
| * basic-block.h (estimate_probability): Remove prototype. |
| * passes.c (finish_optimization_passes): Dump branch prediction or |
| profiling heuristics to the .profile tree dump. |
| (init_optimization_passes): Unqueue pass_branch_prob. |
| |
| * doc/invoke.texi (-fdump-rtl-bp): Remove. |
| |
| 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF. |
| * rtl.h (LABEL_NEXTREF): Remove field accessor. |
| |
| 2006-03-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * function.h (frame_offset_overflow): Declare. |
| * function.c (frame_offset_overflow): New function. |
| (assign_stack_local_1): Call it to detect that the offset overflows. |
| * cfgexpand.c (alloc_stack_frame_space): Likewise. |
| |
| 2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * config/sh/sh.c: Include alloc-pool.h. |
| (label_ref_list_pool): New alloc pool. |
| (label_ref_list_t): New type for lists of labels. |
| (struct pool_node): Make wend a label_ref_list_t. |
| (add_constant): Use the new type, eradicate LABEL_NEXTREF |
| references. |
| (dump_table): Likewise. |
| (sh_reorg): Set up the alloc pool before using add_constant and |
| dump_table, and destroy it when finishing. |
| |
| 2006-03-11 Richard Sandiford <richard@codesourcery.com> |
| |
| * config/mips/mips.c: Remove redundant comment. |
| |
| 2006-03-10 Jason Merrill <jason@redhat.com> |
| |
| PR c/26004 |
| * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if |
| the target was declared 'register'. |
| |
| 2006-03-10 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * genpreds.c (write_insn_constraint_len): Change definition of |
| insn_constraint_len to return size_t to match the declaration. |
| |
| 2006-03-10 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers |
| start at zero. |
| (m32c_expand_insv): Fix test for an AND mask. |
| |
| 2006-03-10 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/26565 |
| * builtins.c (get_pointer_alignment): Handle component |
| references for field alignment. |
| |
| 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h |
| when building with libgloss. |
| (sh*elf): Implement --without-fp option. |
| (sh64-superh-linux*): Don't multilib. |
| |
| 2006-03-10 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case. |
| |
| 2006-03-09 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable. |
| Set it when one of the replacement functions returned true. |
| Return TODO_cleanup_cfg if cfgchanged is true. |
| (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg. |
| |
| 2006-03-09 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate |
| instead of gen_lowpart. |
| |
| 2006-03-09 Richard Sandiford <richard@codesourcery.com> |
| |
| * config/mips/mips-protos.h (mips_output_conditional_branch): Change |
| interface. |
| (mips_output_order_conditional_branch): Declare. |
| * config/mips/mips.h (MIPS_BRANCH): New macro. |
| * config/mips/mips.c (gen_conditional_branch): Use VOIDmode |
| for the comparison. Use gen_condjump. |
| (mips_output_conditional_branch): Rework interface to take the |
| asm templates for a direct branch and the inverse of a direct branch. |
| (mips_output_order_conditional_branch): New function. |
| (mips_builtin_branch_and_move): New function. |
| (mips_expand_builtin_compare): Use it. Use VOIDmode for the |
| branch condition. Use gen_single_cc as the condition for |
| __builtin_mips_upper_* or __builtin_mips_lower_*. |
| (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move. |
| Use VOIDmode for the branch condition. |
| * config/mips/predicates.md (order_operator): New predicate. |
| * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant. |
| (branch_fp): Rename to... |
| (*branch_fp): ...this. Remove mode from comparison operator. |
| Use new mips_output_conditional_branch interface. |
| (branch_fp_inverted): Rename to... |
| (*branch_fp_inverted): ...this and update as for *branch_fp. |
| (*branch_zero<mode>): Rename to... |
| (*branch_order<mode>): ...this. Remove mode from comparison operator. |
| Use mips_output_order_conditional_branch. Only accept ordered |
| comparisons. |
| (*branch_zero<mode>_inverted): Rename to... |
| (*branch_order<mode>_inverted): ...this and update as for |
| *branch_order<mode>. |
| (*branch_equality<mode>): Accept zero as the second operand to |
| the equality operator. Use the new mips_output_conditional_branch |
| interface. |
| (*branch_equality<mode>_inverted): Likewise. |
| (condjump): New expander. |
| * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison |
| operator. |
| * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise. |
| (bc1any2t, bc1any2f): Likewise. |
| (single_cc): New expander. |
| (*branch_upper_lower, *branch_upper_lower_inverted): New patterns. |
| |
| 2006-03-09 Richard Sandiford <richard@codesourcery.com> |
| |
| * doc/md.texi: Update documentation of MIPS constraints. |
| * config/mips/constraints.md: New file. |
| * config/mips/mips.md: Include it. |
| * config/mips/mips.c (mips_char_to_class): Delete. |
| (override_options): Don't initialize mips_char_to_class. |
| * config/mips/mips.h (mips_char_to_class): Delete. |
| (REG_CLASS_FROM_LETTER): Delete. |
| (CONST_OK_FOR_LETTER_P): Delete. |
| (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. |
| (EXTRA_CONSTRAINT_Y): Delete. |
| (EXTRA_CONSTRAINT_STR): Delete. |
| (CONSTRAINT_LEN): Delete. |
| (EXTRA_MEMORY_CONSTRAINT): Delete. |
| |
| 2006-03-09 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-cfg.c (move_block_to_fn): Remove the statements from the |
| original fn's eh regions. |
| |
| 2006-03-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fold-const.c (build_range_check): Make sure to use a valid type to |
| apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)" |
| transformation. |
| |
| (range_predecessor): New static function. |
| (range_successor): Likewise. |
| (merge_ranges): Use them to compute predecessors and successors of |
| range bounds. |
| |
| 2006-03-09 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/26561 |
| * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as |
| X op C3, consider whether C3 overflows towards +Inf or -Inf. |
| |
| 2006-03-08 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/addsub.md (addqi3): Disparage a0/a1. |
| (addpsi3): Expand to include memory operands. Remove |
| reload-specific splits. |
| * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New. |
| (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New. |
| (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New. |
| (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders. |
| (shift1_qi, shift1_hi, insv): New. |
| * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove. |
| (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed, |
| cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc, |
| cond_to_int): New. |
| * config/m32c/m32c-protos.h: Update as needed. |
| * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't |
| default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1. |
| Fail for unrecognized R* constraints. |
| (m32c_cannot_change_mode_class): Be more picky about pseudos. |
| (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00. |
| (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)). |
| Add Sp constraint. |
| (m32c_init_libfuncs): New. |
| (m32c_legitimate_address_p): Add debug wrapper. |
| (m32c_rtx_costs): New. |
| (m32c_address_cost): New. |
| (conversions): Add 'B' prefix. |
| (m32c_print_operand): 'h' and 'H' pick lower and upper halves of |
| operands, or word regnames for QI operands. 'B' prints bit |
| position. |
| (m32c_expand_setmemhi): New. |
| (m32c_expand_movmemhi): New. |
| (m32c_expand_movstr): New. |
| (m32c_expand_cmpstr): New. |
| (m32c_prepare_shift): Shift counts are limited to 16 bits at a time. |
| (m32c_expand_neg_mulpsi3): Handle non-ints. |
| (m32c_cmp_flg_0): New. |
| (m32c_expand_movcc): New. |
| (m32c_expand_insv): New. |
| (m32c_scc_pattern): New. |
| * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take |
| a0/a1 out of SIregs. |
| (STORE_FLAG_VALUE): New. |
| * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and |
| code macros. |
| (no_insn): New. |
| * config/m32c/mov.md: Make constraints more liberal. |
| (zero_extendqihi2): Optimize r0/r1 case. |
| * config/m32c/muldiv.md (mulpsi3): Check for intvals. |
| * config/m32c/predicates.md (m32c_any_operand): New. |
| (m32c_nonimmediate_operand): New. |
| (m32c_hl_operand): New. |
| (m32c_r3_operand): New. |
| (ap_operand): New. |
| (ma_operand): New. |
| (memsym_operand): New. |
| (memimmed_operand): New. |
| (a_qi_operand): New. |
| (m32c_eqne_operator): New. |
| (m32c_1bit8_operand): New. |
| (m32c_1bit16_operand): New. |
| (m32c_1mask8_operand): New. |
| (m32c_1mask16_operand): New. |
| * config/m32c/blkmov.md: New file. |
| * config/m32c/t-m32c (MD_FILES): Add blkmov. |
| |
| 2006-03-08 Andreas Tobler <a.tobler@schweiz.ch> |
| |
| * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum |
| unsigned to fix signed/unsigned comparison issue in |
| DWARF2_FRAME_REG_OUT. |
| (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/ |
| unsigned comparison issue in DWARF2_FRAME_REG_OUT. |
| |
| * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration |
| of ptr into the ENABLE_CHECKING section. |
| |
| 2006-03-08 Jeff Law <law@redhat.com> |
| |
| * tree-vrp.c (infer_value_range): Only count pointer uses |
| and dereferences if -fdelete-null-pointer-checks is enabled. |
| |
| * tree-vrp.c (find_assert_locations): Infer value ranges for |
| single use pointers, but do not create ASSERT_EXPRs for them. |
| When a non-null range is inferred for a pointer, backwards |
| propagate that range to other equivalent pointers through the |
| use-def chain. |
| |
| 2006-03-08 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR bootstrap/26500 |
| * Makefile.in (dvi, html, install-info): Invoke the corresponding |
| language hook targets. |
| * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in, |
| objcp/Make-lang.in: Create stub rules for dvi, html, install-info |
| if language hook targets were missing. |
| |
| 2006-03-07 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-ssa-opfinalize.h: Removed. |
| * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h |
| dependency. |
| * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h. |
| (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST, |
| INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op, |
| add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops, |
| finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops, |
| finalize_ssa_v_must_def_ops): New. |
| |
| 2006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong |
| block as parameter. |
| |
| 2006-03-07 Geoffrey Keating <geoffk@apple.com> |
| |
| * varasm.c (assemble_end_function): Say that 'fnname' is unused. |
| |
| * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin |
| addresses with offsets; reorganize. |
| |
| * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file. |
| (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT. |
| (expand_builtin_init_dwarf_reg_sizes): Likewise. |
| |
| 2006-03-08 David Billinghurst <David.Billinghurst@riotinto.com> |
| |
| PR target/26588 |
| * config/i386/cygwin.h (GOMP_SELF_SPECS): Define. |
| |
| 2006-03-08 Ben Elliston <bje@au.ibm.com> |
| |
| * config/fp-bit.h (CMPtype): Typedef to a word mode integer. |
| |
| 2006-03-07 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR gomp/26238 |
| * doc/passes.texi (Tree-SSA passes): Document omp lowering and |
| expansion. |
| |
| 2006-03-07 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26587 |
| * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR. |
| |
| 2006-03-07 Richard Sandiford <richard@codesourcery.com> |
| |
| * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION. |
| |
| 2006-03-07 Richard Sandiford <richard@codesourcery.com> |
| |
| * hooks.c (hook_bool_mode_rtx_true): New function. |
| * hooks.h (hook_bool_mode_rtx_true): Declare. |
| * toplev.c (compile_file): Call output_shared_constant_pool. |
| * varasm.c (shared_constant_pool): New variable. |
| (assemble_start_function, assemble_end_function): Remove arguments |
| from call to output_constant_pool. |
| (create_constant_pool): New function, split out from... |
| (init_varasm_status): ...here. |
| (force_const_mem): Choose between the shared and per-function constant |
| pools. Set current_function_uses_const_pool when reusing old entries |
| as well as when creating new ones. |
| (mark_constant): Ignore data argument. |
| (mark_constants): Remove pool argument. |
| (mark_constant_pool): Likewise. Use current_function_uses_const_pool |
| to decide whether the function uses a constant pool. |
| (output_constant_pool_contents): New function, split out from... |
| (output_constant_pool): ...here. |
| (output_shared_constant_pool): New function. |
| (init_varasm_once): Initialize shared_constant_pool. |
| * output.h (output_constant_pool): Delete. |
| (output_shared_constant_pool): Declare. |
| * config/s390/s390-protos.h (s390_output_constant_pool): Delete. |
| * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override. |
| |
| 2006-03-06 Nick Clifton <nickc@redhat.com> |
| |
| * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to |
| flag_strength_reduce. |
| |
| 2006-03-06 Ben Elliston <bje@au.ibm.com> |
| |
| * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and |
| x86_64-*-linux* configurations. |
| |
| * config/dfp-bit.h (CMPtype): Typedef to a word mode integer. |
| (LIBGCC2_WORDS_BIG_ENDIAN): Define. |
| |
| 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
| |
| * tree-ssa-threadupdate.c (rediscover_loops_after_threading): |
| Remove. |
| * basic-block.h: Remove the extern for |
| rediscover_loops_after_threading. |
| |
| * cfgloop.c (cancel_loop): Make it static. |
| * cfgloop.h: Remove the prototype for cancel_loop. |
| |
| * flow.c (recompute_reg_usage): Make it static. |
| * rtl.h: Remove the prototype for recompute_reg_usage. |
| |
| * function.c (use_return_register): Make it static. |
| * function.h: Remove the prototype. |
| |
| 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
| |
| * recog.c (volatile_mem_p, validate_change_maybe_volatile): |
| Remove. |
| * recog.h: Remove the prototype for |
| validate_change_maybe_volatile. |
| |
| 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
| |
| * rtlanal.c (replace_reg): Remove. |
| * rtl.h: Remove the prototype for replace_reg. |
| |
| 2006-03-05 Kazu Hirata <kazu@codesourcery.com> |
| |
| * regclass.c (reg_scan_update): Remove. |
| (reg_scan_mark_refs): Remove the last argument. |
| * rtl.h: Remove the prototype for reg_scan_update. |
| |
| 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
| |
| * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c, |
| combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c, |
| config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c, |
| config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c, |
| df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c, |
| loop-invariant.c, omp-low.c, opts.c, passes.c, |
| rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c, |
| tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, |
| tree-ssa-structalias.c, tree-ssa-threadedge.c, |
| tree-ssa-threadupdate.c, tree-vect-patterns.c, |
| tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c, |
| unwind-dw2.c: Fix comment typos. Follow spelling conventions. |
| |
| 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
| |
| * dwarf2out.c (dwarf2out_add_library_unit_info): Remove. |
| * dwarf2out.h: Remove the prototype for |
| dwarf2out_add_library_unit_info. |
| |
| 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
| |
| * tree.c (add_var_to_bind_expr): Remove. |
| * tree.h: Remove the prototype for add_var_to_bind_expr. |
| |
| 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
| |
| * regclass.c (n_non_fixed_regs): Remove. |
| (init_reg_sets_1, globalize_reg): Remove all uses of |
| n_non_fixed_regs. |
| * hard-reg-set.h: Remove the extern for n_non_fixed_regs. |
| |
| 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
| |
| * rtlanal.c (insns_safe_to_move_p): Remove. |
| * rtl.h: Remove the prototype for insns_safe_to_move_p. |
| |
| 2006-03-04 Kazu Hirata <kazu@codesourcery.com> |
| |
| * expmed.c (expand_mult_add): Remove. |
| * expr.h: Remove the prototype for expand_mult_add. |
| |
| 2006-03-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET |
| and REG_SAVED_VAL_EXP constants. |
| * unwind-dw2.c (struct _Unwind_Context): Add by_value array. |
| (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): |
| Handle regs stored by value. |
| (_Unwind_SetGRValue, _Unwind_GRByValue): New functions. |
| (execute_cfa_program): Handle DW_CFA_val_offset, |
| DW_CFA_val_offset_sf and DW_CFA_val_expression. |
| (uw_update_context_1): Handle REG_SAVED_REG with regs stored by |
| value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP. |
| (uw_install_context_1): Handle target regs stored by value. |
| |
| 2006-03-03 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-sra.c (tree_sra): Return todoflags; |
| (generate_one_element): Set TODO_update_smt_usage if needed. |
| (pass_sra): Remove TODO_update_smt_usage. |
| * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some |
| parameter. |
| (tree_ssa_forward_propagate_single_use_vars): Return |
| TODO_update_smt_usage if we need to update SMT usage. |
| (pass_forwprop): Remove TODO_update_smt_usage. |
| |
| 2006-03-03 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-ssa-operands.c: Tidy whitespace. Fix spelling. |
| (correct_use_link): Remove reference to get_stmt_operands. |
| (update_stmt_operands): Likewise. |
| (get_modify_expr_operands): New function factored out of |
| parse_ssa_operands and get_expr_operands. |
| Try to create V_MUST_DEFs for LHS by default. |
| (get_expr_operands) <case MODIFY_EXPR>: Call |
| get_modify_expr_operands. |
| <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF. |
| <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS. |
| (parse_ssa_operands) <case MODIFY_EXPR>: Call |
| get_modify_expr_operands. |
| |
| 2006-03-03 Kazu Hirata <kazu@codesourcery.com> |
| |
| * tree-dfa.c (referenced_var_lookup_if_exists): Remove. |
| * tree-flow.h: Remove the prototype for |
| referenced_var_lookup_if_exists. |
| |
| 2006-03-03 Steve Ellcey <sje@cup.hp.com> |
| |
| PR rtl-optimization/26345 |
| PR target/19061 |
| * config/ia64/predicates.md (basereg_operand): Don't look in subregs. |
| |
| 2006-03-03 Roger Sayle <roger@eyesopen.com> |
| |
| PR tree-optimization/26524 |
| * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use |
| fold_convert to create a constant of the appropriate type. |
| |
| 2006-03-03 Richard Sandiford <richard@codesourcery.com> |
| |
| * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of |
| SYMBOL_REF_IN_BLOCK_P. |
| * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead |
| of SYMBOL_FLAG_IN_BLOCK. |
| * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P |
| instead of SYMBOL_REF_IN_BLOCK_P. |
| * explow.c (use_anchored_address): Likewise. |
| * rtl.c (rtx_size): Likewise. |
| * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO |
| instead of SYMBOL_FLAG_IN_BLOCK. |
| (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of |
| SYMBOL_REF_IN_BLOCK_P. |
| (assemble_variable): Likewise. |
| (output_constant_def_contents): Likewise. |
| (output_constant_pool): Likewise. |
| (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO |
| instead of SYMBOL_FLAG_IN_BLOCK. |
| * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of |
| SYMBOL_REF_IN_BLOCK_P. |
| (SYMBOL_REF_BLOCK): Likewise. |
| (SYMBOL_REF_OFFSET): Likewise. |
| (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of |
| SYMBOL_REF_IN_BLOCK_P. |
| (SYMBOL_FLAG_IN_BLOCK): Replace with... |
| (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this. |
| (SYMBOL_REF_IN_BLOCK_P): Replace with... |
| (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this. |
| |
| 2006-03-03 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto. |
| |
| 2006-03-02 Roger Sayle <roger@eyesopen.com> |
| |
| * simplify-rtx.c (simplify_unary_operation): When simplifying |
| (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure |
| that we perform the right shift in the appropriate mode, and |
| then extend or truncate the result to requested mode. |
| |
| 2006-03-03 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * gengtype.c (main): Handle double_int type. |
| * tree.h (struct tree_int_cst): Make type of int_cst double_int. |
| * double-int.c: New file. |
| * double-int.h: New file. |
| * system.h: Include doubleint.h. |
| * Makefile.in (SYSTEM_H): Include double-int.h. |
| (double-int.o): Add. |
| |
| 2006-03-03 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR bootstrap/26478 |
| * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before |
| copying over it. |
| |
| 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-vrp.c (remove_range_assertions): Do not update statements |
| unnecessarily. |
| |
| 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg |
| cleanup. |
| * gcse.c (rest_of_handle_gcse): Ditto. |
| * except.c (gate_handle_eh): Ditto. |
| * cfgcleanup.c (rest_of_handle_jump2): Ditto. |
| * basic-block.h (CLEANUP_PRE_LOOP): Remove. |
| |
| 2006-03-02 Eric Christopher <echristo@apple.com> |
| |
| * config/i386/i386.c (machopic_output_stub): Add indirection to |
| jump. |
| |
| 2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * loop.c: Removed. |
| |
| 2006-03-02 David S. Miller <davem@sunset.davemloft.net> |
| |
| Sun Niagara specific optimizations. |
| * config.gcc: Recognize niagara as target. |
| * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara. |
| (TARGET_CPU_niagara): Define. |
| (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara. |
| (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara. |
| (CPP_CPU_SPEC): Handle -mcpu=niagara. |
| (ASM_CPU_SPEC): Likewise. |
| (PROCESSOR_NIAGARA): New enum entry. |
| (REGISTER_MOVE_COST): Handle Niagara. |
| (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise. |
| * config/sparc/sparc.c (niagara_costs): New processor_costs entry. |
| (sparc_override_options): Recognize "niagara", set appropriate |
| default MASK_* values for it, and align functions to 32-bytes |
| by default just like ULTRASPARC/ULTRASPARC3. |
| (sparc_initialize_trampoline): Handle niagara like ultrasparc. |
| (sparc64_initialize_trampoline): Likewise. |
| (sparc_use_sched_lookahead): Use zero for niagara. |
| (sparc_issue_rate): Use one for niagara. |
| * config/sparc/niagara.md: New file. |
| * config/sparc/sparc.md: Include it. |
| * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC, |
| ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately |
| when default cpu is niagara. |
| (CPP_CPU_SPEC): Handle -mcpu=niagara. |
| (ASM_CPU_SPEC): Likewise. |
| * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately |
| when default cpu is niagara. |
| (ASM_CPU_SPEC): Handle -mcpu=niagara. |
| * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara |
| just like v9/ultrasparc/ultrasparc3. |
| * doc/invoke.texi: Add documentation for "niagara" and improve |
| existing documentation for ultrasparc variants. |
| |
| 2006-03-02 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-ssa-operands.c (update_stmt_operands): Update documentation. |
| |
| 2006-03-02 Richard Sandiford <richard@codesourcery.com> |
| |
| * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document. |
| (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS, |
| and say that only one is needed. |
| * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null. |
| * target.h (have_switchable_bss_sections): New hook. |
| * explow.c (use_anchored_address): Check that the symbol is in a block. |
| * varasm.c (tls_comm_section, comm_section, lcomm_section) |
| (bss_noswitch_section): New variables. |
| (get_unnamed_section): Add SECTION_UNNAMED to the flags. |
| (get_noswitch_section): New function. |
| (get_block_for_section): Allow SECT to be null. |
| (unlikely_text_section_p): Use SECTION_STYLE. |
| (bss_initializer_p): New function. |
| (get_variable_section): Move earlier in file. Take a new argument, |
| prefer_noswitch_p. Move bss checks from assemble_variable to here. |
| Return one of the new *_sections in such cases. |
| (get_block_for_decl): New function, extracting some logic from |
| use_blocks_for_decl_p. |
| (change_symbol_section): Remove in favor of... |
| (change_symbol_block): ...this new function. |
| (use_blocks_for_decl_p): Remove checks now performed by |
| get_block_for_decl. |
| (make_decl_rtl): Use change_symbol_block and get_block_for_decl. |
| (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of... |
| (emit_local, emit_bss, emit_common): ...these new functions. |
| Return true if the alignment was honored. |
| (emit_tls_common): New function. |
| (asm_emit_uninitialised): Delete. |
| (assemble_variable_noswitch): New function, split out from... |
| (assemble_variable): ...here. Don't make decisions about common |
| variables here. Globalize all public decls that go into non-common |
| sections. Check whether SYMBOL_REF_BLOCK is null. |
| (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null. |
| (output_constant_pool): Likewise. |
| (init_varasm_once): Initialize the new section variables. |
| (have_global_bss_p): New function. |
| (categorize_decl_for_section): Use bss_initializer_p. |
| (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH. |
| (place_block_symbol): Assert that the symbol must be in a block. |
| * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro. |
| (TARGET_INITIALIZER): Include it. |
| * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative. |
| * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros. |
| (SECTION_MACH_DEP): Bump by two. |
| (SECTION_UNNAMED, SECTION_NOSWITCH): New macros. |
| (unnamed_section): Mention SECTION_UNNAMED in comment. |
| (named_section): Likewise SECTION_NAMED. |
| (noswitch_section_callback): New type. |
| (noswitch_section): New structure. |
| (section): Add a noswitch_section alternative. |
| (SECTION_STYLE): New macro. |
| (tls_comm_section, comm_section, lcomm_section): Declare. |
| (bss_noswitch_section, have_global_bss_p): Declare. |
| * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. |
| * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): |
| Override. |
| * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. |
| * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): |
| Override. |
| |
| 2006-03-02 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-vrp.c (execute_vrp): Return value. |
| * regrename.c (rest_of_handle_regrename): Ditto. |
| * tree-into-ssa.c (rewrite_into_ssa): Ditto. |
| * tree-complex.c (tree_lower_complex): Ditto. |
| (tree_lower_complex_O0): Ditto. |
| * tracer.c (rest_of_handle_tracer): Ditto. |
| * postreload-gcse.c (rest_of_handle_gcse2): Ditto. |
| * postreload.c (rest_of_handle_postreload): Ditto. |
| * tree-tailcall.c (execute_tail_recursion): Ditto. |
| (execute_tail_calls): Ditto. |
| * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. |
| * tree.h (init_function_for_compilation): Ditto. |
| * ipa-cp.c (ipcp_driver): Ditto. |
| * tree-scalar-evolution.c (scev_const_prop): Ditto. |
| * tree-scalar-evolution.h (scev_const_prop): Ditto. |
| * final.c (compute_alignments): Ditto. |
| (rest_of_handle_final): Ditto. |
| (rest_of_handle_shorten_branches): Ditto. |
| (rest_of_clean_state): Ditto. |
| * omp-low.c (execute_expand_omp): Ditto. |
| (execute_lower_omp): Ditto. |
| * tree-ssa-dse.c (tree_ssa_dse): Ditto. |
| * ipa-reference.c (static_execute): Ditto. |
| * tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto. |
| * reorg.c (rest_of_handle_delay_slots): Ditto. |
| (rest_of_handle_machine_reorg): Ditto. |
| * cgraphunit.c (rebuild_cgraph_edges): Ditto. |
| * flow.c (recompute_reg_usage): Ditto. |
| (rest_of_handle_remove_death_notes): Ditto. |
| (rest_of_handle_life): Ditto. |
| (rest_of_handle_flow2): Ditto. |
| * tree-ssa-copyrename.c (rename_ssa_copies): Ditto. |
| * tree-ssa-ccp.c (do_ssa_ccp): Ditto. |
| (do_ssa_store_ccp): Ditto. |
| (execute_fold_all_builtins): Ditto. |
| * mode-switching.c (rest_of_handle_mode_switching): Ditto. |
| * modulo-sched.c (rest_of_handle_sms): Ditto. |
| * ipa-pure-const.c (static_execute): Ditto. |
| * cse.c (rest_of_handle_cse): Ditto. |
| (rest_of_handle_cse2): Ditto. |
| * web.c (rest_of_handle_web): Ditto. |
| * tree-stdarg.c (execute_optimize_stdarg): Ditto. |
| * tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto. |
| * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto. |
| * tree-nrv.c (tree_nrv): Ditto. |
| (execute_return_slot_opt): Ditto. |
| * tree-ssa-alias.c (compute_may_aliases): Ditto. |
| (create_structure_vars): Ditto. |
| * loop-init.c (rtl_loop_init): Ditto. |
| (rtl_loop_done): Ditto. |
| (rtl_move_loop_invariants): Ditto. |
| (rtl_unswitch): Ditto. |
| (rtl_unroll_and_peel_loops): Ditto. |
| (rtl_doloop): Ditto. |
| * gimple-low.c (lower_function_body): Ditto. |
| (mark_used_blocks): Ditto. |
| * tree-ssa-sink.c (execute_sink_code): Ditto. |
| * ipa-inline.c (cgraph_decide_inlining): Ditto. |
| (cgraph_early_inlining): Ditto. |
| * global.c (rest_of_handle_global_alloc): Ditto. |
| * jump.c (cleanup_barriers): Ditto. |
| (purge_line_number_notes): Ditto. |
| * ifcvt.c (rest_of_handle_if_conversion): Ditto. |
| (rest_of_handle_if_after_reload): Ditto. |
| * tree-ssa-loop.c (tree_ssa_loop_init): Ditto. |
| (tree_ssa_loop_im): Ditto. |
| (tree_ssa_loop_unswitch): Ditto. |
| (tree_vectorize): Ditto. |
| (tree_linear_transform): Ditto. |
| (tree_ssa_loop_ivcanon): Ditto. |
| (tree_ssa_empty_loop): Ditto. |
| (tree_ssa_loop_bounds): Ditto. |
| (tree_complete_unroll): Ditto. |
| (tree_ssa_loop_prefetch): Ditto. |
| (tree_ssa_loop_ivopts): Ditto. |
| (tree_ssa_loop_done): Ditto. |
| * predict.c (tree_estimate_probability): Ditto. |
| * recog.c (split_all_insns_noflow): Ditto. |
| (rest_of_handle_peephole2): Ditto. |
| (rest_of_handle_split_all_insns): Ditto. |
| * tree-eh.c (lower_eh_constructs): Ditto. |
| * regmove.c (rest_of_handle_regmove): Ditto. |
| (rest_of_handle_stack_adjustments): Ditto. |
| * local-alloc.c (rest_of_handle_local_alloc): Ditto. |
| * function.c (instantiate_virtual_regs): Ditto. |
| (init_function_for_compilation): Ditto. |
| (rest_of_handle_check_leaf_regs): Ditto. |
| * gcse.c (rest_of_handle_jump_bypass): Ditto. |
| (rest_of_handle_gcse): Ditto. |
| * ipa-type-escape.c (type_escape_execute): Ditto. |
| * alias.c (rest_of_handle_cfg): Ditto. |
| * tree-if-conv.c (main_tree_if_conversion): Ditto. |
| * profile.c (rest_of_handle_branch_prob): Ditto. |
| * tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto. |
| * rtl-factoring.c (rest_of_rtl_seqabstr): Ditto. |
| * bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto |
| * tree-dfa.c (find_referenced_vars): Ditto. |
| * except.c (set_nothrow_function_flags): Ditto. |
| (convert_to_eh_region_ranges): Ditto. |
| (rest_of_handle_eh): Ditto. |
| * emit-rtl.c (unshare_all_rtl): Ditto. |
| (remove_unnecessary_notes): Ditto. |
| * except.h (set_nothrow_function_flags): Ditto. |
| (convert_to_eh_region_ranges): Ditto. |
| * cfgexpand.c (tree_expand_cfg): Ditto. |
| * tree-cfgcleanup.c (merge_phi_nodes): Ditto. |
| * tree-ssa-pre.c (do_pre): Ditto. |
| (execute_fre): Ditto. |
| * cfgcleanup.c (rest_of_handle_jump): Ditto. |
| (rest_of_handle_jump2): Ditto. |
| * tree-sra.c (tree_sra): Ditto. |
| * tree-mudflap.c (execute_mudflap_function_ops): Ditto. |
| (execute_mudflap_function_decls): Ditto. |
| * tree-ssa-copy.c (do_copy_prop): Ditto. |
| (do_store_copy_prop): Ditto. |
| * ipa-prop.h (ipcp_driver): Ditto. |
| * cfglayout.c (insn_locators_initialize): Ditto. |
| * tree-ssa-forwprop.c |
| (tree_ssa_forward_propagate_single_use_vars): Ditto. |
| * cfglayout.h (insn_locators_initialize): Ditto. |
| * tree-ssa-dce.c (tree_ssa_dce): Ditto. |
| * tree-ssa.c (execute_early_warn_uninitialized): Ditto. |
| (execute_late_warn_uninitialized): Ditto. |
| * rtl.h (cleanup_barriers): Ditto. |
| (split_all_insns_noflow): Ditto. |
| (purge_line_number_notes): Ditto. |
| (unshare_all_rtl): Ditto. |
| (remove_unnecessary_notes): Ditto. |
| (recompute_reg_usage): Ditto. |
| (variable_tracking_main): Ditto. |
| * integrate.c (emit_initial_value_sets): Ditto. |
| * integrate.h (emit_initial_value_sets): Ditto. |
| * tree-optimize.c (execute_free_datastructures): Ditto |
| (execute_free_cfg_annotations): Ditto. |
| (execute_fixup_cfg): Ditto. |
| (execute_cleanup_cfg_pre_ipa): Ditto. |
| (execute_cleanup_cfg_post_optimizing): Ditto. |
| (execute_init_datastructures): Ditto. |
| * tree-object-size.c (compute_object_sizes): Ditto. |
| * combine.c (rest_of_handle_combine): Ditto. |
| * tree-outof-ssa.c (rewrite_out_of_ssa): Ditto. |
| * bb-reorder.c (duplicate_computed_gotos): Ditto. |
| (rest_of_handle_reorder_blocks): Ditto. |
| (rest_of_handle_partition_blocks): Ditto. |
| * var-tracking.c (variable_tracking_main): Ditto. |
| * tree-profile.c (tree_profiling): Ditto. |
| * tree-vect-generic.c (expand_vector_operations): Ditto. |
| * reg-stack.c (rest_of_handle_stack_regs): Ditto. |
| * sched-rgn.c (rest_of_handle_sched): Ditto. |
| (rest_of_handle_sched2): Ditto. |
| * basic-block.h (free_bb_insn): Ditto. |
| * tree-ssa-structalias.c (ipa_pta_execute): Ditto. |
| * tree-cfg.c (execute_build_cfg): Ditto. |
| (remove_useless_stmts): Ditto. |
| (split_critical_edges): Ditto. |
| (execute_warn_function_return): Ditto. |
| (execute_warn_function_noreturn): Ditto. |
| * tree-ssa-reassoc.c (execute_reassoc): Ditto. |
| * cfgrtl.c (free_bb_for_insn): Ditto. |
| * passes.c (execute_one_pass): Run additional |
| todos returned by execute function. |
| * tree-pass.h (struct tree_opt_pass): Make execute |
| return a value. |
| |
| 2006-03-02 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-alias.c (find_used_portions): Consider taking |
| the address as making the variable not write-only. |
| |
| 2006-03-02 Nick Clifton <nickc@redhat.com> |
| |
| * config.gcc (default_use_cxa_atexit): Extend the description of |
| this configure variable. Set its default value to "yes" for |
| Linux, NetBSD and ELF targets on the assumption that they will |
| use C libraries with the __cxa_atexit function. |
| |
| 2006-03-02 Ben Elliston <bje@au.ibm.com> |
| |
| * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs' |
| parameter as unused to suppress a build warning. |
| |
| 2006-03-02 Ben Elliston <bje@au.ibm.com> |
| |
| * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile |
| config/dfp-bit.c. |
| |
| 2006-03-01 Roger Sayle <roger@eyesopen.com> |
| |
| PR other/26489 |
| * gthr-posix.h (__gthrw2): Define to take three parameters, the |
| declared name, the weak reference name, and the typeof name. |
| (__gthrw): Avoid expanding the declared name suffix. |
| (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls. |
| |
| 2006-03-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants |
| from DWARF 3. |
| (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, |
| DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, |
| DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, |
| DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, |
| DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. |
| (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. |
| (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, |
| DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. |
| (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, |
| DW_DS_leading_separate, DW_DS_trailing_separate): New. |
| (DW_END_default, DW_END_big, DW_END_little): New. |
| (DW_END_lo_user, DW_END_hi_user): Define. |
| (DW_LNE_lo_user, DW_LNE_hi_user): Define. |
| (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. |
| (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, |
| DW_LANG_D): New. |
| |
| 2006-03-01 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG. |
| Update all users. |
| * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage. |
| Update all users. |
| (TODO_update_smt_usage): Rename from TODO_update_tmt_usage. |
| Update all users. |
| * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE. |
| Update all users. |
| * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag' |
| to 'symbol_mem_tag'. |
| Update all users. |
| * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT |
| rename. |
| |
| 2006-03-01 Roger Sayle <roger@eyesopen.com> |
| |
| * builtins.c (fold_builtin_copysign): Delete unreachable code. |
| |
| 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/25761 |
| * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just |
| MACHO_DYNAMIC_NO_PIC_P. |
| (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P. |
| |
| 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/26389 |
| * config/darwin-protos.h (darwin_asm_output_anchor): |
| Declare. |
| * config/darwin-sections.def (cstring_section): |
| Add SECTION_MERGE to the flags. |
| (literal4_section): Likewise. |
| (literal8_section): Likewise. |
| (objc_selector_refs_section): Likewise. |
| (objc_cls_refs_section): Likewise. |
| * config/darwin.c (darwin_asm_output_anchor): New |
| function. |
| * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define. |
| |
| 2006-03-01 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/26443 |
| * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage |
| to todo and PROP_tmt_usage to properties_destroyed. |
| * tree-ssa-ccp.c (pass_ccp): Ditto. |
| (pass_store_ccp): Ditto. |
| * tree-ssa-dom.c (pass_dominator): Ditto. |
| |
| 2006-03-01 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-ssa-operands.c: Cleanup whitespace. |
| (get_asm_expr_operands): Move before first invocation. |
| (get_indirect_ref_operands): Likewise. |
| (get_tmr_operands): Likewise. |
| (get_call_expr_operands): Likewise. |
| (append_def): Likewise. |
| (append_use): Likewise. |
| (append_v_may_def): Likewise. |
| (append_v_must_def): Likewise. |
| (add_call_clobber_ops): Likewise. |
| (add_call_read_ops): Likewise. |
| (add_stmt_operand): Likewise. |
| (add_virtual_operand): Likewise. |
| (build_ssa_operands): Likewise. |
| |
| 2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/26022 |
| Revert: |
| PR middle-end/24437 |
| * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF |
| with a call expr to ... |
| * fold-const.c (fold_ternary) <case CALL_EXPR>: Here. |
| |
| 2006-03-01 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-vrp.c (extract_range_from_assert): Remove special |
| handling for types with super-types. |
| |
| 2006-03-01 Ben Elliston <bje@au.ibm.com> |
| |
| * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux* |
| and powerpc64-*-linux* configurations. |
| * config/t-dfprules: New file. |
| |
| * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS. |
| Compile dfp-bit.c from the source directory using -DWIDTH and |
| $DFP_CFLAGS to control the compilation of that file, rather than |
| generating width-specific versions in the build directory. |
| * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS. |
| (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc]. |
| |
| 2006-02-28 Zack Weinberg <zackw@panix.com> |
| |
| * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7 |
| continues to work. |
| |
| 2006-02-28 Eric Christopher <echristo@apple.com> |
| |
| * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define. |
| Set up IN_LIBGCC definition of TARGET_64BIT. |
| * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define. |
| |
| 2006-02-28 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/14752 |
| * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR, |
| BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these |
| cases via the construction of "expr != 0". |
| |
| 2006-02-28 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * alias.c (alias_invariant, alias_invariant_size): Remove. |
| (record_base_value): Remove. |
| (memrefs_conflict_p): Don't look at alias_invariant. |
| (end_alias_analysis): Don't free it. |
| * alias.h (record_base_value): Remove prototype. |
| |
| 2006-02-28 Paolo Bonzini <bonzini@gnu.org> |
| Adam Nemet <anemet@caviumnetworks.com> |
| |
| * rtl.h (truncated_to_mode): Declare it. |
| (struct rtl_hooks): Add reg_truncated_to_mode hook. |
| * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro. |
| (RTL_HOOKS_INITIALIZER): Include it. |
| * rtlhooks.c (reg_truncated_to_mode_general): New function. |
| * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to |
| reg_truncated_to_mode. |
| * rtlanal.c (truncated_to_mode): Define it. |
| * simplify-rtx.c (simplify_unary_operation_1): Use it. |
| |
| 2006-02-28 Jeff Law <law@redhat.com> |
| |
| * tree-chrec.c (chrec_convert_aggressive): Do not eliminate |
| conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover |
| the range allowed by TYPE_PRECISION. |
| |
| * tree.h (strct phi_arg_d): Remove unused NONZERO field. |
| |
| 2006-02-28 Dorit Nuzman <dorit@il.ibm.com> |
| |
| PR tree-optimization/26419 |
| * doc/invoke.texi (ftree-vectorizer-verbose): Add information on |
| values of n. |
| |
| 2006-02-27 Zack Weinberg <zackw@panix.com> |
| |
| * doc/md.texi: Fix typo in previous change. |
| |
| 2006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| * df.c: Remove. |
| |
| 2006-02-27 Zack Weinberg <zackw@panix.com> |
| |
| * rtl.def (define_constraint, define_register_constraint) |
| (define_memory_constraint, define_address_constraint): New MD forms. |
| * gensupport.c (process_rtx): Put define_constraint etc on the |
| predicate queue. |
| * genpreds.c (process_define_predicate): Adjust comment. Validate |
| the name, and call validate_exp to validate the expression. |
| (mark_mode_tests, write_extract_subexp): Can assume correct input. |
| (write_predicate_expr): Likewise. NAME argument no longer necessary; |
| all callers changed. |
| (validate_exp, needs_variable, struct constraint_data) |
| (constraints_by_letter_table, first_constraint, last_constraint_ptr) |
| (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints) |
| (const_dbl_constraints, constraint_max_namelen) |
| (have_register_constraints, have_memory_constraints) |
| (have_address_constraints, have_address_constraints) |
| (have_extra_constraints, have_const_int_constraints) |
| (have_const_dbl_constraints, mangle, add_constraint) |
| (process_define_constraint, process_define_register_constraint) |
| (write_enum_constraint_num, write_lookup_constraint) |
| (write_insn_constraint_len, write_regclass_for_constraint) |
| (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint) |
| (write_insn_extra_memory_constraint) |
| (write_insn_extra_address_constraint) |
| (write_satisfies_constraint_fns): New. |
| (write_tm_preds_h): If we have new-style constraint definitions, |
| prototype the functions generated from them, and define the |
| old constraint interface (still used by generic code) in terms of |
| those functions. |
| (write_insn_preds_c): If we have new-style constraint definitions, |
| generate all relevant functions from those definitions. |
| (main): Handle define_constraint etc. |
| * genoutput.c (struct constraint_data, indep_constraints) |
| (mdep_constraint_letters, constraints_by_letter_table, note_constraint) |
| (mdep_constraint_len): New data structures and functions, defined |
| #ifdef USE_MD_CONSTRAINTS. |
| (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS. |
| (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined, |
| use new logic to validate operand constraints against constraint |
| definitions. |
| (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is |
| defined. |
| * defaults.h: If none of the old-style constraint macros are |
| defined, define USE_MD_CONSTRAINTS; do not provide defaults for any |
| old-style macros; and poison REG_CLASS_FROM_LETTER, |
| CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and |
| EXTRA_CONSTRAINT. |
| * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately. |
| * doc/md.texi: Document new constraint-definition mechanism and the |
| C interface it provides. Remove references to old mechanism |
| elsewhere in the document. |
| (Machine Constraints): Use pathnames relative to gcc directory, |
| i.e. config/ARCH/FILE. Change i386 section to refer to |
| config/i386/predicates.md; update that section to match docstrings. |
| * doc/tm.texi: Move all documentation of the old constraint- |
| definition macros to their own section, clearly mark as obsolete. |
| |
| * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t) |
| (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint |
| definitions. |
| * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P) |
| (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete. |
| * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from |
| constraint strings. |
| (splits and peepholes): Use satisfies_constraint_*. |
| * config/i386/i386.c (memory_address_length) |
| (ix86_attr_length_immediate_default): Use satisfies_constraint_*. |
| |
| 2006-02-27 Daniel Berlin <dberlin@dberlin.org> |
| |
| * lambda-code.c (can_convert_to_perfect_nest): Allow any type of |
| scalar operation to be put back into the loop. |
| |
| 2006-02-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR other/26208 |
| * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field. |
| (extract_cie_info): Handle S flag in augmentation string. |
| (execute_cfa_program): If context->signal_frame, execute also |
| fs->pc == context->ra instructions. |
| (uw_frame_state_for): If context->signal_frame, don't subtract one |
| from context->ra to find FDE. |
| (uw_update_context_1): Set context->signal_frame to |
| fs->signal_frame. |
| (_Unwind_GetIPInfo): New function. |
| * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field. |
| * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead |
| of _Unwind_GetIP. |
| * unwind-sjlj.c (_Unwind_GetIPInfo): New function. |
| * unwind-generic.h (_Unwind_GetIPInfo): New prototype. |
| * unwind-compat.c (_Unwind_GetIPInfo): New function. |
| * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0. |
| * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function. |
| * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define. |
| * config/i386/linux-unwind.h (x86_fallback_frame_state, |
| x86_64_fallback_frame_state): Set fs->signal_frame. |
| * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise. |
| (MD_FROB_UPDATE_CONTEXT): Define unconditionally. |
| (frob_update_context): Likewise. Workaround missing S flag in |
| Linux 2.6.12 - 2.6.16 kernel vDSOs. |
| * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise. |
| Remove the psw_addr + 1 hack. |
| |
| 2006-02-27 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-ssa-structalias.c (get_constraint_for): Move code to deal |
| with aggregates here. |
| (find_func_aliases): Remove code for &<aggregate> from here. |
| |
| 2006-02-26 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as |
| (X & C) ne/eq 0, where C is a single bit, i.e. a power of two. |
| Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0" |
| as (X & C) ne/eq 0. |
| |
| 2006-02-26 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/19983 |
| * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes. |
| |
| 2006-02-26 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * opts.c (decode_options): Do not handle flag_strength_reduce. |
| (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt |
| and OPT_fstrength_reduce. |
| * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test |
| flag_prefetch_loop_arrays for being nonzero. |
| * common.opt (floop-optimize, frerun-loop-opt): Resurrected as |
| no-ops. |
| (fprefetch-loop-arrays-rtl): Removed. |
| (flag_prefetch_loop_arrays): Do not specify the value. |
| |
| * doc/passes.texi: Update documentation of loop optimizer |
| passes. |
| * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl, |
| -frerun-loop-opt): Remove. |
| |
| 2006-02-26 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26421 |
| * tree-ssa-alias.c (find_used_portions): Don't treat parameters |
| in function calls that are ADDR_EXPRs as using the whole structure. |
| |
| 2006-02-26 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * common.opt (-floop-optimize, -frerun-loop-opt): Remove. |
| * tree-pass.h (pass_loop_optimize): Remove. |
| * passes.c (pass_loop_optimize): Never run it. |
| * toplev.c (backend_init): Don't call init_loop. |
| * opts.c (flag_loop_optimize_set): Remove. |
| (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt. |
| (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable |
| the old RTL loop optimizer when profiling enabled. |
| * predict.c (tree_estimate_probability): Always strip builtin_expect. |
| * cfgcleanup.c (try_forward_edges): Don't avoid killing loop |
| pre-headers for the sake of the old RTL loop optimizer. |
| * Makefile.in: Remove all references to loop.o. |
| |
| * doc/invoke.texi: Remove all references to -floop-optimize |
| and -frerun-loop-opt. |
| |
| 2006-02-26 Zack Weinberg <zackw@panix.com> |
| |
| * doc/md.texi (Machine Constraints): Refer to all files with paths |
| relative to gcc directory (i.e. config/CPU/file). Add missing |
| @table @code ... @end table to M32C subsection. |
| |
| 2006-02-26 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as |
| (X & 1) == 0. |
| <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0. |
| |
| 2006-02-26 Roger Sayle <roger@eyesopen.com> |
| James A. Morrison <phython@gcc.gnu.org> |
| |
| PR middle-end/21137 |
| * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0, |
| when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the |
| new constant C2<<C1, or as (X<0) or (X,false) depending upon the |
| signedness of the shift operation. |
| |
| 2006-02-26 Dorit Nuzman <dorit@il.ibm.com> |
| |
| PR tree-optimization/26359 |
| * tree-ssa-alias.c (new_type_alias): Set fields for new tag. |
| |
| 2006-02-25 Roger Sayle <roger@eyesopen.com> |
| |
| * simplify-rtx.c (simplify_relational_operation_1): Simplify |
| (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y |
| as X == 0, and some symmetry related transformations. |
| Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line. |
| |
| 2006-02-25 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/23673 |
| * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y |
| and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some |
| symmetry related transformations. Fold (X^C1) == C2 as |
| X == (C1^C2). |
| |
| 2006-02-25 Juergen Weigert <jw@suse.de> |
| Richard Guenther <rguenther@suse.de> |
| |
| * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF. |
| |
| 2006-02-24 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * combine.c (gen_lowpart_or_truncate): Call |
| simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE. |
| |
| 2006-02-24 Diego Novillo <dnovillo@redhat.com> |
| |
| * doc/invoke.texi: Move -fopenmp description to "Options for |
| Code Generation". |
| Remove reference to -lgomp. |
| |
| 2006-02-24 David Edelsohn <edelsohn@gnu.org> |
| |
| * doc/install.texi: Require GNU tar version 1.14. |
| |
| 2006-02-24 Geoffrey Keating <geoffk@apple.com> |
| |
| * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS. |
| * doc/invoke.texi (C++ Dialect Options): Document |
| -fno-use-cxa-get-exception-ptr. |
| * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1. |
| * configure: Regenerate. |
| * c.opt (fuse-cxa-get-exception-ptr): New. |
| * c-opts.c (c_common_handle_option): Handle |
| OPT_fuse_cxa_get_exception_ptr. |
| * c-common.c (flag_use_cxa_atexit): Update documentation. |
| (flag_use_cxa_get_exception_ptr): New. |
| * c-common.h (flag_use_cxa_get_exception_ptr): New. |
| * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve |
| documentation. |
| (C_COMMON_OVERRIDE_OPTIONS): New. |
| |
| 2006-02-24 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/24952 |
| * combine.c (try_combine): Explicitly check whether GET_CODE is |
| a SET or a CLOBBER, instead on checking that it isn't a USE. |
| |
| 2006-02-24 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (fold_comparison): New subroutine of fold_binary |
| containing transformations common to both the equality and |
| ordering relational operators, factored out of fold_binary. |
| (fold_binary): Separate out the equality operators (EQ_EXPR |
| and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR, |
| LE_EXPR and GE_EXPR), calling fold_comparison to perform the |
| transformations common to both. |
| (fold_div_compare): Fix latent bugs in the previously unreachable |
| LT_EXPR and GE_EXPR cases. |
| |
| 2006-02-24 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6000_init_builtins): Change |
| decl libname for clog to __clog on AIX. |
| |
| * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define. |
| |
| 2006-02-24 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/26453 |
| * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't |
| output traceback table for thunks. Localise rs6000_stack_info call. |
| |
| 2006-02-23 Roger Sayle <roger@eyesopen.com> |
| Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * gthr-posix.h (__gthrw): Fix typo in comment. |
| |
| 2006-02-23 Geoffrey Keating <geoffk@apple.com> |
| |
| * doc/cpp.texi (Character sets): Document that we do support |
| input files to be in any character set. |
| |
| 2006-02-23 Jeff Law <law@redhat.com> |
| |
| * tree.h (PHI_ARG_NONZERO): Remove. |
| * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO. |
| (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old |
| node to the new node. |
| |
| PR tree-optimization/26425 |
| * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL |
| min/max, then assume its varying. |
| |
| 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/26316 |
| * rtlanal.c (enum may_trap_p_flags): New. |
| (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore |
| MEM_NOTRAP_P if flags & MTP_AFTER_MOVE. |
| (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1. |
| (may_trap_after_code_motion_p): New function. |
| * loop-invariant.c (find_identical_invariants): Fix dump formating. |
| (find_invariant_insn): Use may_trap_after_code_motion_p. |
| * rtl.h (may_trap_after_code_motion_p): Declare. |
| |
| 2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * emit-rtl.c (immed_double_const): Cleanup. |
| |
| 2006-02-23 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/26376 |
| * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree, |
| remove assert. |
| |
| 2006-02-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/26412 |
| * gimplify.c (omp_add_variable): Guard variable size decl test with |
| DECL_SIZE (decl) check. |
| |
| 2006-02-23 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/26439 |
| * tree-ssa-structalias.c (find_func_aliases): Handle complex types |
| like aggregate types. |
| |
| 2006-02-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * configure.ac: Add --with{,out}-long-double-128 configure option. |
| (TARGET_DEFAULT_LONG_DOUBLE_128): New test. |
| * configure: Rebuilt. |
| * config.in: Rebuilt. |
| * doc/install.texi (Options specification): Document |
| --with-long-double-128. |
| |
| * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128] |
| (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. |
| * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128] |
| (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. |
| |
| 2006-02-23 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/s390/s390.c (override_options): Handle |
| TARGET_DEFAULT_LONG_DOUBLE_128. |
| |
| * config/alpha/alpha.c (override_options): Handle |
| TARGET_DEFAULT_LONG_DOUBLE_128. |
| |
| * config/sparc/sparc.c (sparc_override_options): Handle |
| TARGET_DEFAULT_LONG_DOUBLE_128. |
| |
| 2006-02-22 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR). |
| (real-install-headers-tar, real-install-headers-cpio) |
| (real-install-headers-cp): New targets. |
| |
| 2006-02-22 Richard Sandiford <richard@codesourcery.com> |
| |
| * tree.h (variable_section): Delete. |
| * varasm.c (variable_section): Delete. |
| |
| 2006-02-22 Paolo Bonzini <bonzini@gnu.org> |
| |
| * install.texi: Add notes on install.texi2html. |
| (Building in parallel): Do not use footnotes. |
| |
| 2006-02-21 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR libgomp/26234 |
| * doc/install.texi (Configuration): Document --disable-libgomp. |
| |
| 2006-02-21 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New. |
| |
| 2006-02-21 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/i386/sse.md (vec_extractv2df_1_sse): New. |
| (vec_extractv2df_0_sse): New. |
| |
| 2006-02-21 Alexandre Oliva <aoliva@redhat.com> |
| |
| * defaults.h (CFA_FRAME_BASE_OFFSET): Define. |
| * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override. |
| * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document. |
| * dwarf2out.c (build_cfa_loc): New offset parameter. Add it |
| to the result of the expression. |
| (def_cfa_1): Adjust. |
| (frame_pointer_cfa_offset): Rename to... |
| (frame_pointer_fb_offset): ... this. Adjust all uses. |
| (convert_cfa_to_loc_list): Rename to... |
| (convert_cfa_to_fb_loc_list): ... this. New offset parameter. |
| Pass it on to build_cfa_loc. |
| (compute_frame_pointer_to_cfa_displacement): Rename to... |
| (compute_frame_pointer_to_fb_displacement): ... this. New |
| offset parameter. Use it in computation. |
| (gen_subprogram_die): Compute cfa_fb_offset with the new |
| macro, and use it to compute the fb loc list and the |
| displacement. |
| |
| 2006-02-21 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/bfin/predicates.md (cc_operand): Delete predicate. All uses |
| replaced with register_operand. |
| * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any |
| non-DREG is expensive. |
| * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed. |
| * config/bfin/bfin.md (movbi): Fix constraints and template for moves |
| involving memory. |
| |
| 2006-02-21 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * doc/install.texi2html: Use set -e. |
| |
| 2006-02-21 Richard Sandiford <richard@codesourcery.com> |
| |
| * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) |
| (ASM_OUTPUT_SHARED_LOCAL): Delete. |
| * doc/invoke.texi (-fshared-data): Delete. |
| * common.opt (fshared-data): Delete. |
| * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling. |
| (assemble_static_space): Remove #if 0 code. |
| * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) |
| (ASM_OUTPUT_SHARED_LOCAL): Poison. |
| * config/cris/cris.h: Remove FIXME. |
| |
| 2006-02-21 Paolo Bonzini <bonzini@gnu.org> |
| |
| * doc/sourcebuild.texi (Front End Directory): No more double-colon |
| hooks. |
| |
| 2006-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/26379 |
| * combine.c (simplify_shift_const_1): Disable nested shifts |
| optimization for vector shifts. |
| |
| 2006-02-20 Roger Sayle <roger@eyesopen.com> |
| |
| PR tree-optimization/26361 |
| * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR |
| of unsigned integer types. |
| |
| 2006-02-20 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * tree-chrec.c (eq_evolutions_p): New. |
| * tree-chrec.h (eq_evolutions_p): Declared. |
| * tree-data-ref.c: Fix formatting. |
| (datadep_stats, dependence_stats): New. |
| (gcd): Moved... |
| (print_direction_vector): New. |
| (dump_data_dependence_relation): Use print_direction_vector. |
| (object_analysis, create_data_ref): Handle COMPONENT_REF. |
| (compute_subscript_distance): Static. |
| (initialize_data_dependence_relation): Static. Get the number |
| of loops surrounding the references from the callers, and initialize |
| DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and |
| base_object_differ_p analyzers. |
| (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, |
| compute_overlap_steps_for_affine_1_2, |
| analyze_subscript_affine_affine): Count the classified dependences. |
| Print a message when a test failed. |
| (can_use_analyze_subscript_affine_affine): New. |
| (analyze_siv_subscript): Compute the data dependences on symbolic |
| scevs that verify can_use_analyze_subscript_affine_affine. |
| (chrec_steps_divide_constant_p): Returns true, false, or unknown. |
| (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p. |
| Handle symbolic scevs. |
| (analyze_overlapping_iterations): Let symbolic affine scevs to be |
| analyzed. |
| (subscript_dependence_tester): Moved... |
| (build_classic_dist_vector, build_classic_dir_vector): Don't use |
| lambda_vector_clear on newly allocated vectors. Get nb_loops from |
| DDR_SIZE_VECT instead of getting it in parameter. |
| (subscript_dependence_tester): ... here. Take as a parameter |
| loop_nest_depth. Call build_classic_dist_vector and |
| build_classic_dir_vector. |
| (compute_affine_dependence): Update subscript_dependence_tester |
| parameters. Update datadep_stats counters. Call |
| compute_subscript_distance. |
| (compute_self_dependence): Save the dist and dir vectors. Call |
| compute_subscript_distance. |
| (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved... |
| (compute_all_dependences): Reorder parameters as they were before |
| conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call |
| compute_subscript_distance. Update the use of |
| compute_affine_dependence and initialize_data_dependence_relation. |
| (find_data_references_in_loop): Handle COMPONENT_REF. |
| (compute_data_dependences_for_loop): Initialize dependence_stats. |
| Don't call build_classic_dist_vector and build_classic_dir_vector. |
| Update the parameters of initialize_data_dependence_relation and |
| compute_all_dependences. Print the statistics from datadep_stats. |
| (analyze_all_data_dependences): Static. Not used until the pass for |
| checking the data dependences is contributed. |
| * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p), |
| DEF_VEC_ALLOC_P(ddr_p,heap)): ... here. |
| (initialize_data_dependence_relation, compute_affine_dependence, |
| analyze_all_data_dependences, compute_subscript_distance): Removed. |
| (print_direction_vector): New. |
| * lambda.h (gcd): ... here. |
| (lambda_vector_gcd): Moved here from gcd_vector. |
| * lambda-code.c (gcd, gcd_vector): Removed. |
| (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting. |
| * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H. |
| |
| 2006-02-20 Diego Novillo <dnovillo@redhat.com> |
| |
| * ipa-type-escape.c: Tidy some comments and white space. |
| * tree-ssa-operands.c: Likewise. |
| |
| 2006-02-20 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/25879 |
| * tree-pretty-print.c (debug_tree_chain): Walk the chains. |
| (dump_decl_name): Do not walk the decl tree chains. |
| * tree-pass.h (TDF_CHAIN): Remove. |
| |
| 2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
| |
| * Makefile.in (C): Remove |
| (PROTO): Remove |
| (.PHONY): Remove C and PROTO |
| |
| 2006-02-20 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/26236 |
| * doc/c-tree.texi (INTEGER_TYPE): Remove reference to the now |
| deprecated CHAR_TYPE tree code. |
| |
| 2006-02-20 Paolo Bonzini <bonzini@gnu.org> |
| |
| * configure.ac (target_list): Add install-info, dvi, html. |
| * configure: Regenerate. |
| |
| * ada/Make-lang.in, cp/Make-lang.in, fortran/Make-lang.in, |
| java/Make-lang.in, objc/Make-lang.in, objcp/Make-lang.in, |
| treelang/Make-lang.in: Do not use double-colon rules. |
| |
| 2006-02-20 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree.h (struct tree_memory_tag): Add is_used_alone member. |
| (TMT_USED_ALONE): New macro. |
| * tree-pass.h (PROP_tmt_usage): New property. |
| (TODO_update_tmt_usage): New todo. |
| * tree-ssa-alias.c (updating_used_alone): New variable. |
| (recalculate_used_alone): New function. |
| (compute_may_aliases): Set updating_used_alone, call |
| recalculate_used_alone. |
| * tree-sra.c (pass_sra): Note that this pass destroys |
| PROP_tmt_usage, and add TODO_update_tmt_usage. |
| * tree-ssa-forwprop.c (pass_forwprop): Ditto. |
| * tree-flow.h (updating_used_alone): Prototype. |
| (recalculate_used_alone): Ditto. |
| * passes.c (execute_todo): Add code to set updating_used_alone, |
| and call recalculate. |
| * tree-ssa-operands.c (add_virtual_operand): Only append bare def |
| for clobber if used alone, and add assert to verify used_alone |
| status. |
| |
| 2006-02-20 Angel Nunez Mencias <anunez@de.ibm.com> |
| |
| * config/s390/s390.c (legitimize_pic_address): Assertions checking |
| for non tls symbols added. |
| (legitimize_address): Do nothing for PLUS expressions if one of the |
| addends is a tls symbol reference. |
| |
| 2006-02-20 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR bootstrap/25476 |
| |
| * Makefile.in (LDFLAGS): Define from autoconf substitution. |
| |
| * Makefile.in (BOOTSTRAPPING): New. |
| (quickstrap): New definition if BOOTSTRAPPING=yes. |
| |
| * Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages. |
| * configure.ac: Substitute all_selected_languages with the languages |
| that were configured. For all the other variables except |
| lang_specs_files, include all the languages in the tree. |
| * configure: Regenerate. |
| |
| * Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory, |
| if there is one. Run the commands to run fixincludes in the same |
| subshell. |
| |
| * doc/makefile.texi: Document new makefile targets from toplevel bootstrap. |
| * doc/install.texi: Document exact conventions for searching target tools. |
| Document --with-build-time-tools. Document toplevel bootstrap. Document |
| something more about building an Ada cross-compiler. Don't list GNU Make |
| requirements which affect all platforms. |
| |
| 2006-02-19 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/19543 |
| * varasm.c (compare_constant) <INTEGER_CST>: Integer constants are |
| only equivalent if the have both the same mode and precision. |
| |
| 2006-02-20 Ben Elliston <bje@au.ibm.com> |
| |
| * doc/tree-ssa.texi (Interfaces): Describe low vs. high GIMPLE. |
| |
| 2006-02-19 Roger Sayle <roger@eyesopen.com> |
| Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * gcse.c (want_to_gcse_p): On STACK_REGS targets, look through |
| constant pool references to identify stack mode constants. |
| * rtlanal.c (constant_pool_constant_p): New predicate to check |
| whether operand is a floating point constant in the pool. |
| * rtl.h (constant_pool_constant_p): Prototype here. |
| * loop.c (scan_loop): Avoid hoisting constants from the constant |
| pool on STACK_REGS targets. |
| (load_mems): Likewise. |
| * loop-invariant.c (get_inv_cost): Make hoisting constant pool |
| loads into x87 registers expensive in terms of register pressure. |
| |
| 2006-02-19 Roger Sayle <roger@eyesopen.com> |
| |
| * gthr-posix.h: On Tru64, map __gthr_foo as a weak reference to |
| __foo and not foo when _PTHREAD_USE_MANGLED_NAMES_ is defined. |
| |
| 2006-02-19 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/xcoff.h (TARGET_ASM_OUTPUT_ANCHOR): Define. |
| * config/rs6000/rs6000.c (rs6000_xcoff_asm_output_anchor): Define. |
| |
| 2006-02-19 Daniel Berlin <dberlin@dberlin.org> |
| |
| * doc/invoke.texi: Document -fipa-pta. |
| * common.opt: Add ipa-pta option. |
| * tree-ssa-structalias.c (DONT_PROPAGATE_WITH_ANYTHING): Removed. |
| (do_sd_constraint): Enable DONT_PROPAGATE_WITH_ANYTHING code. |
| (do_ds_constraint): Ditto. |
| (get_constraint_for): Only add to referenced_vars if |
| referenced_vars exists. |
| (insert_into_field_list): Rewrite to do this unsorted. |
| (insert_into_field_list_sorted): Rename old insert_into_field_list |
| to this. |
| (create_function_info_for): Use insert_into_field_list_sorted. |
| (create_variable_info_for): Rewrite so it uses unsorted version, |
| since the field list is sorted. |
| (intra_create_variable_infos): Only add to referenced_vars if |
| referenced_vars exists. |
| (ipa_pta_execute): Init heapvars, and delete when done. |
| * passes.c (init_optimization_passes): Add call to pass_ipa_pta. |
| |
| 2006-02-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * doc/install.texi: Add missing `@samp'. |
| |
| 2006-02-18 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * config/rs6000/darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): |
| Use the arguments. |
| |
| 2006-02-18 Mark Wielaard <mark@klomp.org> |
| |
| * doc/contrib.texi (Contributors): Add classpath/libgcj hackers |
| who added new 4.1 features, bug fixes and integration support. |
| |
| 2006-02-18 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/26350 |
| * config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized |
| MEM for ABI_V4 pic. |
| |
| 2006-02-18 Richard Sandiford <richard@codesourcery.com> |
| |
| * cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE. |
| * emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx. |
| (copy_insn_1): Likewise. Don't copy each field individually. |
| Reindent. |
| * read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead |
| of RTX_SIZE. |
| * reload1.c (eliminate_regs): Use shallow_copy_rtx. |
| * rtl.c (rtx_size): Rename variable to... |
| (rtx_code_size): ...this. |
| (rtx_size): New function. |
| (rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE. |
| (copy_rtx): Use shallow_copy_rtx. Don't copy each field individually. |
| Reindent. |
| (shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE. |
| * rtl.h (rtx_code_size): New variable. |
| (rtx_size): Change from a variable to a function. |
| (RTX_SIZE): Rename to... |
| (RTX_CODE_SIZE): ...this. |
| |
| PR target/9703 |
| PR tree-optimization/17106 |
| * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document. |
| (Anchored Addresses): New section. |
| * doc/invoke.texi (-fsection-anchors): Document. |
| * doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise. |
| (SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise. |
| (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise. |
| * hooks.c (hook_bool_mode_rtx_false): New function. |
| * hooks.h (hook_bool_mode_rtx_false): Declare. |
| * gengtype.c (create_optional_field): New function. |
| (adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when |
| SYMBOL_REF_IN_BLOCK_P is true. |
| * target.h (output_anchor, use_blocks_for_constant_p): New hooks. |
| (min_anchor_offset, max_anchor_offset): Likewise. |
| (use_anchors_for_symbol_p): New hook. |
| * toplev.c (compile_file): Call output_object_blocks. |
| (target_supports_section_anchors_p): New function. |
| (process_options): Check that -fsection-anchors is only used on |
| targets that support it and when -funit-at-a-time is in effect. |
| * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL |
| if the decl doesn't have one. |
| * dwarf2out.c: Remove instantiations of VEC(rtx,gc). |
| * expr.c (emit_move_multi_word, emit_move_insn): Pass the result |
| of force_const_mem through use_anchored_address. |
| (expand_expr_constant): New function. |
| (expand_expr_addr_expr_1): Call it. Use the same modifier when |
| calling expand_expr for INDIRECT_REF. |
| (expand_expr_real_1): Pass DECL_RTL through use_anchored_address |
| for all modifiers except EXPAND_INITIALIZER. Use expand_expr_constant. |
| * expr.h (use_anchored_address): Declare. |
| * loop-unroll.c: Don't declare rtx vectors here. |
| * explow.c: Include output.h. |
| (validize_mem): Call use_anchored_address. |
| (use_anchored_address): New function. |
| * common.opt (-fsection-anchors): New switch. |
| * varasm.c (object_block_htab, anchor_labelno): New variables. |
| (hash_section, object_block_entry_eq, object_block_entry_hash) |
| (use_object_blocks_p, get_block_for_section, create_block_symbol) |
| (use_blocks_for_decl_p, change_symbol_section): New functions. |
| (get_variable_section): New function, split out from assemble_variable. |
| (make_decl_rtl): Create a block symbol if use_object_blocks_p and |
| use_blocks_for_decl_p say so. Use change_symbol_section if the |
| symbol has already been created. |
| (assemble_variable_contents): New function, split out from... |
| (assemble_variable): ...here. Don't output any code for |
| block symbols; just pass them to place_block_symbol. |
| Use get_variable_section and assemble_variable_contents. |
| (get_constant_alignment, get_constant_section, get_constant_size): New |
| functions, split from output_constant_def_contents. |
| (build_constant_desc): Create a block symbol if use_object_blocks_p |
| says so. Or into SYMBOL_REF_FLAGS. |
| (assemble_constant_contents): New function, split from... |
| (output_constant_def_contents): ...here. Don't output any code |
| for block symbols; just pass them to place_section_symbol. |
| Use get_constant_section and get_constant_alignment. |
| (force_const_mem): Create a block symbol if use_object_blocks_p and |
| use_blocks_for_constant_p say so. Or into SYMBOL_REF_FLAGS. |
| (output_constant_pool_1): Add an explicit alignment argument. |
| Don't switch sections here. |
| (output_constant_pool): Adjust call to output_constant_pool_1. |
| Switch sections here instead. Don't output anything for block symbols; |
| just pass them to place_block_symbol. |
| (init_varasm_once): Initialize object_block_htab. |
| (default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK. |
| (default_asm_output_anchor, default_use_aenchors_for_symbol_p) |
| (place_block_symbol, get_section_anchor, output_object_block) |
| (output_object_block_htab, output_object_blocks): New functions. |
| * target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro. |
| (TARGET_ASM_OUT): Include it. |
| (TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro. |
| (TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros. |
| (TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro. |
| (TARGET_INITIALIZER): Include them. |
| * rtl.c (rtl_check_failed_block_symbol): New function. |
| * rtl.h: Include vec.h. Declare heap and gc rtx vectors. |
| (block_symbol, object_block): New structures. |
| (rtx_def): Add a block_symbol field to the union. |
| (BLOCK_SYMBOL_CHECK): New macro. |
| (rtl_check_failed_block_symbol): Declare. |
| (SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags. |
| (SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates. |
| (SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2. |
| (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors. |
| * output.h (output_section_symbols): Declare. |
| (object_block): Name structure. |
| (place_section_symbol, get_section_anchor, default_asm_output_anchor) |
| (default_use_anchors_for_symbol_p): Declare. |
| * Makefile.in (RTL_BASE_H): Add vec.h. |
| (explow.o): Depend on output.h. |
| * config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default. |
| (TARGET_MAX_ANCHOR_OFFSET): Likewise. |
| (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. |
| (rs6000_use_blocks_for_constant_p): New function. |
| |
| 2006-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0. |
| |
| 2006-02-18 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/25680 |
| * tree-ssa-ccp.c (ccp_fold): Handle store CCP of REALPART_EXPR and |
| IMAGPART_EXPR. |
| |
| 2006-02-18 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-flow.h (struct var_ann_d): Rename field is_alias_tag to |
| is_aliased. |
| Update all users. |
| |
| 2006-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/26334 |
| * stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER |
| instead of DECL_REGISTER. |
| |
| 2006-02-18 Olivier Hainque <hainque@adacore.com> |
| |
| PR ada/13408 |
| * pa.h (WIDEST_HARDWARE_FP_SIZE): Define. |
| |
| 2006-02-18 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR target/24837 |
| * config.gcc: Define UCLIBC_DEFAULT to 0 or 1. |
| * opth-gen.awk: Handle Var and InverseMask together. |
| * config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc). |
| * config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT. |
| (TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC. |
| (CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc |
| used together. |
| (UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, |
| LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. |
| * config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER, |
| UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, |
| LINUX_DYNAMIC_LINKER): Define. |
| (ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER. |
| * config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to |
| TARGET_GLIBC. |
| * config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option. |
| * config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| (TARGET_C99_FUNCTIONS): Don't define. |
| * config/i386/linux.h (DYNAMIC_LINKER): Rename to |
| GLIBC_DYNAMIC_LINKER. |
| (SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER. |
| * config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32, |
| GLIBC_DYNAMIC_LINKER64): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and |
| LINUX_DYNAMIC_LINKER64. |
| * config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| * config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| * config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| * config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32, |
| GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32, |
| UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64 |
| and LINUX_DYNAMIC_LINKER32. |
| * config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| * config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to |
| TARGET_GLIBC. |
| * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise. |
| (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64, |
| UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, |
| CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, |
| LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. |
| (LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32. |
| (LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64. |
| * config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER, |
| UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, |
| LINUX_DYNAMIC_LINKER): Define. |
| (LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE. |
| * config/s390/linux.h (GLIBC_DYNAMIC_LINKER32, |
| GLIBC_DYNAMIC_LINKER64): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and |
| LINUX_DYNAMIC_LINKER64. |
| * config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| * config/sparc/linux.h (GLIBC_DYNAMIC_LINKER, |
| UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, |
| LINUX_DYNAMIC_LINKER): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. |
| * config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32, |
| GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32, |
| UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER, |
| LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. |
| (LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32. |
| (LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64. |
| (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. |
| * config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| * doc/invoke.texi (-muclibc): Remove caveat about supported |
| targets. |
| |
| 2006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> |
| |
| * doc/cpp.texi (__TIMESTAMP__): Document. |
| |
| 2006-02-17 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/25600 |
| * fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when |
| C is one less than the width of X (and related transformations). |
| * simplify-rtx.c (simplify_unary_operation_1): Transform |
| (neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C) |
| depending on STORE_FLAG_VALUE, were C is one less then the |
| width of X. |
| |
| 2006-02-17 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/26341 |
| * tree-ssa-operands.c (add_virtual_operand): Remove assert |
| about NAME_MEMORY_TAG's. |
| |
| 2006-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/26255 |
| * pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit |
| with hardware float support, and software float support. Add fcpy |
| alternative to hardware patterns. Add alternatives to copy between |
| general and floating-point registers to the 32-bit pattern. |
| * pa.c (pa_secondary_reload): Don't abort if reload tries to find a |
| secondary reload to load a QI or HI mode constant into a floating |
| point register. |
| * pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode. |
| * pa64-regs.h (VALID_FP_MODE_P): Likewise. |
| |
| 2006-02-17 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/26272 |
| * config/rs6000/darwin.md (load_macho_picbase_si): Add |
| pc to the pattern. |
| (load_macho_picbase_di): Likewise. |
| |
| 2006-02-16 Jeff Law <law@redhat.com> |
| |
| * tree-vrp.c (set_value_range_to_nonnegative): New function. |
| (vrp_expr_computes_nonnegative, ssa_name_nonnegative_p): Likewise. |
| (ssa_name_nonzero_p): Likewise. |
| (get_value_range): Return NULL if VRP is not running. |
| (extract_range_from_expr): Fallback to tree_expr_XXX_p if |
| VRP routines do not discover a range. |
| (vrp_finalize): Clear VR_VALUE to indicate VRP is not running. |
| * tree.h (ssa_name_nonzero_p, ssa_name_nonnegative_p): Prototype. |
| * fold-const.c (tree_expr_nonzero_p): For SSA_NAMEs, query VRP. |
| (tree_expr_nonnegative_p): Similarly. |
| * tree-ssa-dom.c (nonzero_vars, nonzero_vars_stack): Remove. |
| (restore_nonzero_vars_to_original_value): Remove. |
| (unsafe_associative_fp_binop): Remove. |
| (tree_ssa_dominator_optimize): Remove initialization and |
| finalization of nonzero_vars and nonzero_vars_stack. |
| (dom_opt_initialize_block): No longer push marker on |
| nonzero_vars_stack. |
| (dom_opt_finalize_block): No longer call |
| restore_nonzero_vars_to_original_value. |
| (record_equivalences_from_phis): No longer look for |
| nonzero PHI arguments. |
| (cprop_into_successor_phis): No longer propagate nonzero |
| property into PHI arguments. Lose unused argument. Caller |
| updated. |
| (record_equivalences_from_stmt): No longer record nonzero |
| values for SSA_NAMEs. |
| (lookup_avail_expr): No longer use nonzero_vars. |
| |
| * stor-layout.c (set_sizetype): Set TYPE_MAX_VALUE properly |
| for sizetype when sizetype is unsigned. |
| |
| 2006-02-16 Denis Nagorny <denis_nagorny@linux.intel.com> |
| |
| PR rtl-optimization/25603 |
| * reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note. |
| (regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case. |
| * reload1.c (choose_reload_regs): Added call of regno_clobbered_p |
| with new meaning of SETS. |
| |
| 2006-02-16 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR target/20353 |
| PR target/24578 |
| PR target/24837 |
| * config/linux.opt: New file. |
| * config/linux.h (CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, |
| LINUX_DYNAMIC_LINKER): Define. |
| (TARGET_C99_FUNCTIONS): Define depending on TARGET_GLIBC. |
| * config.gcc (*-*-linux*): Define extra_options. |
| (*-*-*uclibc*): Define UCLIBC_DEFAULT. |
| (arm*-*-linux-gnueabi): Change to arm*-*-linux-*eabi. |
| * config/arm/linux-eabi.h (LINUX_TARGET_INTERPRETER): Change to |
| GLIBC_DYNAMIC_LINKER. |
| * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): Likewise. |
| (LINUX_TARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| * config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Define. |
| (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. |
| * doc/invoke.texi (GNU/Linux Options): New section. |
| |
| 2006-02-16 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.md (setjmp): Rewrite. |
| (setjmp_32): Delete. |
| (setjmp_64): Likewise. |
| |
| 2006-02-16 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-ssa-operands.c (access_can_touch_variable): Fix typo in |
| previous change. |
| |
| 2006-02-16 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * loop-invariant.c (invariant_for_use, check_dependencies): Fail for |
| read-write uses. |
| |
| 2006-02-16 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/26296 |
| * Makefile.in (loop-invariant.c): Add except.h dependency. |
| * loop-invariant.c: Include except.h. |
| (find_invariant_insn): Ignore insns satisfying can_throw_internal. |
| |
| 2006-02-16 Paul Brook <paul@codesourcery.com> |
| |
| * reload1.c (emit_reload_insns): Invalidate dead input registers used |
| for reloads. |
| |
| 2006-02-16 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| PR rtl-optimization/25636 |
| * local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test |
| when deciding whether an insn is an initializing insn. |
| |
| 2006-02-15 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree.c (init_ttree): Add STRUCT_FIELD_TAG handling. |
| (tree_code_size): Ditto. |
| * tree.h (struct tree_memory_tag): Remove parent_var. |
| (struct tree_struct_field_tag): New. |
| (SFT_OFFSET): New. |
| (SFT_SIZE): New. |
| (union tree_node): Add sft member. |
| * tree-ssa-alias.c (get_tmt_for): Don't handle TYPE_READONLY |
| specially here. |
| (create_sft): Add size and offset argument, set SFT_OFFSET and |
| SFT_SIZE. |
| (create_overlap_variables_for): Update for SFT_OFFSET/SFT_SIZE. |
| * treestruct.def: Add TS_STRUCT_FIELD_TAG. |
| * tree-flow-inline.h (get_subvar_at): Update for |
| SFT_OFFSET/SFT_SIZE. |
| (var_can_have_subvars): Ditto. |
| (overlap_subvar): Ditto. |
| * print-tree.c (print_node): Print out interesting things for |
| SFT's. |
| * tree-flow.h (struct subvar): Remove offset and size members. |
| * tree-ssa-operands.c (get_expr_operands): Update for |
| get_indirect_ref_operands changes. |
| (get_indirect_ref_operands): Call add_virtual_operand instead of |
| add_stmt_operand. Only recurse on base var if requested. |
| (access_can_touch_variable): New function. |
| (add_stmt_operand): Split virtual operand handling into ... |
| (add_virtual_operand): Here. Add offset, size, and for_clobber |
| arguments. Prune alias sets. |
| (add_call_clobber_ops): Call add_virtual_operand. |
| |
| 2006-02-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/26300 |
| * combine.c (make_extraction): Bail out if ORIG_POS is negative. |
| |
| * tree.h (struct tree_omp_clause): Use OMP_CLAUSE_CODE rather |
| than TREE_CODE as index into omp_clause_num_ops array. |
| |
| 2006-02-15 Uttam Pawar <uttamp@us.ibm.com> |
| |
| PR rtl-optimization/26184 |
| * modulo-sched.c (generate_reg_moves): Free bitmap vector |
| uses_of_defs. |
| * modulo-sched.c (sms_schedule): Free g_arr pointer. |
| * modulo-sched.c (sms_schedule_by_order): Free bitmap pointers |
| must_precede, must_follow and tobe_scheduled. |
| |
| PR other/26147 |
| * opts.c (common_handle_option): Free new_option pointer. |
| * df-core.c (df_analyze): Free postorder pointer. |
| |
| 2006-02-15 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> |
| |
| * Makefile.in: Fix the examples about the use of stamps |
| |
| 2006-02-15 Michael Matz <matz@suse.de> |
| |
| PR middle-end/22275 |
| |
| * stor-layout.c (layout_decl): Zero-width bitfields aren't |
| influenced by maximum_field_alignment or DECL_PACKED. |
| (update_alignment_for_field): Ditto. |
| (place_field): Ditto. |
| * doc/extend.texi (<#pragma pack>, <Type Attributes>): Document |
| this behaviour. |
| |
| 2006-02-15 Paolo Bonzini <bonzini@gnu.org> |
| |
| * cfg.c (dump_flow_info): Get dump flags as an additional parameter. |
| (debug_flow_info): Pass it. |
| * alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info. |
| * bb-reorder.c (reorder_basic_blocks): Likewise. |
| * cfgcleanup.c (rest_of_handle_jump2): Likewise. |
| * cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise. |
| * flow.c (life_analysis, recompute_reg_usage): Likewise. |
| * gcse.c (gcse_main, bypass_jumps): Likewise. |
| * ifcvt.c (rest_of_handle_if_conversion): Likewise. |
| * local-alloc.c (rest_of_handle_local_alloc): Likewise. |
| * loop-init.c (rtl_loop_init, rtl_loop_done): Likewise. |
| * profile.c (compute_branch_probabilities, branch_prob): Likewise. |
| * rtl.h (dump_flow_info): Adjust prototype. |
| * tracer.c (rest_of_handle_tracer, tracer): Likewise. |
| * var-tracking.c (variable_tracking_main): Likewise. |
| * passes.c (execute_todo): Obey TDF_BLOCKS for RTL. |
| * tree-dump.c (enable_rtl_dump_file): Enable the details and blocks |
| options. |
| |
| 2006-02-15 Marcin Dalecki <martin@dalecki.de> |
| |
| * tree-ssa-dom.c (dom_thread_across_edge): fix tag expression |
| construction. |
| |
| 2006-02-14 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/26209 |
| * tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg. |
| * tree-cfgcleanup.c (cleanup_control_flow): Remove dead |
| eh edges. |
| * tree-cfg.c (replace_uses_by): Do not alter cfg. |
| |
| 2006-02-14 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/23670 |
| * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into |
| (X,Y) and the corresponding symmetry related transformations. |
| (fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into |
| (X,Y) and its symmetry related transformations. |
| |
| 2006-02-14 Roger Sayle <roger@eyesopen.com> |
| |
| * dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU |
| and GEU. |
| |
| 2006-02-14 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE. |
| |
| 2006-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| PR bootstrap/26053 |
| * configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers |
| support COMDAT group. |
| * configure: Regenerate. |
| |
| 2006-02-14 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/26279 |
| PR middle-end/26280 |
| PR middle-end/26283 |
| * dojump.c (do_compare_rtx_and_jump): Handle multi-word LE. |
| |
| 2006-02-14 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/26260 |
| |
| * doc/invoke.texi (max-fields-for-field-sensitive): Document |
| param. |
| * params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New. |
| * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto. |
| * tree-ssa-structalias.c (create_variable_info_for): Use |
| MAX_FIELDS_FOR_FIELD_SENSITIVE. |
| |
| 2006-02-14 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl): |
| Document. |
| * tree-ssa-loop-niter.c (number_of_iterations_ne, |
| number_of_iterations_lt, number_of_iterations_cond): Remember the shape |
| of the ending condition. |
| * tree-ssa-loop-manip.c: Include params.h. |
| (build_if_stmt, can_unroll_loop_p, determine_exit_conditions, |
| tree_unroll_loop): New functions. |
| * tree-pass.h (pass_loop_prefetch): Declare. |
| * loop.c (rest_of_handle_loop_optimize): Test for |
| -fprefetch-loop-arrays-rtl. |
| * tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h. |
| * timevar.def (TV_TREE_PREFETCH): New timevar. |
| * tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch, |
| pass_loop_prefetch): New. |
| * tree-cfgcleanup.c: Include tree-scalar-evolution.h. |
| (cleanup_tree_cfg_loop): Call scev_reset. |
| * common.opt (fprefetch-loop-arrays-rtl): Add. |
| * tree-ssa-loop-prefetch.c: New file. |
| * tree-outof-ssa.c (struct value_expr_d): Add expr_vars field. |
| (new_temp_expr_table): Initialize expr_vars. |
| (free_temp_expr_table): Cleanup expr_vars. |
| (check_replaceable, find_replaceable_in_bb): Prevent accumulating |
| expressions from being merged into one. |
| * tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h. |
| (struct tree_niter_desc): Add control, bound and cmp fields. |
| (tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop): |
| Declare. |
| * Makefile.in (tree-ssa-loop-prefetch.o): Add. |
| (tree-cfgcleanup.o): Add SCEV_H dependency. |
| (tree-ssa-loop-manip.o): Add PARAMS_H dependency. |
| * passes.c (init_optimization_passes): Add pass_loop_prefetch. |
| |
| 2006-02-14 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/26258 |
| * tree-ssa-structalias.c (find_func_aliases): Handle aggregates |
| in PHI argument processing. |
| |
| 2006-02-13 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return |
| new expression in the requested machine mode. |
| |
| 2006-02-13 Roger Sayle <roger@eyesopen.com> |
| |
| * optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx |
| directly, instead let do_compare_rtx_and_jump handle this for us. |
| * expr.c (expand_expr_real_1): Likewise. |
| * dojump.c (do_jump_by_parts_greater_rtx): Make static. Move |
| before do_jump_by_parts_greater. |
| (do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx. |
| * expr.h (do_jump_by_parts_greater_rtx): Delete prototype. |
| |
| 2006-02-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa/quadlib.c: Use defines instead of enum qfcmp_magic. |
| |
| 2006-02-13 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/26235 |
| * loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats. |
| (invariant_expr_equal_p): Handle 'i' and 'n' formats. Fail on unknown |
| format. |
| |
| 2006-02-13 Jeff Law <law@redhat.com> |
| |
| * tree-vrp.c (extract_range_from_binary_expr): Remove handling of |
| TRUTH_XOR_EPR. |
| |
| 2006-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/26092 |
| * gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl |
| twice if decl is a builtin. When trying again, call get_callee_fndecl |
| first to verify it is still a builtin. |
| |
| 2006-02-13 Geoffrey Keating <geoffk@apple.com> |
| |
| * dwarf2out.c (base_type_die): Don't add AT_name here. |
| (subrange_type_die): Don't add AT_name here. |
| (modified_type_die): Rearrange code flow. Do add AT_name here. |
| |
| 2006-02-13 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/26247 |
| PR rtl-optimization/26248 |
| * loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode. |
| |
| 2006-02-13 Richard Sandiford <richard@codesourcery.com> |
| |
| * config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113. |
| * config/fixtfdi.c: Likewise. |
| * config/fixunstfdi.c: Likewise. |
| * config/floatditf.c: Likewise. |
| |
| 2006-02-13 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/24427 |
| * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2 |
| into (X,C2) if C1 is a subset of the bits of C2. Transform |
| (X&C1)|C2 into X|C2 if C1|C2 == ~0. Canonicalize (X&C1)|C2 as |
| (X&(C1&~C2))|C2. |
| <BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2). |
| |
| 2006-02-13 Josh Conner <jconner@apple.com> |
| |
| PR target/25376 |
| * varasm.c (function_section): Check for section name before |
| calling select_section on targets that define |
| USE_SELECT_SECTION_FOR_FUNCTIONS. On other targets, use |
| unlikely_text_section instead of hot_function_section if |
| first_function_block_is_cold. |
| |
| 2006-02-13 J"orn Rennecke <joern.rennecke@st.com> |
| |
| PR middle-end/25335 |
| * reload1.c (gen_reload): Also use find_replacement in UNARY_P case. |
| |
| 2006-02-12 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/26222 |
| * function.c (assign_stack_temp_for_type): Do not reuse stack slots |
| after tree->rtl expansion. |
| * loop-invariant.c (move_invariant_reg): Use force_operand on rhs |
| before passing it to emit_move_insn. |
| |
| 2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net> |
| |
| * doc/invoke.texi (-Write-strings): Document that it is enabled by |
| default. |
| * c.opt (-Wwrite-strings): Declare variable warn_write_strings. |
| Clarify documentation. |
| * c-common.h (warn_write_strings): Remove. |
| * c-common.c (warn_write_strings): Likewise. |
| * c-opts.c (c_common_init_options): Enable -Wwrite-strings by |
| default for C++. |
| |
| 2006-02-12 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/25724 |
| * dojump.c (do_jump): Call do_compare_rtx_and_jump. |
| (do_jump_parts_zero_rtx): New function renamed from |
| do_jump_parts_equality_rtx. Made static. Add a mode argument. |
| (do_jump_parts_equality_rtx): New function split out from |
| do_jump_parts_equality. Old implementation renamed as above. |
| Call do_jump_parts_zero_rtx if either operand is zero. |
| (do_jump_parts_equality): Call do_jump_parts_equality_rtx to |
| do all of the heavy lifting. |
| (do_compare_rtx_and_jump): Handle multi-word comparisons by |
| calling either do_jump_by_parts_greater_rtx or |
| do_jump_by_parts_equality_rtx. |
| * expr.h (do_jump_by_parts_equality_rtx): Remove prototype. |
| * expmed.c (do_cmp_and_jump): Now multi-word optimization has |
| moved to do_compare_rtx_and_jump, call it directly. |
| * stmt.c (do_jump_if_equal): Remove static prototype. Add a |
| mode argument. Call do_compare_rtx_and_jump. |
| (emit_case_nodes): Update calls to do_jump_if_equal. |
| |
| 2006-02-12 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/26225 |
| * loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands. |
| |
| 2006-02-12 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/26232 |
| * loop-invariant.c (find_invariant_insn): Ignore insns that set CC0. |
| |
| 2006-02-11 Jason Merrill <jason@redhat.com> |
| |
| PR tree-opt/24365 |
| * tree-inline.c (declare_return_variable): Just don't use the |
| modify target if it's a gimple complex reg and the return slot |
| isn't. |
| |
| 2006-02-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * doc/contrib.texi: Update my entry. |
| |
| 2006-02-10 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/i386/darwin.h (DBX_REGISTER_NUMBER): Define. |
| |
| 2006-02-10 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-inline.c (estimate_num_insns_1): Make OpenMP directives |
| expensive. |
| |
| 2006-02-10 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * doc/invoke.texi (-floop-optimize2): Removed. |
| * toplev.c (process_options): Remove handling of flag_loop_optimize2. |
| * loop-init.c (gate_handle_loop2): Do not test flag_loop_optimize2. |
| Test flag_branch_on_count_reg only if HAVE_doloop_end. |
| * common.opt (floop-optimize2): Removed. |
| (fmove-loop-invariants): Enabled by default. |
| |
| 2006-02-10 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * tree-if-conv.c (combine_blocks): Free the result of |
| get_loop_exit_edges. |
| |
| 2006-02-10 Jeff Law <law@redhat.com> |
| |
| * fold-const.c (tree_expr_nonzero_p): Fix thinko. |
| |
| PR tree-optimization/26213 |
| * tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not |
| loop trying to follow SSA_NAME_VALUE chains. |
| |
| 2006-02-10 Richard Guenther <rguenther@suse.de> |
| |
| * tree-dfa.c (get_ref_base_and_extent): When computing maxsize |
| deal with structures that end in implicitly variable sized arrays. |
| |
| 2006-02-09 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/24762 |
| * df-scan.c (df_bb_refs_record): Record correct registers defined on |
| eh edges. |
| |
| 2006-02-09 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed. |
| (struct ivopts_data): Add regs_used field. |
| (tree_ssa_iv_optimize_init): Do not allocate aux fields for loops. |
| (ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used |
| instead of loop_data->regs_used; |
| (free_loop_data): Do not free aux fields for loops. |
| (tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init |
| and tree_ssa_iv_optimize_finalize. |
| |
| 2006-02-09 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE. |
| |
| 2006-02-09 J"orn Rennecke <joern.rennecke@st.com> |
| |
| PR target/26141 |
| * sh.c (sh_gimplify_va_arg_expr): Don't change the result type when |
| computing the effective result type. |
| |
| 2006-02-09 J"orn Rennecke <joern.rennecke@st.com> |
| |
| PR inline-asm/16194 |
| * tree.h (decl_overlaps_hard_reg_set_p) Don't declare. |
| (tree_overlaps_hard_reg_set): Declare. |
| * stmt.c (decl_overlaps_hard_reg_set_p): Now static. Change return |
| type and signature to match function type expected by walk_tree. |
| (tree_overlaps_hard_reg_set): New function. |
| (decl_conflicts_with_clobbers_p): Rename to: |
| (tree_conflicts_with_clobbers_p). Take HARD_REG_SET * argument. |
| Use tree_overlaps_hard_reg_set. Changed caller. |
| * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace |
| decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set. |
| * cris.c (cris_md_asm_clobbers): Likewise. |
| |
| 2006-02-09 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * reload1.c (emit_input_reload_insns): Delete code that tries to |
| inherit using find_equiv_reg. |
| |
| 2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net> |
| |
| * c-common.h (flag_const_strings): Don't declare. |
| * c-common.c (flag_const_strings): Remove. |
| * c.opt (fconst_strings): Remove. |
| * c-opts.c (c_common_handle_option): Remove <OPT_fconst_strings>. |
| <OPT_Wwrite_strings>: Don't set flag_const_strings. |
| (c_common_init_options): Don't set flag_const_strings. |
| * doc/invoke.texi (-fno-const-strings): Remove documentation. |
| |
| 2006-02-09 Richard Earnshaw <richard.earnshaw@arm.com> |
| |
| * arm.md (tlobits_cbranch): New pattern. |
| * arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if |
| testing a single bit. |
| |
| 2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/26179 |
| * tree-ssa-pre.c (create_component_ref_by_pieces): |
| Handle RETURN_DECL like VAR_DECL. |
| |
| 2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/26134 |
| * fold-const.c (fold_indirect_ref_1): Fold |
| "*(foo *)&complexfoo" to "__real__ complexfoo" |
| and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo". |
| |
| 2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * tree-flow-inline.h (var_can_have_subvars): |
| Volatile variables should not have subvariables. |
| |
| 2006-02-09 Diego Novillo <dnovillo@redhat.com> |
| |
| PR 26180 |
| * tree-vrp.c (vrp_int_const_binop): Detect overflow when |
| multiplying unsigned values. |
| Tidy comments. |
| |
| 2006-02-09 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.c (tls_call_delay): Fix oversight. |
| |
| 2006-02-08 Jason Merrill <jason@redhat.com> |
| |
| PR c++/25979 |
| * tree.def: Elaborate on difference from MODIFY_EXPR. |
| * doc/c-tree.texi (INIT_EXPR): Likewise. |
| * gimplify.c (internal_get_tmp_var): Use INIT_EXPR. |
| (gimplify_decl_expr, gimplify_init_ctor_eval): Likewise. |
| (gimplify_target_expr): Likewise. |
| (gimplify_cond_expr): Remove target handling. |
| (gimplify_modify_expr): Don't clobber INIT_EXPR code here. |
| (gimplify_expr): Clobber it here. |
| (gimplify_modify_expr_rhs): Push assignment into COND_EXPR here. |
| Do return slot optimization if we have an INIT_EXPR. |
| |
| PR tree-opt/24365 |
| * tree-inline.c (declare_return_variable): Also clear |
| DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case. |
| |
| PR c++/16405 |
| * gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling. |
| |
| PR middle-end/22439 |
| * gimplify.c (gimplify_one_sizepos): Fix typo. |
| |
| 2006-02-08 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/21417 |
| * tree-ssa-threadedge.c (thread_across_edge): Reject threading |
| across a backedge if the control statement at the end of the |
| block is data dependent on other statements in the same block. |
| (record_temporary_equivalences_from_stmts): Remove over-conservative |
| test for threading across backedges. |
| |
| * tree-ssa-dce.c (remove_dead_statement): When removing a dead |
| control statement, handle all three special cases in the same |
| manner as they all have the same desired solution. No longer |
| special case edge flag updating when the post dominator is |
| the exit block. |
| |
| 2006-02-08 Roger Sayle <roger@eyesopen.com> |
| |
| * tree.def (CHAR_TYPE): Remove. |
| * dbxout.c (dbxout_type): Delete dead handling of CHAR_TYPE. |
| * dwarf2out.c (base_type_die, is_base_type): Likewise. |
| (gen_type_die) <ARRAY_TYPE>: Remove handling of CHAR_TYPE arrays. |
| (gen_string_type_die): Delete unreachable function. |
| |
| * tree-pretty-print.c (dump_generic_node): Don't handle CHAR_TYPE. |
| * tree.c (build_int_cst_wide, type_contains_placeholder_1, |
| type_hash_eq, variably_modified_type_p, walk_type_fields): Likewise. |
| * tree.h (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Likewise. |
| * builtins.c (type_to_class): Likewise. |
| * fold-const.c (fold_convert, build_range_check, |
| merge_ranges): Likewise. |
| * expr.c (count_type_elements): Likewise. |
| * c-pretty-print.c (pp_c_type_specifier): Likewise. |
| * stor-layout.c (layout_type): Likewise. |
| * ipa-type-escape.c (type_to_consider): Likewise. |
| * gimplify.c (omp_firstprivatize_type_sizes, |
| gimplify_type_sizes): Likewise. |
| * explow.c (promote_mode): Likewise. |
| * tree-sra.c (is_sra_scalar_type): Likewise. |
| * varasm.c (output_constant): Likewise. |
| * tree-inline.c (remap_type_1): Likewise. |
| * convert.c (convert_to_pointer, convert_to_real, |
| convert_to_integer, convert_to_complex): Likewise. |
| |
| 2006-02-08 Daniel Berlin <dberlin@dberlin.org> |
| |
| * df-scan.c (df_def_record_1): A set destination may |
| be a parallel regardless of mode. |
| |
| 2006-02-08 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/22209 |
| * config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc. |
| * config/mips/_tilib.c: Remove. |
| * config/fixtfdi.c: New libgcc source file. |
| * config/fixunstfdi.c: New source file. |
| * config/floatditf.c: New source file. |
| * config/floatunditf.c: New souce file. |
| * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source |
| files above instead of config/mips/_tilib.c. |
| * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise. |
| |
| 2006-02-08 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/26169 |
| * tree-vrp.c (execute_vrp): Perform any queued SSA updates before |
| threading jumps. |
| |
| 2006-02-08 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * df.h (DF_REG_SIZE): Return the length of the initialized |
| part of the array. |
| |
| 2006-02-08 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3, |
| __muldf3): Return a correctly signed zero. |
| |
| 2006-02-08 Paolo Bonzini <bonzini@gnu.org> |
| |
| * passes.c (register_one_dump_file): Accept the current properties |
| instead of pass number. Adjust call to dump_register. Remove |
| duplicated code. |
| (register_dump_files): Now a wrapper around... |
| (register_dump_files_1): ... this one. Do not modify the pass |
| structure. |
| (next_pass_1): Cosmetic fix. |
| (execute_todo): Keep second parameter only. Use curr_properties |
| instead of fetching it from the pass structure. Check and set |
| last_verified. |
| (execute_one_pass): Handle TODO_set_props. Use curr_properties |
| instead of fetching it from the pass structure. Fix calls to |
| execute_todo. Update curr_properties and initialize .vcg RTL dump |
| after running the pass. Reset last_verified. |
| * tree-dump.c (dump_files): Renumber consecutively. Put .cgraph dump |
| at the beginning. |
| (FIRST_AUTO_NUMBERED_DUMP): New. |
| (dump_register): Remove "num" parameter, assign it within the |
| function. |
| (get_dump_file_name): Modify template for dumps. |
| * tree-dump.h (dump_register): Adjust prototype. |
| * tree-pass.h (enum tree_dump_index): Move cgraph at the beginning. |
| (PROP_trees): Add PROP_gimple_lomp. |
| (TODO_set_props): New. |
| * gimple-low.c (pass_lower_cf): Do not destroy PROP_gimple_lcf. |
| * tree-eh.c (pass_lower_eh): Do not destroy PROP_gimple_leh. |
| * cfgexpand.c (pass_expand): Destroy PROP_trees. |
| |
| 2006-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file. |
| (sparc64-*-linux*): Likewise. |
| * config/sparc/t-linux64 (SHLIB_MAPFILES): Removed. |
| * config/sparc/t-linux: New file. |
| * config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi, |
| __floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128. |
| (__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if |
| -m32 -mlong-double-128. |
| |
| * config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file. |
| * config/alpha/t-linux: New file. |
| * config/alpha/libgcc-alpha-ldbl.ver: New file. |
| |
| * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define |
| __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128. |
| (CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here. |
| * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define |
| __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32. |
| (CPP_ARCH32_SPEC): Remove. |
| |
| 2006-02-07 Uttam Pawar <uttamp@us.ibm.com> |
| |
| PR tree-optimization/26145 |
| * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free |
| bbs pointer. |
| |
| 2006-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/26109 |
| * pa.c (attr_length_indirect_call): Don't return length 8 for distances |
| >= 240000 when generating code for SOM runtime. |
| (output_indirect_call): Don't use "b,l" instruction for indirect calls |
| to $$dyncall when generating code for SOM runtime.. |
| |
| 2006-02-07 Dirk Mueller <dmueller@suse.com> |
| |
| PR c++/18150 |
| * doc/invoke.texi (-Wsequence-point): Update documentation |
| that -Wsequence-point is implemented for C++ as well. |
| |
| 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread. |
| * config/sol2.h (CPP_SUBTARGET_SPEC): Likewise. |
| (LIB_SPEC): Likewise. |
| * doc/invoke.texi (SPARC options): Document -pthread. |
| |
| 2006-02-07 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/i386/i386.c (ix86_delegitimize_address): Support Darwin |
| PIC addresses. |
| |
| 2006-02-07 Roger Sayle <roger@eyesopen.com> |
| |
| * config/sparc/sparc.c (sparc_type_code): Don't handle CHAR_TYPE. |
| Correct comment describing BOOLEAN_TYPE. |
| |
| 2006-02-07 Dirk Mueller <dmueller@suse.com> |
| |
| * c.opt: C++ frontend supports -Wdiv-by-zero. |
| * c-opts.c (c_common_handle_option): Remove dead case. |
| |
| 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * configure.ac (TLS assembler check): Do not enable TLS by |
| default on SPARC/Solaris before version 10. |
| * configure: Regenerate. |
| |
| 2006-02-07 David Edelsohn <edelsohn@gnu.org> |
| |
| * doc/invoke.texi (xl-compat): Document conversion and support |
| routine names. |
| |
| 2006-02-07 Jeff Law <law@redhat.com> |
| |
| * tree-vrp.c (find_conditional_asserts): Update comments. |
| (simplify_stmt_for_jump_threading): New. |
| (identify_jump_threads, finalize_jump_threads): New. |
| (vrp_finalize): Call identify_jump_threads. |
| (execute_vrp): Call finalize_jump_threads. |
| * tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field. |
| (vrp_element, vrp_data, vrp_element_p): Remove. |
| (vrp_hash_elt, vrp_variables_stack): Remove. |
| (vrp_hash, vrp_eq, record_range): Remove. |
| (simplify_cond_and_lookup_avail_expr): Remove. |
| (extract_range_from_cond): Remove. |
| (thread_across_edge): Relocated into tree-ssa-threadedge.c. |
| (simplify_stmt_for_jump_threading): New. |
| (dom_thread_across_edge): New wrapper. |
| (tree_ssa_dominator_optimize): No longer initialize or |
| finalize any of the VRP datastructures. Remove iteration |
| step and simplify as a result of removal of iteration step. |
| (pass_dominator): Perform a cfg cleanup after DOM. |
| (dom_opt_finalize_block): Use the new common routines |
| for threading jumps. Simplify stack management slightly. |
| No longer need to unwind VRP state. |
| (record_equivalences_from_incoming_edge): No longer record |
| VRP information. |
| (eliminate_redundant_computations): No longer call |
| simplify_cond_and_lookup_avail_expr. |
| * tree-flow.h (potentially_threadable_block): Prototype. |
| (thread_across_edge): Likewise. |
| * Makefile.in (OBJS-common): Add tree-ssa-threadedge.o |
| (tree-ssa-threadedge.o): Add dependencies. |
| * tree-ssa-threadedge.c: New file. |
| * passes.c (init_optimization_passes): Merge PHIs before |
| calling VRP. Run VRP again late in the SSA optimization pipeline. |
| |
| 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * df-core.c (df_set_blocks): Do not dereference function pointers. |
| (df_finish1): Likewise. |
| (df_hybrid_search_forward): Likewise. |
| (df_hybrid_search_backward): Likewise. |
| (df_iterative_dataflow): Likewise. |
| (df_analyze_problem): Likewise. |
| (df_compact_blocks): Likewise. |
| (df_dump): Likewise. |
| * df-scan.c (df_rescan_blocks): Likewise. |
| (df_record_entry_block_defs): Likewise. |
| |
| * genconditions.c (write_conditions): Guard the definition of |
| 'insn_conditions' with the check on GCC version. |
| (write_writer): Guard the traversal 'insn_conditions' with |
| the check on GCC version. |
| |
| 2006-02-07 Richard Guenther <rguenther@suse.de> |
| |
| PR c++/26140 |
| Revert |
| 2006-01-30 Richard Guenther <rguenther@suse.de> |
| PR c++/23372 |
| * gimplify.c (gimplify_target_expr): Handle easy cases |
| without creating a temporary. |
| |
| 2006-02-07 Pete Steinmetz <steinmtz@us.ibm.com> |
| |
| * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate |
| use of float in probability computations. Use edge probabilities |
| in place of statically computed probabilities. |
| (min_spec_prob): New static variable. |
| (schedule_insns): Initialize it. |
| (GET_SRC_PROB): Removed. |
| * doc/invoke.texi (min-sched-prob): Renamed to min-spec-prob. |
| |
| 2006-02-07 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/24444 |
| * config/ia64/unwind-ia64.c: Revert last change. |
| * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed. |
| (INCOMING_FRAME_SP_OFFSET): Define. |
| |
| 2006-02-06 Roger Sayle <roger@eyesopen.com> |
| |
| * config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE. |
| |
| 2006-02-07 Ben Elliston <bje@au.ibm.com> |
| |
| * config/i386/i386.c (ix86_scalar_mode_supported_p): New. |
| (TARGET_SCALAR_MODE_SUPPORTED_P): Define hook. |
| (classify_argument): Handle SDmode, DDmode, TDmode for 64-bit. |
| (ix86_return_in_memory): Handle TDmode. |
| (ix86_libcall_value): Handle SDmode, DDmode, TDmode. |
| (ix86_value_regno): Return non-TDmode decimal float modes in %eax. |
| |
| 2006-02-06 Richard Sandiford <richard@codesourcery.com> |
| |
| * reorg.c (dbr_schedule): Use dump_file instead of file. |
| |
| 2006-02-06 Steve Ellcey <sje@cup.hp.com> |
| |
| PR target/25917 |
| * config/ia64/predicates.md (extr_len_operand): New predicate. |
| * config/ia64/ia64.md (extv): Tighten constraints. |
| (extzv): Ditto. |
| (*tbit_and_2): Ditto. |
| (*tbit_and_3): Ditto. |
| (*tbit_or_2): Ditto. |
| (*tbit_or_3): Ditto. |
| (*bit_zero): Ditto. |
| (*bit_one): Ditto. |
| |
| 2006-02-06 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/23359 |
| * config/i386/i386.md (trap): Use ASM_SHORT instead of .word. |
| |
| 2006-02-06 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-vrp.c (execute_vrp): Do not pass dump argument to. |
| loop_optimizer_init and loop_optimizer_finalize |
| * tree-ssa-sink.c (execute_sink_code): Ditto. |
| * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. |
| * tree-ssa-loop.c (tree_loop_optimizer_init, tree_ssa_loop_init, |
| tree_ssa_loop_done): Ditto. |
| * tree-ssa-pre.c (init_pre, fini_pre): Ditto. |
| * sched-ebb.c: Include output.h. |
| (schedule_ebbs): Do not use dump argument. |
| * value-prof.h (struct profile_hooks): Remove profile_dump_file. |
| * loop.c (loop_dump_stream): Removed. |
| (loop_optimize, rest_of_handle_loop_optimize): Do not use dump |
| argument. |
| (scan_loop, move_movables, find_and_verify_loops, mark_loop_jump, |
| emit_prefetch_instructions, loop_bivs_find, loop_bivs_check, |
| final_biv_value, loop_biv_eliminable_p, loop_givs_rescan, |
| loop_iterations, strength_reduce, record_biv, record_giv, |
| final_giv_value, check_final_value, check_ext_dependent_givs, |
| combine_givs, check_dbra_loop, maybe_eliminate_biv, load_mems, |
| try_copy_prop, loop_delete_insns, try_swap_copy_prop): Use |
| dump_file instead of loop_dump_stream. |
| * ddg.c (print_ddg_edge, print_ddg, vcg_print_ddg): Do not call |
| argument dump_file. |
| * reorg.c (dbr_schedule, rest_of_handle_delay_slots): Do not use |
| dump argument. |
| * flow.c (life_analysis, rest_of_handle_life): Ditto. |
| * haifa-sched.c: Include output.h |
| (schedule_insns, sched_init): Do not use dump argument. |
| * mode-switching.c (optimize_mode_switching): Ditto. |
| * modulo-sched.c (stats_file): Removed. |
| (print_node_sched_params): Do not call argument dump_file. |
| (sms_schedule_by_order, loop_canon_p, sms_schedule, |
| rest_of_handle_sms): Do not use dump argument. Use dump_file instead |
| of stats_file. |
| * cse.c (cse_main, rest_of_handle_cse, rest_of_handle_cse2): Do not |
| use dump argument. |
| * loop-init.c (loop_optimizer_init, loop_optimizer_finalize, |
| rtl_loop_init, rtl_loop_done): Ditto. |
| * global.c (global_alloc, rest_of_handle_global_alloc): Ditto. |
| * predict.c (combine_predictions_for_bb, tree_estimate_probability): |
| Ditto. |
| * recog.c (peephole2_optimize, rest_of_handle_peephole2): Ditto. |
| * lcm.c (pre_edge_lcm, pre_edge_rev_lcm): Ditto. |
| * regmove.c (fixup_match_1, fixup_match_2, regmove_optimize, |
| rest_of_handle_regmove, rest_of_handle_stack_adjustments): Ditto. |
| * emit-rtl.c (renumber_insns): Ditto. |
| * cfgexpand.c (add_reg_br_prob_note, expand_gimple_cond_expr, |
| expand_gimple_basic_block, tree_expand_cfg): Ditto. |
| * regclass.c (regclass): Ditto. |
| * tree-outof-ssa.c (analyze_edges_for_bb, perform_edge_inserts, |
| remove_ssa_form, rewrite_out_of_ssa): Ditto. |
| * reg-stack.c (compensate_edge, compensate_edges, convert_regs_1, |
| convert_regs_2, convert_regs, reg_to_stack, rest_of_handle_stack_regs): |
| Ditto. |
| * sched-rgn.c (schedule_insns, rest_of_handle_sched): Ditto. |
| * local-alloc.c (rest_of_handle_local_alloc): Do not pass dump_file |
| to regclass. |
| * gcse.c (gcse_file, debug_stderr): Removed. |
| (gcse_main, bypass_jumps, rest_of_handle_jump_bypass, |
| rest_of_handle_gcse): Do not use dump argument. |
| (cprop_jump, cprop_insn, do_local_cprop, cprop, find_implicit_sets, |
| one_cprop_pass, bypass_block, compute_pre_data, insert_insn_end_bb, |
| pre_edge_insert, pre_insert_copy_insn, pre_delete, one_pre_gcse_pass, |
| compute_code_hoist_vbeinout, compute_code_hoist_data, |
| one_code_hoisting_pass, trim_ld_motion_mems, update_ld_motion_stores, |
| compute_store_table, build_store_vectors, insert_insn_start_bb, |
| insert_store, remove_reachable_equiv_notes, replace_store_insn, |
| store_motion): Use dump_file instead of gcse_file. |
| * ipa-type-escape.c (type_escape_execute): Remove debugging comments. |
| * profile.c (profile_dump_file): Removed. |
| (branch_prob): Use dump_file instead of profile_dump_file. |
| * ipa.c (cgraph_remove_unreachable_nodes): Do not call argument |
| dump_file. |
| * tree-ssa-copy.c (dump_copy_of): Ditto. |
| * rtl-factoring.c (rtl_seqabstr, rest_of_rtl_seqabstr): Do not pass |
| dump file to life_analysis. |
| * bt-load.c (branch_target_load_optimize): Ditto. |
| * cfgcleanup.c (rest_of_handle_jump2): Do not pass dump_file to |
| renumber_insns. |
| * rtl.h (cse_main, renumber_insns, schedule_insns, schedule_ebbs, |
| regclass, dbr_schedule): Declaration changed. |
| * sched-int.h (sched_init): Declaration changed. |
| * tree-profile.c (tree_profile_dump_file): Removed. |
| (tree_profile_hooks): Removed profile_dump_file hook. |
| * rtl-profile (rtl_profile_dump_file): Removed. |
| (rtl_profile_hooks): emoved profile_dump_file hook. |
| * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize): Declaration |
| changed. |
| * c-gimplify.c (c_genericize): Do not call local variable dump_file. |
| * tree-cfg.c (build_tree_cfg): Ditto. |
| * Makefile.in (haifa-sched.o, sched-ebb.o): Add output.h dependency. |
| * basic-block.h (life_analysis, pre_edge_lcm, pre_edge_rev_lcm): |
| Declaration changed. |
| * config/sh/sh.c (sh_output_mi_thunk): Do not pass dump_file to |
| life_analysis and schedule_insns. |
| * config/m68hc11/m68hc11.c (m68hc11_reorg): Do not pass dump_file to |
| life_analysis. |
| * config/mt/mt.c (mt_machine_reorg): Do not pass dump_file to |
| dbr_schedule. |
| * config/mips/mips.c (mips_reorg): Ditto. |
| * config/ia64/ia64.c (ia64_reorg): Do not pass dump_file to |
| schedule_ebbs. |
| |
| 2006-02-06 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. |
| (s390_mangle_fundamental_type): New. |
| * config/s390/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): |
| Define. |
| |
| * config/alpha/alpha.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. |
| (alpha_mangle_fundamental_type): New. |
| * config/alpha/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): |
| Define. |
| |
| * config/sparc/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): |
| Define. |
| * config/sparc/linux64.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): |
| Define. |
| * config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. |
| (sparc_mangle_fundamental_type): New. |
| |
| 2006-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config.gcc (s390-*-linux*): Add s390/t-linux to tmake_file. |
| (s390x-*-linux*): Likewise. |
| * config/s390/t-linux64 (SHLIB_MAPFILES): Removed. |
| * config/s390/t-linux: New file. |
| |
| 2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/i386/sync.md (sync_add<mode>, sync_sub<mode>, sync_ior<mode>, |
| sync_and<mode>, sync_xor<mode>): Operand 0 is in-out. |
| |
| 2006-02-06 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads. |
| (ANTIC_SAFE_LOADS): New macro. |
| (find_or_generate_expression): Add prototype. |
| (set_contains_value): Allow null set for sake of not always having |
| to allocate ANTIC_SAFE_LOADS. |
| (phi_translate): Move placement of AGGREGATE_TYPE_P check. |
| Allow COMPONENT_REF too. |
| (valid_in_set): Allow COMPONENT_REF. |
| Check ANTIC_SAFE_LOADS too. |
| (compute_antic_aux): Print out ANTIC_SAFE_LOADS. |
| (compute_rvuse_and_antic_safe): Add ANTIC_SAFE computation, and |
| rename. |
| (can_PRE_operation): Add COMPONENT_REF. |
| (create_component_ref_by_pieces): New function. |
| (create_expression_by_pieces): Use create_component_ref_by_pieces. |
| (insert_aux): Move AGGREGATE_TYPE_P check here. |
| (compute_avail): Set bb local stmt uids. |
| (pass_pre): Use TODO_update_ssa_only_virtuals. |
| |
| 2006-02-06 Ben Elliston <bje@au.ibm.com> |
| |
| * configure.ac: Unconditionally disable decimal float by default. |
| * configure: Regenerate. |
| |
| 2006-02-06 Ben Elliston <bje@au.ibm.com> |
| |
| * read-rtl.c (read_name): Terminate reading on EOF. |
| |
| 2006-02-06 Ben Elliston <bje@au.ibm.com> |
| |
| * dfp.c (decimal_real_arithmetic): Change second argument type |
| from int to enum tree_code. Do not always return true, but now |
| return result of any call to decimal_do helper functions. |
| * dfp.h (decimal_real_arithmetic): Update prototype. |
| |
| 2006-02-05 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sol2-bi.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDMID. |
| |
| 2006-02-05 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/25251 |
| * tree-cfg.c (cleanup_dead_labels): Also don't remove |
| forced labels. |
| |
| 2006-02-04 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-vrp.c (cfg_loops): Removed. |
| (adjust_range_with_scev, vrp_visit_assignment, execute_vrp): |
| Use current_loops instead of cfg_loops. Pass flags to |
| loop_optimizer_init. |
| * cfgloopmanip.c (fix_loop_structure): Update only available |
| information. |
| * tree-ssa-loop-ch.c (copy_loop_headers): Pass flags to |
| loop_optimizer_init. |
| * modulo-sched.c (build_loops_structure): Removed. |
| (sms_schedule): Use loop_optimizer_init. |
| * loop-init.c (loop_optimizer_init): Use flags to determine |
| which properties of loops to prepare. |
| (rtl_loop_init): Pass flags to loop_optimizer_init. |
| * tree-ssa-sink.c (execute_sink_code): Ditto. |
| * tree-ssa-loop.c (tree_loop_optimizer_init): Ditto. |
| * tree-ssa-pre.c (init_pre): Ditto. |
| * cfgloop.h (LOOPS_NORMAL): New. |
| (loop_optimizer_init): Declaration changed. |
| |
| 2006-02-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa/x-ada-hpux10, pa/t-pa-hpux10, pa/t-pa-hpux11: New files. |
| * config.gcc (hppa[12]*-*-hpux10*): Use pa/t-pa-hpux10 instead of |
| pa/t-pa. |
| * config.gcc (hppa[12]*-*-hpux11*): Use pa/t-pa-hpux11 instead of |
| pa/t-pa. |
| * config.host (hppa*-*-hpux10*): Use pa/x-ada-hpux10 instead of |
| pa/x-ada. |
| * pa/t-pa-hpux: Add lib2funcs.asm and quadlib.c rules. |
| * pa/t-pa64: Delete quadlib.c rule. |
| * pa/x-ada: Revert last change. |
| * pa/t-pa: Revert last change. Delete quadlib.c rule. |
| |
| 2006-02-04 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/26087 |
| * rtlanal.c (canonicalize_condition): Do not cross basic block |
| boundaries. |
| |
| 2006-02-04 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/24444 |
| * config/ia64/ia64.c: Include debug.h. |
| (MAX_ARTIFICIAL_LABEL_BYTES): New. |
| (ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New. |
| (IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0. |
| (process_epilogue, process_set, process_for_unwind_directive): |
| Output unwind info only if requested. Add CFA info if requested. |
| Add new arguments as needed. Adjust callers. |
| * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override |
| incorrect default. |
| (DWARF2_FRAME_INFO): Define to zero. |
| * config/ia64/unwind-ia64.c: Remove code that compensated for |
| the CFA offset error fixed above. |
| * config/ia64/t-ia64 (ia64.o): Depend on debug.h. |
| * dwarf2out.c (DWARF2_FRAME_INFO): Define default. |
| (dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for |
| -funwind-tables and -fexceptions to enable frame info. |
| (dwarf2out_frame_init): Define initial CFA even if |
| DWARF2_UNWIND_INFO is disabled. Call initial_return_save if |
| DWARF2_UNWIND_INFO is nonzero, not just defined. |
| (dwarf2out_frame_finish): Output non-EH call frame info only |
| if DWARF2_FRAME_INFO is nonzero. |
| (convert_cfa_to_loc_list, |
| compute_frame_pointer_to_cfa_displacement): Define even if |
| unwind info is not supported. |
| (gen_subprogram_die): Use the above unconditionally. Remove |
| legacy alternate code. |
| * toplev.c (compile_file): Compile in call to |
| dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined. |
| (lang_dependent_init): Ditto for dwarf2out_frame_init. |
| |
| 2006-02-04 David Edelsohn <edelsohn@gnu.org> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle |
| IBM extended float format long double as "g" on powerpc*-linux. |
| |
| 2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/25926 |
| * pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10. |
| * pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10. |
| |
| 2006-02-03 Jason Merrill <jason@redhat.com> |
| |
| PR c++/25979 |
| * gimplify.c (gimplify_modify_expr_rhs): Disable *& optimization for now. |
| |
| PR middle-end/25977 |
| * gimplify.c (gimplify_modify_expr_rhs): It's not always safe to do RVO |
| on the return slot if it's an NRV. |
| |
| 2006-02-03 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-ssa-loop-ivopts.c (enum use_type): Remove USE_OUTER. |
| (dump_use, add_derived_ivs_candidates, determine_use_iv_cost, |
| rewrite_use): Do not handle USE_OUTER. |
| (find_interesting_uses_outer_or_nonlin, find_interesting_uses_outer, |
| add_iv_outer_candidates, may_replace_final_value, |
| determine_use_iv_cost_outer, rewrite_use_outer): Removed. |
| (find_interesting_uses_op): Functionality of |
| find_interesting_uses_outer_or_nonlin moved here. |
| (find_interesting_uses_outside): Use find_interesting_uses_op. |
| |
| 2006-02-03 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/25960 |
| * config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result. |
| |
| 2006-02-03 Andreas Krebbel <krebbel1@de.ibm.com> |
| Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR target/25864 |
| * config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf", |
| "x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations. |
| * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions. |
| * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr |
| and dxr fields. |
| (z900_cost, z990_cost, z9_109_cost): Values for the new fields added. |
| (s390_rtx_costs): Use the new fields to calculate rtx costs. |
| (s390_secondary_input_reload_class, s390_secondary_output_reload_class): |
| Define secondary reloads for TFmode moves. |
| (constant_modes): Add TFmode. |
| (NR_C_MODES): Set to 8. |
| * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__ |
| builtin define. |
| (LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64. |
| (LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define. |
| (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, |
| CANNOT_CHANGE_MODE_CLASS): Consider TFmode. |
| * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf, |
| fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values. |
| (FPR mode macro): Add TFmode. |
| (DSF mode macro): New. |
| (<de>, <dee> mode attributes): Removed. |
| (<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New. |
| ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs", |
| "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee", |
| "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3", |
| "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm", |
| "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly", |
| "*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>", |
| "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc", |
| "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm", |
| "*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2", |
| "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly", |
| "*negabs<mode>2", "sqrt<mode>2"): |
| Changed <de> to <xde>. R constraint replaced by <Rf>. |
| ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by |
| <Rf>. |
| ("fix_trunc<FPR:mode>di2"): 'FPR:' removed. |
| ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF. |
| ("*movtf_64", "*movtf_31"): New insn definitions followed by 5 |
| splitters. |
| ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", |
| "extenddftf2", "extendsftf2"): New expanders. |
| ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", |
| "*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm", |
| "*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns. |
| * config/s390/s390.opt (mlong-double-128, mlong-double-64): |
| New options. |
| * config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined. |
| * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2, |
| __fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi, |
| __floatditf): Add a GCC_4.1.0 symbol version tag. |
| * doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document |
| the new options. |
| |
| 2006-02-02 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/25377 |
| * config/i386/i386.c (ix86_function_ok_for_sibcall): |
| Use targetm.binds_local_p instead of TREE_PUBLIC. |
| |
| 2006-02-02 Roger Sayle <roger@eyesopen.com> |
| |
| * tree.h (TYPE_STRING_FLAG): Document that this field may be used |
| on INTEGER_TYPEs to indicate that it denotes a character type. |
| * tree.c (build_common_tree_nodes): Set TYPE_STRING_FLAG on |
| signed_char_type_node, unsigned_char_type_node and char_type_node. |
| * dwarf2out.c (base_type_die): Treat CHAR_TYPE identically to |
| INTEGER_TYPE. Use TYPE_STRING_FLAG to decide whether to emit |
| a DW_ATE_[un]signed_char instead of a DW_ATE_[un]signed. |
| |
| 2006-02-02 Zdenek Dvorak <dvorakz@suse.cz> |
| Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-tailcall.c (arg_needs_copy_p): New function. |
| (eliminate_tail_call): Use arg_needs_copy_p. |
| (tree_optimize_tail_calls_1): Ditto. Also call add_virtual_phis. |
| (add_virtual_phis): New function. |
| |
| 2006-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (sparc_output_scratch_registers): Use |
| #ignore instead of #scratch for %g7 .register directive. |
| |
| 2006-02-02 Andreas Tobler <a.tobler@schweiz.ch> |
| |
| * config/sparc/freebsd.h (ENDFILE_SPEC): Add space to separate |
| object files. |
| |
| 2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * flow.c (calculate_global_regs_live): Assert that there aren't any |
| EDGE_FAKE edges. |
| |
| 2006-02-02 Paolo Bonzini <bonzini@gnu.org> |
| |
| * tree-flow-inline.h (bsi_after_labels): Rewrite, return |
| what its name says. |
| * lambda-code.c (perfect_nestify): Use bsi_insert_before on |
| bsi_after_labels iterator. |
| * tree-if-conv.c (find_phi_replacement_condition, |
| replace_phi_with_cond_modify_expr): Likewise. |
| * tree-scalar-evolution.c (scev_const_prop): Likewise. |
| * tree-ssa-loop-ivopts.c (compute_phi_arg_on_exit): Likewise. |
| |
| 2006-02-02 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-inline.c (copy_tree_r): Also copy OMP_CLAUSE nodes. |
| |
| 2006-02-02 Diego Novillo <dnovillo@redhat.com> |
| |
| PR 25990 |
| * tree-cfg.c (move_block_to_fn): Clear out the basic block |
| array after growing it. |
| |
| 2006-02-01 Steve Ellcey <sje@cup.hp.com> |
| |
| PR middle-end/24901 |
| * fold-const.c (fold_checksum_tree): Change type of buf. |
| |
| 2006-02-01 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * reload.c (push_secondary_reload): Initialize t_icode. |
| |
| 2006-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For |
| -msoft-float -mlong-double-128 only issue a warning, but don't |
| swich to DFmode long double. |
| |
| 2006-02-01 Hans-Peter Nilsson <hp@axis.com> |
| |
| * cse.c (fold_rtx) <case RTX_COMM_COMPARE, RTX_COMPARE>: When arg1 |
| has a constant equivalent, iterate over equivalents for arg0, |
| calling simplify_relational_operation and if there's a result |
| cheaper than X, apply fold_rtx and return the result. |
| |
| 2006-02-01 Jan Hubicka <jh@suse.cz> |
| |
| * opts.c (no_unit_at_a_time_default): New global variable. |
| (decode_options): Use it. |
| * opts.h (no_unit_at_a_time_default): Declare. |
| |
| 2006-02-01 Paul Brook <paul@codesourcery.com> |
| |
| * function.c (assign_parm_setup_reg): Use function argument promotion |
| rules. |
| * expr.c (expand_expr_real_1): Use function argument promotion rules |
| for PARM_DECLs. |
| |
| 2006-02-01 Steve Ellcey <sje@cup.hp.com> |
| |
| * gcc.c (process_command): Change j to 'unsigned int'. |
| |
| 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/26001 |
| * expr.c (expand_expr_real_1) <case ARRAY_REF>: |
| Use the corrected index for the character |
| out of the string constant. |
| |
| 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * mode-switching.c (optimize_mode_switching): Fix size |
| allocated for bb_info[n_entities]. |
| |
| 2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * gcc.c (main): Correct type that is allocated for |
| explicit_link_files. |
| |
| 2006-01-31 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/s390/s390.c (init_alignment_context): Set |
| ALIAS_SET_MEMORY_BARRIER on the MEM. |
| * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Likewise. |
| |
| 2006-01-31 Uttam Pawar <uttamp@us.ibm.com> |
| |
| PR middle-end/25933 |
| * loop-unroll.c (unroll_loop_runtime_iterations): Free |
| dom_bbs pointer. |
| * tree-ssa-live.c (type_var_init): Allocate bitmap after |
| call to tpa_init. |
| |
| 2006-01-31 Marcin Dalecki <martin@dalecki.de> |
| |
| * tree-vrp.c: Use XNEW/XCNEW allocation wrappers. |
| * regrename.c: Ditto. |
| * tree-ssa-loop-im.c: Ditto. |
| * tree-dump.c: Ditto. |
| * tree-complex.c: Ditto. |
| * genrecog.c: Ditto. |
| * tree-ssa-threadupdate.c: Ditto. |
| * tracer.c: Ditto. |
| * java/class.c: Ditto. |
| * java/jcf-parse.c: Ditto. |
| * java/resource.c: Ditto. |
| * java/except.c: Ditto. |
| * java/jvspec.c: Ditto. |
| * java/jcf-write.c: Ditto. |
| * java/jcf-path.c: Ditto. |
| * java/gjavah.c: Ditto. |
| * java/zextract.c: Ditto. |
| * java/jcf-io.c: Ditto. |
| * java/jcf.h: Ditto. |
| * java/buffer.c: Ditto. |
| * java/lang.c: Ditto. |
| * java/parse-scan.y: Ditto. |
| * java/lex.c: Ditto. |
| * java/lex.h: Ditto. |
| * cfgloopmanip.c: Ditto. |
| * postreload-gcse.c: Ditto. |
| * tree-ssa-loop-manip.c: Ditto. |
| * postreload.c: Ditto. |
| * tree-ssa-loop-ch.c: Ditto. |
| * loop.c: Ditto. |
| * ipa-cp.c: Ditto. |
| * cppspec.c: Ditto. |
| * diagnostic.c: Ditto. |
| * final.c: Ditto. |
| * genoutput.c: Ditto. |
| * gcc.c: Ditto. |
| * cfghooks.c: Ditto. |
| * cfgloopanal.c: Ditto. |
| * objc/objc-act.c: Ditto. |
| * gcov.c: Ditto. |
| * genextract.c: Ditto. |
| * genautomata.c: Ditto. |
| * pretty-print.c: Ditto. |
| * genemit.c: Ditto. |
| * cgraphunit.c: Ditto. |
| * flow.c: Ditto. |
| * df-scan.c: Ditto. |
| * haifa-sched.c: Ditto. |
| * dominance.c: Ditto. |
| * dbxout.c: Ditto. |
| * tree-ssa-loop-ivopts.c: Ditto. |
| * df-core.c: Ditto. |
| * mode-switching.c: Ditto. |
| * modulo-sched.c: Ditto. |
| * graph.c: Ditto. |
| * ipa-pure-const.c: Ditto. |
| * cse.c: Ditto. |
| * fix-header.c: Ditto. |
| * web.c: Ditto. |
| * tree-stdarg.c: Ditto. |
| * ipa-utils.c: Ditto. |
| * loop-init.c: Ditto. |
| * ipa-inline.c: Ditto. |
| * cfganal.c: Ditto. |
| * global.c: Ditto. |
| * alloc-pool.c: Ditto. |
| * dwarf2out.c: Ditto. |
| * opts.c: Ditto. |
| * genattrtab.c: Ditto. |
| * tree-ssa-loop-ivcanon.c: Ditto. |
| * predict.c: Ditto. |
| * timevar.c: Ditto. |
| * lcm.c: Ditto. |
| * fortran/gfortranspec.c: Ditto. |
| * regmove.c: Ditto. |
| * local-alloc.c: Ditto. |
| * langhooks.c: Ditto. |
| * function.c: Ditto. |
| * tree-vectorizer.c: Ditto. |
| * gcse.c: Ditto. |
| * ipa-type-escape.c: Ditto. |
| * alias.c: Ditto. |
| * tree-if-conv.c: Ditto. |
| * profile.c: Ditto. |
| * ipa.c: Ditto. |
| * tree-data-ref.c: Ditto. |
| * loop-unroll.c: Ditto. |
| * treelang/treetree.c: Ditto. |
| * calls.c: Ditto. |
| * bt-load.c: Ditto. |
| * ggc-common.c: Ditto. |
| * except.c: Ditto. |
| * coverage.c: Ditto. |
| * cselib.c: Ditto. |
| * tree-cfgcleanup.c: Ditto. |
| * tree-ssa-pre.c: Ditto. |
| * cfgcleanup.c: Ditto. |
| * loop-invariant.c: Ditto. |
| * loop-iv.c: Ditto. |
| * ipa-prop.c: Ditto. |
| * print-tree.c: Ditto. |
| * conflict.c: Ditto. |
| * ggc-page.c: Ditto. |
| * sched-deps.c: Ditto. |
| * regclass.c: Ditto. |
| * tree-object-size.c: Ditto. |
| * combine.c: Ditto. |
| * bb-reorder.c: Ditto. |
| * resource.c: Ditto. |
| * var-tracking.c: Ditto. |
| * cfgloop.c: Ditto. |
| * df-problems.c: Ditto. |
| * reg-stack.c: Ditto. |
| * tlink.c: Ditto. |
| * gccspec.c: Ditto. |
| * sched-rgn.c: Ditto. |
| * tree-ssa-structalias.c: Ditto. |
| * tree-ssa-reassoc.c: Ditto. |
| * config/darwin-c.c: Ditto. |
| * config/darwin.c: Ditto. |
| * config/arm/arm.c: Ditto. |
| * cfgrtl.c: Ditto. |
| * collect2.c: Ditto. |
| * reload1.c: Ditto. |
| |
| 2006-01-31 Nicolas Pitre <nico@cam.org> |
| |
| * arm.md (smaxsi3): Make aware of smax_m1. |
| (smax_m1): New. |
| |
| 2006-01-31 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * config/m68k/lb1sf68.asm: Use moveq to load small constants. |
| |
| 2006-01-31 Richard Guenther <rguenther@suse.de> |
| |
| * doc/invoke.texi (-msselibm): Document. |
| * target.h (expand_library_builtin): New target hook. |
| * builtins.c (expand_builtin): Use expand_library_builtin. |
| (default_expand_library_builtin): New function. |
| * gcc.c (LINK_GCC_MATH_SPEC): Define. |
| (LINK_COMMAND_SPEC): Handle %(link_gcc_math). |
| (link_gcc_math_spec): Declare. |
| (static_specs): Add link_gcc_math_spec. |
| * expr.h (default_expand_library_builtin): Declare. |
| * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. |
| (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. |
| * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. |
| * config/i386/i386.opt (msselibm): New target option. |
| * config/i386/i386.c (ix86_builtin_function_variants): New array. |
| (ix86_init_sse_abi_builtins): New function. |
| (ix86_expand_library_builtin): Likewise. |
| (TARGET_EXPAND_LIBRARY_BUILTIN): Define. |
| (override_options): Handle error conditions wrt -msselibm. |
| (ix86_builtins): Add function codes for SSE2 ABI builtins. |
| (ix86_init_builtins): Call ix86_init_sse_abi_builtins. |
| * doc/extend.texi (__builtin_sse2_*): Document new target specific |
| builtins. |
| |
| 2006-01-31 Richard Guenther <rguenther@suse.de> |
| Paolo Bonzini <bonzini@gnu.org> |
| |
| * doc/install.texi (--disable-libgcc-math): Document. |
| |
| 2006-01-30 Marcin Dalecki <martin@dalecki.de> |
| |
| * expr.h (expand_normal): new inline function. |
| * builtins.c: use it, use EXPAND_NORMAL explicitely. |
| * dojump.c: use it. |
| * dwarf2out.c: use it. |
| * expr.c: use it. |
| * calls.c: use it. |
| * expmed.c: use it. |
| * except.c: use it. |
| * config/sparc/sparc.c: use it. |
| * config/i386/i386.c: use it. |
| * config/rs6000/rs6000.c: use it. |
| * config/arm/arm.c: use it. |
| * config/mips/mips.c: use it. |
| * stmt.c: use it, use EXPAND_NORMAL explicitely. |
| |
| 2006-01-30 Roger Sayle <roger@eyesopen.com> |
| |
| * config/i386/cygwin.h (GCC_DRIVER_HOST_INITIALIZATION): Cast |
| argv to the appropriate type. |
| |
| 2006-01-30 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Remove |
| unreachable code. |
| |
| 2006-01-30 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR target/26018 |
| * config/s390/s390.c (struct machine_function): New flag |
| decomposed_literal_pool_addresses_ok_p. |
| (s390_reorg): Set it before final stage of literal pool transforms. |
| (s390_decompose_address): Only accept displacements of the form |
| (minus (label_ref ...) (label_ref ...)) if that flag is set. |
| |
| 2006-01-30 Carlos O'Donell <carlos@codesourcery.com> |
| |
| * optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias |
| the comparison routine return. |
| |
| 2006-01-30 Michael Matz <matz@suse.de> |
| |
| * global.c (find_reg): Only evict for global regs. |
| Take n_refs into account and dump more info. |
| |
| 2006-01-30 J"orn Rennecke <joern.rennecke@st.com> |
| |
| PR target/14798: |
| * sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable. |
| (pragma_trap, pragma_nosave_low_regs): Likewise. |
| (current_function_anonymous_args): Likewise. |
| (sh_deferred_function_attributes): New variable. |
| (sh_deferred_function_attributes_tail): Likewise. |
| (print_operand): For '@', look up trap_exit attribute. |
| (calc_live_regs): Look up trapa_handler attribute. For trapa |
| handlers, save/restore fpscr, but don't do any other |
| interrupt-specific saves. |
| Don't save r0..r7 if the nosave_low_regs attribute is in effect. |
| Fix check for partially saved registers to check for SHmedia. |
| (sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute. |
| (sh_output_function_epilogue): Don't clear any of the removed |
| variables. |
| (sh_insert_attributes): Don't check pragma_interrupt. |
| Insert deferred attributes. Check that interrupt attribute is |
| present for other attributes that require its presence. |
| (sh_attribute_table): Add new attributes trapa_handler and |
| nosave_low_regs. |
| (sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute): |
| Don't check for pragma_interrupt. Don't store argument. |
| * sh.h (pragma_interrupt, sp_switch): Don't declare. |
| (sh_deferred_function_attributes): Declare. |
| (sh_deferred_function_attributes_tail): Likewise. |
| * sh.md (sp_switch_1): Add operand. Change generator caller. |
| (sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove. |
| (*return_i): Don't use when trap_exit attribute is in effect. |
| (*return_trapa): New insn pattern. |
| * sh-c.c: New file. |
| * config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza, |
| setting c_target_objs and cxx_target_objs. |
| * t-sh: Add rule for sh-c.o. |
| |
| 2006-01-30 Richard Guenther <rguenther@suse.de> |
| |
| PR c++/23372 |
| * gimplify.c (gimplify_target_expr): Handle easy cases |
| without creating a temporary. |
| |
| 2006-01-30 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * vec.h (safe_grow): Remove duplicated line. |
| |
| 2006-01-29 Diego Novillo <dnovillo@redhat.com> |
| |
| PR 25874 |
| * omp-low.c (execute_expand_omp): Move CFG cleanup code ... |
| (expand_omp): ... here. |
| (expand_omp_parallel): Only remove barriers for combined |
| parallel+workshare constructs. |
| |
| 2006-01-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Revert |
| |
| 2005-11-09 Eric Botcazou <ebotcazou@adacore.com> |
| * tree.c (build_qualified_type): Chain the new type to the original |
| type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is |
| a POINTER_TYPE or a REFERENCE_TYPE respectively. |
| (build_pointer_type_for_mode): Only return unqualified types. |
| (build_reference_type_for_mode): Likewise. |
| |
| 2006-01-29 Gabriel Dos Reis <gdr@integgrable-solutions.net> |
| |
| * configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported. |
| * Makefile.in (CXX_COMPAT_WARN): Define. |
| * configure: Regenerate. |
| |
| 2006-01-29 Dorit Nuzman <dorit@il.ibm.com> |
| |
| PR tree-opt/25911 |
| * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Change assert |
| to an if check. |
| |
| 2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net> |
| |
| * toplev.c: Fix thinko. |
| |
| 2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net> |
| Marcin Dalecki <martin@dalecki.de> |
| |
| * toplev.c (floor_log2, exact_log2): Don't define if __cplusplus. |
| (push_srcloc): Use XNEW. |
| (init_asm_output, default_get_pch_validity): Use XNEWVEC. |
| |
| 2006-01-29 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| * df-core.c (df_set_blocks): Deleted all variable. |
| |
| 2006-01-28 Ian Lance Taylor <ian@airs.com> |
| |
| * cgraphunit.c (cgraph_assemble_pending_functions): Call |
| cgraph_output_pending_asms. |
| |
| 2006-01-28 Zack Weinberg <zackw@panix.com> |
| |
| * c.opt: Add -W(no-)overlength-strings. |
| * doc/invoke.texi: Document it. |
| * c-opts.c (c_common_handle_option): -pedantic implies |
| -Woverlength-strings, if not explicitly disabled already. |
| (c_common_post_options): -Woverlength-strings defaults to off, and |
| is always off for C++. |
| * c-common.c (fix_string_type): Issue warning about strings longer |
| than is portable only if warn_overlength_strings. Rearrange code |
| a little for clarity. |
| * configure.in: Check for -Wno-overlength-strings as well before |
| enabling -pedantic in stage 1. |
| * Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings. |
| (gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete. |
| |
| * genconditions.c (write_header, write_one_condition) |
| (write_conditions, write_writer): Consolidate very long strings |
| that were broken up to fit in C89 portable limit. Don't use |
| printf when fputs will do. |
| |
| 2006-01-28 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * combine.c (simplify_comparison <AND>): Check |
| TRULY_NOOP_TRUNCATION before start using a subreg. |
| |
| * config/mips/mips.md (*branch_zero<mode>, |
| *branch_zero<mode>_inverted, *branch_equality<mode>, |
| *branch_equality<mode>_inverted, *branch_equality<mode>_mips16): |
| Remove mode check from comparisons. |
| |
| 2006-01-28 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| * config/mips/mips-protos.h (mips_set_live_on_entry): Deleted. |
| |
| 2006-01-28 Kazu Hirata <kazu@codesourcery.com> |
| |
| * expmed.c (const_mult_add_overflow_p): Remove. |
| * expr.h: Remove the prototype for const_mult_add_overflow_p. |
| |
| * recog.c (validate_replace_rtx_subexp): Remove. |
| * recog.h: Remove the prototype for |
| validate_replace_rtx_subexp. |
| |
| * integrate.h: Remove the prototype for |
| copy_decl_for_inlining. |
| * rtl.h: Remove the prototype for mark_constant_function. |
| * tree-vectorizer.h: Remove the prototype for |
| vect_strip_conversion. |
| |
| * modulo-sched.c (create_partial_schedule, |
| free_partial_schedule, reset_partial_schedule): Make them |
| static. |
| |
| * hooks.c (hook_bool_rtx_int_false): Remove. |
| * hooks.h: Remove the prototype for hook_bool_rtx_int_false. |
| |
| 2006-01-28 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float |
| and -mlong-double-128 are incompatible. |
| * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same. |
| * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c. |
| (TARGET_LIBGCC2_CFLAGS): Define. |
| * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same. |
| (TARGET_LIBGCC2_CFLAGS): Same. |
| * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX. |
| |
| 2006-01-28 Kazu Hirata <kazu@codesourcery.com> |
| |
| PR c/19606. |
| * c-typeck.c (build_binary_op): Perform implicit casts of |
| operands before shortening them. |
| |
| * cfgloopmanip.c (split_loop_bb): Remove. |
| * cfgloop.h: Remove the prototype for split_loop_bb. |
| |
| * cfgloop.c (flow_loop_outside_edge_p): Remove. |
| * cfgloop.h: Remove the prototype for |
| flow_loop_outside_edge_p. |
| |
| * emit-rtl.c (init_virtual_regs): Make it static. |
| * function.h: Remove the prototype for init_virtual_regs. |
| |
| * recog.c (peephole2_optimize): Make it static. |
| * recog.h: Remove the prototype for peephole2_optimize. |
| |
| 2006-01-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * df-scan.c (df_record_entry_block_defs): Check if |
| INCOMING_RETURN_ADDR_RTX is defined. |
| |
| 2006-01-27 Daniel Berlin <dberlin@dberlin.org> |
| Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| PR rtl-optimization/24762 |
| * doc/tm.texi: Added TARGET_EXTRA_LIVE_ON_ENTRY. |
| * targhooks.c (hook_void_bitmap): New hook prototype. |
| * targhoohs.h (hook_void_bitmap): Ditto. |
| * bitmap.h (bitmap_head_def): Moved to coretypes.h. |
| * coretypes.h (bitmap_head_def): Moved from bitmap.h. |
| * target.h (live_on_entry): New function pointer. |
| * df-scan.c (df_all_hard_regs): Removed. |
| (df_scan_dump, df_hard_reg_init): Removed df_all_hard_regs. |
| (df_scan_free_internal): Added df->entry_block_defs. |
| (df_scan_alloc): Ditto. |
| (df_scan_dump): Ditto. |
| (df_uses_record): Plumbed flag field properly thru calls. |
| Record EH_RETURN_DATA_REGNO in eh blocks unconditionally. |
| This part fixes PR24762. |
| (df_bb_refs_record): Added code to make the frame and arg |
| pointers live in EH blocks. |
| (df_refs_record): Added call to df_record_entry_block_defs. |
| (df_record_entry_block_defs): New function. |
| * df-core.c: Added comments to describe new artifical defs. |
| * df.h (DF_REF_DIES_AFTER_THIS_USE): New flag in enum df_ref_flags. |
| (entry_block_defs): New field in struct df. |
| (df_all_hard_regs): Deleted. |
| * target-def.h: Added TARGET_EXTRA_LIVE_ON_ENTRY. |
| * df-problems.c (df_ru_bb_local_compute_process_def): |
| Added code to handle artifical defs in the entry to a function. |
| (df_ru_bb_local_compute): Ditto. |
| (df_rd_bb_local_compute_process_def): Ditto. |
| (df_rd_bb_local_compute): Ditto. |
| (df_lr_bb_local_compute): Ditto. |
| (df_ur_bb_local_compute): Ditto. |
| (df_urec_bb_local_compute): Ditto. |
| (df_chain_create_bb): Ditto. |
| (df_ur_local_finalize): Removed entry. |
| (df_urec_init): Ditto. |
| (df_urec_local_finalize): Ditto. |
| (df_ri_bb_compute): Added detection of last use of pseudos. |
| * Makefile.in (df-scan.o): Updated dependencies. |
| * config/mips/mips-protos.h (mips_set_live_on_entry): Added. |
| * config/mips/mips.c (mips_set_live_on_entry): Added. |
| * config/mips/mips.c (TARGET_EXTRA_LIVE_ON_ENTRY): Added value |
| for target hook. |
| * dce.c (marked_insn_p): Added code to handle artifical defs. |
| |
| 2006-01-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/emmintrin.h (_mm_cvtsd_f64): Add missing Intel |
| intrinsic. |
| (_mm_cvtsi128_si64): Likewise. |
| (_mm_cvtsd_si64): Likewise. |
| (_mm_cvttsd_si64): Likewise. |
| (_mm_cvtsi64_sd): Likewise. |
| (_mm_cvtsi64_si128): Likewise. |
| * config/i386/mmintrin.h (_m_from_int64): Likewise. |
| (_mm_cvtsi64_m64): Likewise. |
| (_m_to_int64): Likewise. |
| (_mm_cvtm64_si64): Likewise. |
| * config/i386/xmmintrin.h (_mm_cvtss_si64): Likewise. |
| (_mm_cvttss_si64): Likewise. |
| (_mm_cvtsi64_ss): Likewise. |
| (_mm_cvtss_f32): Likewise. |
| |
| 2006-01-27 Carlos O'Donell <carlos@codesourcery.com> |
| |
| * c-pragma.c (init_pragma) : Call c_register_pragma_with_expansion |
| for pragma redefine_extname. |
| |
| 2006-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/25864 |
| * libgcc-std.ver: Add GCC_4.1.0 symbol version. |
| * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append |
| -mno-minimal-toc to previous content. |
| (bispecs): Remove goal. |
| * config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h. |
| * config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4 |
| compatibility aliases on powerpc-*-*gnu*. |
| * config/rs6000/libgcc-ppc-glibc.ver: New file. |
| * config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append |
| libgcc-ppc-glibc.ver on powerpc*-*-*gnu*. |
| (TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs. |
| (ldblspecs): New goal. |
| * config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed. |
| * mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and |
| _df_to_tf. |
| * config/fp-bit.h (TMODES): Don't define if none of TFLOAT, |
| L_sf_to_tf or L_df_to_tf is defined. |
| |
| 2006-01-27 David Edelsohn <edelsohn@gnu.org> |
| Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/25864 |
| * config/rs6000/linux.h (POWERPC_LINUX): Define. |
| * config/rs6000/linux64.h (POWERPC_LINUX): Define. |
| * config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC. |
| * config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero. |
| * config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero. |
| * config/rs6000/rs6000.c (rs6000_ieeequad): New variable. |
| (rs6000_override_options): Initialize rs6000_ieeequad. |
| Initialize TFmode format to ibm_extended_format if not |
| TARGET_IEEEQUAD. |
| (rs6000_handle_option): Accept -mabi= ibmlongdouble and |
| ieeelongdouble. |
| (rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts. |
| (rs6000_return_in_memory): Only return IEEEQUAD in memory. |
| (function_arg_advance): IBM long double passed in two FPRs, not |
| split. |
| (function_arg): IBM long double passed in FPRs. |
| (rs6000_pass_by_reference): Only IEEEQUAD passed by reference. |
| (rs6000_gimplify_va_arg): IBM long double passed in two FPRs. |
| Only multireg GPR aligned. |
| (rs6000_init_libfuncs): Enable IBM long double functions if not |
| IEEEQUAD. |
| (rs6000_generate_compare): Use IBM long double compare if not |
| TARGET_IEEEQUAD. |
| * config/rs6000/rs6000.h (rs6000_ieeequad): Declare. |
| (TARGET_IEEEQUAD): Define. |
| (CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if |
| not TARGET_IEEEQUAD. |
| * config/rs6000/rs6000.md: Enable TFmode patterns if |
| !TARGET_IEEEQUAD. |
| * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c. |
| * config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float |
| and -mlong-double-128 are incompatible. |
| * doc/invoke.texi (-mabi): Collect options together. Add |
| ibmlongdouble and ieeelongdouble. |
| |
| 2006-01-27 Richard Sandiford <richard@codesourcery.com> |
| |
| * doc/rtl.texi (SYMBOL_REF_DATA): Adjust documentation for new |
| opaque type. |
| * optabs.c (init_one_libfunc): Use SET_SYMBOL_REF_DECL. |
| * varasm.c (make_decl_rtl, build_constant_desc): Likewise. |
| (force_const_mem): Use SET_SYMBOL_REF_CONSTANT. |
| * rtl.h (rtunion_def): Remove rt_ptr. |
| (X0PTR): Delete. |
| (SYMBOL_REF_DATA): Use X0ANY instead of X0PTR. |
| (SET_SYMBOL_REF_DECL, SET_SYMBOL_REF_CONSTANT): New macros. |
| * config/i386/winnt.c (i386_pe_mark_dllexport) |
| (i386_pe_mark_dllimport): Use SET_SYMBOL_REF_DECL. |
| |
| 2006-01-27 Gabor Loki <loki@gcc.gnu.org> |
| |
| * cfgcleanup.c (try_crossjump_to_edge): Fix comment typo. |
| |
| 2006-01-26 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR other/24829 |
| PR target/24831 |
| * gthr-dce.h: Do not gthrw-ify pthread_once_init, |
| pthread_key_delete. From John David Anglin. gthrw-ify |
| pthread_getunique_np only if it it's not a macro. Delete |
| UNUSED macro. |
| (__gthread_objc_condition_allocate, __gthread_objc_condition_deallocate, |
| __gthread_objc_condition_wait, __gthread_objc_condition_broadcast, |
| __gthread_objc_condition_signal, __gthread_key_delete): Add |
| "__attribute__ ((__unused__))" to unused arguments. |
| (__gthread_recursive_mutex_init_function): Add missing return. |
| * gthr-dce.h, gthr-tpf.h, gthr-solaris.h, gthr-posix.h, |
| gthr-posix95.h: Use macro-based approach for name redirection |
| on targets missing weakref. |
| |
| 2006-01-26 Zack Weinberg <zackw@panix.com> |
| |
| * genconditions.c (write_header): In generated code, #ifdef out |
| all includes and fake declarations, except includes of bconfig.h |
| and system.h, unless GCC_VERSION >= 3001. Do not include |
| gensupport.h in any case. |
| (write_conditions): Generate a definition of struct c_test. Add |
| a comment to the generated #endif. |
| (write_one_condition): Escape backslashes in string too. |
| (write_writer): Generated code must escape backslashes and quote |
| marks (but not newlines) in the strings it writes. |
| * Makefile.in (build/gencondmd.o): Update dependencies. |
| |
| 2006-01-26 Steve Ellcey <sje@cup.hp.com> |
| |
| PR target/25961 |
| * Makefile.in (insn-automata.o): Add header file dependencies. |
| * genautomata.c: Add includes. |
| |
| 2006-01-26 Steve Ellcey <sje@cup.hp.com> |
| |
| PR target/25961 |
| * Makefile.in (insn-automata.o): Add -Wno-error flag. |
| |
| 2006-01-26 Paolo Bonzini <bonzini@gnu.org> |
| |
| * configure.ac: Expect target tools paths to be passed from the toplevel |
| and wrap the detection into AS_SET_VAR_IF. Extract side-effects out of |
| AS_SET_VAR_IF. |
| * acinclude.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL): Remove. |
| |
| 2006-01-26 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR c/25892 |
| * c.opt (Wpointer-sign): Init to -1. |
| * c-opts.c (c_common_handle_option): Set to 1 on OPT_Wall and |
| OPT_pedantic, to 0 otherwise. |
| * doc/invoke.texi: Update. |
| |
| 2006-01-26 Paolo Bonzini <bonzini@gnu.org> |
| |
| * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Emit |
| constants provided by 80387 instructions in the destination mode. |
| |
| 2006-01-26 Richard Guenther <rguenther@suse.de> |
| Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/21470 |
| partial PR tree-opt/17064 |
| * tree-ssa-structalias.c (intra_create_variable_infos): |
| Create heap variables for incoming parameters if |
| flag_argument_noalias > 1. |
| (find_what_p_points_to): Look through default defs of |
| parameter decls. |
| |
| 2006-01-26 Jeff Law <law@redhat.com> |
| |
| PR ada/25900 |
| * tree-vrp.c (extract_range_from_assert): When merging a VR_RANGE |
| with a VR_ANTI_RANGE and the VR_ANTI_RANGE is completely contained |
| within the VR_RANGE, use the VR_RANGE as the result, not the |
| VR_ANTI_RANGE. |
| (adjust_range_with_scev): Reject ranges from SCEV which are out of |
| bounds for the type. |
| |
| 2006-01-26 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-ssa-alias.c (maybe_create_global_var): Change |
| subvar walking to an assertion that we don't have subvar'd variables. |
| |
| 2006-01-26 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR C/25861 |
| * c-common.c (c_common_truthvalue_conversion) <case ADDR_EXPR>: |
| Use a new variable, inner. PARM_DECLs are always non-weak. |
| |
| 2006-01-26 Shantonu Sen <ssen@opendarwin.org> |
| |
| * tree.h (OMP_CLAUSE_SUBCODE_CHECK): Add definition for |
| --disable-checking. |
| |
| 2006-01-26 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * config/mips/mips.md (*clear_upper32): New combiner pattern. |
| |
| 2006-01-26 Richard Earnshaw <richard.earnshaw@arm.com> |
| |
| * arm.md (smaxsi3, sminsi3): Convert to define_expand. |
| (smax_insn, smin_insn, smax_0, smin_0): New. |
| |
| 2006-01-26 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR target/25947 |
| * config/cris/cris.c (cris_order_for_addsi3): New function. |
| * config/cris/cris-protos.h: Prototype it. |
| * config/cris/cris.md (split for "move.S1 [rx=rx+i],ry") |
| (split for "move.S1 ry,[rx=rx+i]", split for "clear.[bwd] [rx=rx+i]") |
| (split for "mov(s|u).S1 [rx=rx+i],ry", split for "op.S1 [rx=rx+i],ry") |
| (split for "op.S1 [rx=rx+i],ry (swapped)") |
| (split for "op(s|u).S1 [rx=rx+i],ry") |
| (split for "op(s|u).S1 [rx=rx+i],ry (swapped, plus or bound)"): |
| Apply cris_order_for_addsi3 when generating addsi3 insns. |
| |
| 2006-01-25 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree.h (TREE_RANGE_CHECK): Fix range predicate. |
| (TREE_BLOCK): Add call to EXPR_CHECK. |
| |
| 2006-01-25 Diego Novillo <dnovillo@redhat.com> |
| |
| PR 25886 |
| * tree-dump.c (dequeue_and_dump): Handle OMP_CLAUSE. |
| * tree-pretty-print.c (dump_omp_clause): Extract from ... |
| (dump_omp_clauses): ... here. |
| (dump_generic_node): Handle OMP_CLAUSE. |
| * tree.c (omp_clause_num_ops): New. |
| (omp_clause_code_name): New. |
| (tree_code_size): Handle OMP_CLAUSE. |
| (tree_size): Likewise. |
| (make_node): Document handling of OMP_CLAUSE. |
| (tree_node_structure): Handle OMP_CLAUSE. |
| (omp_clause_check_failed): New. |
| (omp_clause_range_check_failed): New. |
| (omp_clause_operand_check_failed): New. |
| (build_omp_clause): New. |
| (walk_tree): Adjust handling of OMP_CLAUSE_* nodes. |
| * tree.h (enum omp_clause_code): Declare. |
| (OMP_CLAUSE_SUBCODE_CHECK): Define. |
| (OMP_CLAUSE_RANGE_CHECK): Define. |
| (OMP_CLAUSE_ELT_CHECK): Define. |
| (omp_clause_check_failed): Declare. |
| (omp_clause_operand_check_failed): Declare. |
| (omp_clause_range_check_failed): Declare. |
| (OMP_CLAUSE_CHAIN): Do not use TREE_RANGE_CHECK. |
| (OMP_CLAUSE_OPERAND): Use OMP_CLAUSE_RANGE_CHECK. |
| (OMP_CLAUSE_PRIVATE_DEBUG): Use OMP_CLAUSE_SUBCODE_CHECK. |
| (OMP_CLAUSE_LASTPRIVATE): Likewise. |
| (OMP_CLAUSE_IF_EXPR): Likewise. |
| (OMP_CLAUSE_NUM_THREADS_EXPR): Likewise. |
| (OMP_CLAUSE_SCHEDULE_CHUNK_EXPR): Likewise. |
| (OMP_CLAUSE_REDUCTION_CODE): Likewise. |
| (OMP_CLAUSE_REDUCTION_INIT): Likewise. |
| (OMP_CLAUSE_REDUCTION_MERGE): Likewise. |
| (OMP_CLAUSE_REDUCTION_PLACEHOLDER): Likewise. |
| Use tree_node.omp_clause.subcode instead of TREE_COMPLEXITY. |
| (OMP_CLAUSE_SCHEDULE_KIND): Likewise. |
| (OMP_CLAUSE_DEFAULT_KIND): Likewise. |
| (OMP_CLAUSE_CODE): Define. |
| (OMP_CLAUSE_SET_CODE): Define. |
| (OMP_CLAUSE_CODE): Define. |
| (OMP_CLAUSE_OPERAND): Define. |
| (struct tree_omp_clause): Declare. |
| (union tree_node): Add field 'omp_clause'. |
| * treestruct.def (TS_OMP_CLAUSE): Define. |
| * tree.def (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_SHARED |
| OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE, |
| OMP_CLAUSE_REDUCTION, OMP_CLAUSE_COPYIN, |
| OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_IF, |
| OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE, |
| OMP_CLAUSE_NOWAIT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Remove. |
| (OMP_CLAUSE): Define. |
| * print-tree.c (print_node): Handle OMP_CLAUSE. |
| * omp-low.c: Adapt all uses of OMP_CLAUSE_* nodes. |
| * c-typeck.c: Likewise. |
| * gimplify.c: Likewise. |
| * c-omp.c: Likewise. |
| * tree-nested.c: Likewise. |
| * tree-inline.c: Likewise. |
| * c-parser.c: Likewise. |
| * gimple-low.c (lower_omp_directive): Do not set TREE_BLOCK on |
| clauses. |
| |
| 2006-01-25 Roger Sayle <roger@eyesopen.com> |
| |
| PR rtl-optimization/25703 |
| * combine.c (try_combine): Handle zero_extract and strict_low_part |
| of non-lowpart SUBREGs for constant reg_subword_p set optimization. |
| |
| 2006-01-25 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * global.c: Fix comment typos. |
| |
| 2006-01-25 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/25758 |
| * config/i386/i386.c (output_pic_addr_const) <case SYMBOL_REF>: |
| Use output_addr_const instead of assemble_name. |
| |
| 2006-01-25 Paolo Bonzini <bonzini@gnu.org> |
| |
| * Makefile.in (sched-vis.o): Update dependencies. |
| * haifa-sched.c (sched_finish): Clear current_sched_info. |
| * cfg.c (dump_bb_info): New, split from dump_flow_info. |
| (dump_flow_info): Call it. |
| * passes.c (execute_todo): Call print_rtl_slim_with_bb to make |
| a slim RTL dump. |
| * basic-block.h (dump_bb_info): Declare. |
| * tree-dump.c (dump_enable_all): OR the flags of a -fdump-tree-all |
| option, and apply options only for dump files whose TDF_RTL, |
| TDF_TREE, or TDF_IPA bits match. |
| * rtl.h: Declare new functions exported from sched-vis.c. |
| * sched-vis.c: Enable also if scheduling is not used. |
| (print_value): Print the mode of registers if not inside scheduling. |
| (print_insn): Make it work outside the scheduler. Beautify the output |
| a bit. |
| (dump_insn_slim, debug_insn_slim, print_rtl_slim_with_bb): New. |
| |
| 2006-01-25 Richard Sandiford <richard@codesourcery.com> |
| |
| * doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document. |
| * gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of |
| a SYMBOL_REF as either a tree or a constant_descriptor_rtx, |
| depending on the value of CONSTANT_POOL_ADDRESS_P. |
| * optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than |
| SYMBOL_REF_DECL. |
| * varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA |
| rather than SYMBOL_REF_DECL. |
| (rtx_constant_pool): Remove const_rtx_sym_htab. |
| (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete. |
| (init_varasm_status): Don't initialize const_rtx_sym_htab. |
| (force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry. |
| Remove handling of const_rtx_sym_htab. |
| (find_pool_constant): Delete. |
| (get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT |
| rather than find_pool_constant. |
| (get_pool_constant_for_function): Delete. |
| (get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than |
| find_pool_constant. |
| * rtl.h (rtunion_def): Add rt_constant and rt_ptr fields. |
| (X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros. |
| (SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P. |
| (SYMBOL_REF_CONSTANT): New macro. |
| (get_pool_constant_for_function): Delete. |
| * config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA |
| rather than SYMBOL_REF_DECL. |
| (i386_pe_mark_dllimport): Likewise. |
| * config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA |
| rather than SYMBOL_REF_DECL. |
| * config/darwin.c (machopic_indirect_data_reference): Likewise. |
| (machopic_indirect_call_target): Likewise. |
| |
| 2006-01-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * flow.c (delete_noop_moves): Add missing EOL to dump message. |
| |
| 2006-01-25 Richard Sandiford <richard@codesourcery.com> |
| |
| * genattrtab.c (gen_bypass): Allow bypasses to contain whitespace. |
| |
| 2006-01-25 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/predicates.md (sh_register_operand): Accept CONST_DOUBLE. |
| |
| 2006-01-24 David Daney <ddaney@avtrex.com> |
| |
| PR java/25816 |
| * configure.ac (enable_tls): New enable option. |
| (HAVE_AS_TLS): Don't do assembler check if enable_tls set. |
| * configure: Regenerate. |
| * doc/install.texi (--enable-tls): Document new option. |
| (--disable-tls): Ditto. |
| |
| 2006-01-24 Richard Henderson <rth@redehat.com> |
| |
| * alias.h (ALIAS_SET_MEMORY_BARRIER): New. |
| * alias.c (true_dependence): Respect it. |
| (canon_true_dependence, write_dependence_p): Likewise. |
| * builtins.c (get_builtin_sync_mem): Set it. |
| |
| 2006-01-25 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * loop-iv.c (iv_analysis_loop_init): Use df analysis in a more |
| efficient way. |
| |
| 2006-01-24 DJ Delorie <dj@redhat.com> |
| |
| * expmed.c (store_bit_field): Don't arbitrarily deny using insv |
| for storing constants in single-bit bitfields. |
| |
| 2006-01-25 Ben Elliston <bje@au.ibm.com> |
| |
| * dfp.c (dfp_byte_swap): Use uint32_t and not unsigned long. |
| |
| 2006-01-24 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/25860 |
| * tree-ssa-pre.c (phi_translate): Return NULL |
| for AGGREGATE_TYPE's. |
| |
| 2006-01-24 Zack Weinberg <zackw@panix.com> |
| |
| * genautomata.c (process_state_for_insn_equiv_partition): |
| Use xcalloc for insn_arcs_array. |
| * vec.h (DEF_VEC_ALLOC_FUNC_I): New set of templates. |
| (DEF_VEC_ALLOC_I): Use it, not DEF_VEC_ALLOC_FUNC_P. |
| |
| 2006-01-24 Richard Henderson <rth@redhat.com> |
| |
| * genextract.c (VEC_safe_set_locstr): Take VEC by reference; |
| update all callers. |
| |
| 2006-01-23 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR rtl-optimization/25890 |
| PR rtl-optimization/25905 |
| * combine.c (expand_compound_operation, expand_field_assignment): |
| Fail if the bitfield's final position is out of bounds. |
| |
| 2006-01-24 Ian Lance Taylor <ian@airs.com> |
| |
| PR middle-end/25930 |
| * cgraphunit.c (cgraph_output_in_order): Don't clear |
| cgraph_asm_nodes until after asm strings have been output. |
| |
| 2006-01-23 Adam Nemet <anemet@caviumnetworks.com> |
| |
| * fix-header.c (read_scan_file): Add new parameter imultilib when |
| calling register_include_chains. |
| |
| 2006-01-23 Diego Novillo <dnovillo@redhat.com> |
| |
| * omp-low.c: Update documentation. |
| |
| 2006-01-23 Andrew Pinski <pinskia@physics.uc.edu> |
| Daniel Berlin <dberlin@dberlin.org> |
| |
| PR tree-opt/25315 |
| PR tree-opt/25857 |
| * tree-ssa-pre.c (insert_extra_phis): If an incoming edge is abnormal |
| return from the function. |
| |
| 2006-01-22 Zack Weinberg <zackw@panix.com> |
| |
| * rtl.def (match_code): Add second argument. |
| * genpreds.c (write_extract_subexp): New function. |
| (write_match_code): Add path argument. Use write_extract_subexp. |
| (write_predicate_expr): Pass path to write_match_code. |
| (mark_mode_tests): MATCH_CODE applied to a subexpression does |
| not perform a mode test. |
| * genrecog.c (compute_predicate_codes): MATCH_CODE applied to |
| a subexpression does not constrain the top-level code set. |
| * read-rtl.c (read_rtx_variadic): New function. |
| (read_rtx_1): Use it; allow AND and IOR to be variadic. |
| * doc/md.texi: Document new notation. |
| * config/i386/predicates.md (cmpsi_operand_1): Fold into ... |
| (cmpsi_operand): ... here, using new notation. |
| |
| 2006-01-22 Zack Weinberg <zackw@panix.com> |
| |
| * varray.c: Remove GENERATOR_FILE #ifdefs. |
| |
| 2006-01-22 Zack Weinberg <zackw@panix.com> |
| |
| * genautomata.c (output_reserved_units_table): Emit nothing if |
| description->query_units_num is zero. Remove extra blank line. |
| (output_cpu_unit_reservation_p): Short circuit |
| if description->query_units_num is zero. |
| |
| 2006-01-22 Zack Weinberg <zackw@panix.com> |
| |
| * genattrtab.c: Don't include genattrtab.h. Define ATTR_NONE |
| and ATTR_SPECIAL (from genattrtab.h). Don't define num_dfa_decls |
| nor any of the random handful of variables that used to be necessary |
| when this program was linked with rtlanal.o. Prune set of forward |
| function declarations. |
| (struct attr_desc): Remove static_p field. |
| (hash_obstack, temp_obstack, attr_hash_table, attr_printf) |
| (check_attr_test, make_internal_attr, make_numeric_value): Make static. |
| (attr_string): Do not read the character one past the length of |
| the string. |
| (write_attr_get, find_attr, make_internal_attr): Don't touch static_p. |
| (struct insn_reserv, all_insn_reservs, last_insn_reserv_p) |
| (n_insn_reservs, gen_insn_reserv, struct bypass_list, all_bypasses) |
| (n_bypasses, gen_bypass_1, gen_bypass, process_bypasses) |
| (make_automaton_attrs): New. |
| (main): Do not call into genautomata. Call local gen_bypass |
| and gen_insn_reserv as appropriate. Call make_automaton_attrs. |
| Remove special case for insn_alts. |
| * genautomata.c: Include gensupport.h; not genattrtab.h nor |
| varray.h (leftover from previous change). Prune set of forward |
| function declarations. Remove state_alts fields from all |
| structures. Remove state_alts_table from struct automaton. |
| Make everything except main static. Do not maintain num_dfa_decls. |
| Do not maintain state_alts fields of various structures. |
| (process_decls): Don't validate condexp for dm_insn_reserv decls. |
| (add_arc): Remove state_alts argument. All callers updated. |
| (output_reserved_units_table): Emit #ifdef here... |
| (output_tables): ...not here. Don't generate state_alts tables. |
| (expand_automata): Don't generate attributes. |
| (write_automata): Don't generate state_alts functions. |
| (main): New function. |
| (it_is_empty_reserv_sets, output_state_alts_full_vect_name) |
| (output_state_alts_comb_vect_name, output_state_alts_check_vect_name) |
| (AUTOMATON_STATE_ALTS_MACRO_NAME, INTERNAL_STATE_ALTS_FUNC_NAME) |
| (STATE_ALTS_FUNC_NAME, INSN_DEFAULT_LATENCY_FUNC_NAME) |
| (BYPASS_P_FUNC_NAME, output_state_alts_table) |
| (output_automata_list_state_alts_code, output_internal_state_alts_func) |
| (output_state_alts_func, make_insn_alts_attr, make_bypass_attr) |
| (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr): |
| Delete. |
| * genattr.c: Declare internal_dfa_insn_code in insn-attr.h. |
| * genattrtab.h: Delete file. |
| * Makefile.in (OBJS-common): Add insn-automata.o. |
| (insn-automata.o): New rule. |
| (simple_generated_c): Add insn-automata.c. |
| (build/genattrtab.o, build/genautomata.o): Update dependencies. |
| (genprogmd): Add automata. |
| (build/genattrtab): Needs no extra objects nor libraries. |
| (build/genautomata): Needs build/vec.o and -lm. |
| |
| 2006-01-22 Zack Weinberg <zackw@panix.com> |
| |
| * genautomata.c (process_state_longest_path, max_dfa_issue_rate) |
| (output_dfa_max_issue_rate, locked_states_num): Delete. |
| (struct automaton): Add locked_states field. |
| (output_dead_lock_vect): Save number of locked states in |
| automaton->locked_states. If it is zero, don't print anything. |
| (output_max_insn_queue_index_def): Define max_insn_queue_index const. |
| (output_internal_dead_lock_func): Only test the dead_lock_vect |
| for automata that have locked states. |
| (output_statistics): Always print the number of locked states for |
| each automaton. Calculate total number of locked states here. |
| (write_automata): Don't call output_dfa_max_issue_rate. |
| * genattrtab.c: Define length_unit_log as a const variable. |
| * genattr.c: Don't emit MAX_DFA_ISSUE_RATE. Declare |
| max_insn_queue_index const. |
| * final.c (length_unit_log): Declare const. |
| * doc/tm.texi: Remove all references to MAX_DFA_ISSUE_RATE. |
| |
| 2006-01-22 Zack Weinberg <zackw@panix.com> |
| |
| * genautomata.c: Include vec.h, not varray.h. |
| Delete vla_ptr_t, all of the VLA_PTR_ macros, and all of the |
| VLA_HWINT_ macros. Change vla_hwint_t to a typedef for |
| VEC(vect_el_t,heap) *. Convert all uses of VLA_* macros to |
| VEC_* macros operating on appropriately typed vectors, or to |
| malloced arrays when the size is known in advance. Const-ify |
| many char* variables and function arguments. No functional changes. |
| * Makefile.in (build/varray.o): Delete rule. |
| (build/genattrtab): Depend on build/vec.o instead of build/varray.o. |
| (build/genautomata.o): Depend on vec.h instead of $(VARRAY_H). |
| |
| 2006-01-22 Zack Weinberg <zackw@panix.com> |
| |
| * gensupport.c: Define get_insn_name and record_insn_name here. |
| (read_md_rtx): Call record_insn_name as appropriate. |
| * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c |
| * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c |
| * genpreds.c, genrecog.c: Don't define get_insn_name nor |
| record_insn_name. |
| * Makefile.in (BUILD_SUPPORT, BUILD_PRINT): Fold into BUILD_RTL. |
| (BUILD_VARRAY): Delete. |
| (genprognormal): Rename genprogmd. Fold in all programs from |
| genprognoprint; also attrtab. |
| (build/genattrtab): Just mention genautomata.o and varray.o. |
|