X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=570342cc02b6ca48d662452128d5771b7c6da667;hp=5e74c0424c3293394b6de0d2330a25a56aaeaf69;hb=61e47ac8a36d428c1dc2009c9707ed83acce3fff;hpb=64319b3ea5ee56e101ce89d926010330bbcfe3df diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5e74c0424c3..570342cc02b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,835 @@ +2006-04-13 Richard Henderson + + PR 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 + + * fold-const.c (native_encode_vector, native_interpret_real): + Correct obvious mistakes in the previous check-in. + +2006-04-13 Roger Sayle + + * 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) : Call fold_view_convert_expr. + Change call of build1 to fold_build1 when constructing a + VIEW_CONVERT_EXPR. + +2006-04-13 Paolo Bonzini + Ulrich Weigand + + PR target/27006 + * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n + to be even. + +2006-04-13 Alan Modra + + 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 + + * 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 + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new + symbolic constants in branch patterns. + +2006-04-11 Roger Sayle + + * caller-save.c: #include "addresses.h" after #include "tm_p.h". + +2006-04-11 Richard Sandiford + + 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 + + * config/sparc/sparc.c (function_arg_slotno) : 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 + + * dwarf2out.c (premark_used_types): Remove problematic prototype. + +2006-04-11 Jakub Jelinek + + * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o. + +2006-04-03 Jeff Law + + PR/27087 + * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive + alias information too. + +2006-04-10 Mike Frysinger + + * gcc/Makefile.in (gcc-cross): Add $(exeext) to target name. + +2006-04-10 Aldy Hernandez + + 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 + + PR target/26459 + * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test + rs6000_explicit_options.float_gprs. + +2006-04-10 Roger Sayle + + * 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 + + * 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 + + * 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 + + * doc/install.texi (*-*-solaris2*): Point to the configure page. + +2006-04-10 Jakub Jelinek + + PR debug/27057 + * dwarf2out.c (is_symbol_die): Return true also for namespaces. + +2006-04-09 Roger Sayle + + * 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 + + * tree-ssa-alias.c (lhs_may_store_to): New function. + (recalculate_used_alone): Handle LHS of calls. + +2006-04-09 John David Anglin + + 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 + + PR rtl-optimization/27073 + * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes, + not REG_EQUIVs. + +2006-04-08 Daniel Berlin + + * 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 + + * 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 + + * 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 + + * 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 + + * config/rs6000/rs6000.c (rs6000_rtx_costs) : Do not + treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra + insn. + +2006-04-07 Jan Hubicka + + * ipa-inline.c (cgraph_early_inlining): Collect garbage. + +2006-04-07 Richard Guenther + + 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 + + * gcc/config/i386/linux.h: Add a comment to mark macros that are + being overriden in config/k*bsd-gnu.h. + * gcc/config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of + DYNAMIC_LINKER. + * gcc/config/knetbsd-gnu.h: Ditto. + +2006-04-06 Jan Hubicka + + PR profile/20815 + PR profile/26399 + * coverage.c (coverage_checksum_string): Reorganize loop to not read + after buffer. + +2006-04-06 Mike Stump + + * 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 + + * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c + vs m32c. + +2006-04-05 Bernd Schmidt + + * 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 + + PR tree-optimization/26919 + * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument + to cgraph_estimate_size_after_inlining. + +2006-04-05 Alan Modra + + * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change. + +2006-04-05 Sebastian Pop + + PR tree-optimization/26996 + * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze + VECTOR_TYPE variables. + +2006-04-05 Richard Guenther + + 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 + + * 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 + + * 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 + + * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than + NULL for dso parameter to atexit_common. + +2006-04-04 Eric Christopher + + * config/i386/i386.c (machopic_output_stub): Output \t + between instructions and operands. + +2006-04-04 David Edelsohn + + * config/rs6000/rs6000.c (num_insns_constant_wide): Change + satisfies_constraint_[IL] to explicit tests on value. + +2006-04-04 Sebastian Pop + + * 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 + + * 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 + + * 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 + + * doc/install.texi (Prerequisites): Mention jar. + +2006-04-04 Daniel Berlin + + * doc/tree-ssa.texi (Preserving the virtual ssa form): New + subsection. + +2006-04-04 Matthias Klose + + * Makefile.in (unprotoize.o): Same dependencies as for protoize.o. + +2006-04-03 Geoffrey Keating + + * 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 -fvisibiltity= + 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 + + * simplify-rtx.c (simplify_unary_operation_1) : When + trying to remove TRUNCATE check if all bits outside the new mode + are identical to the sign bit. + +2006-04-03 Jeff Law + + * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding + and operand scanning in some common cases. + +2006-04-03 Paolo Bonzini + Dale Johannesen + + 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 + + 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 + + * 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 + + 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 + + PR tree-optimization/26939 + * tree-chrec.c (chrec_merge): Use eq_evolutions_p. + +2006-04-02 Sebastian Pop + + * 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 + + * 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 + Richard Henderson + + * gimplify.c (gimplify_scan_omp_clauses) : Call + gimple_boolify on the condition before calling gimplify_expr. + +2006-03-31 Bob Wilson + + * 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 + + * 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 + + * 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 + + * config/sh/linux-atomic.asm: New file. + * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm. + +2006-03-31 DJ Delorie + + * 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): 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 + + * doc/md.texi: Refer to avr/constraints.md instead of + avr/avr.h. + +2006-03-30 Roger Sayle + + * 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 + + 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 + + * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with + !Zdynamiclib. + +2006-03-30 Carlos O'Donell + + * Makefile.in: Rename docdir to gcc_docdir. + +2006-03-30 Roger Sayle + + 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 + + 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 + + * 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 + + * 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 + + 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 + + * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic + variants with double arguments. + 2006-03-29 David Edelsohn * 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 @@ -98,7 +927,7 @@ 2006-03-29 Andreas Krebbel - * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to + * 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. @@ -106,7 +935,7 @@ (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 + (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT check with SCALAR_FLOAT_MODE_P. (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro. @@ -147,7 +976,7 @@ * fold-const.c (fold_binary) : Fold (X & Y) ^ Y as the equivalent ~X & Y, and the symmetry related transformations. - (fold_binary) : Similarly, fold (X ^ Y) & Y as + (fold_binary) : Similarly, fold (X ^ Y) & Y as ~X & Y, and symmetry related transforms. 2006-03-28 Maxim Kuvyrkov @@ -304,7 +1133,7 @@ 2006-03-27 Andreas Krebbel - * config/s390/s390-protos.h (s390_hard_regno_mode_ok, + * 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. @@ -340,7 +1169,7 @@ 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_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. @@ -354,7 +1183,7 @@ (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 + (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. @@ -1067,7 +1896,7 @@ 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. + (mips_split_p): Declare. 2006-03-16 Richard Sandiford @@ -1373,7 +2202,7 @@ * 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 + (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. @@ -1459,7 +2288,7 @@ * 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 * config/arm/arm.c (minipool_pad): New. @@ -1675,7 +2504,7 @@ 2006-03-13 Kazu Hirata * doc/invoke.texi (-fdump-rtl-loop): Remove. - (-dL, -fdump-rtl-loop2): Update the dump file names + (-dL, -fdump-rtl-loop2): Update the dump file names * doc/invoke.texi: Update dump file names. @@ -1721,7 +2550,7 @@ 2006-03-10 Jason Merrill PR c/26004 - * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if + * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if the target was declared 'register'. 2006-03-10 Adam Nemet @@ -1746,7 +2575,7 @@ * 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. + (sh64-superh-linux*): Don't multilib. 2006-03-10 J"orn Rennecke @@ -1791,7 +2620,7 @@ (*branch_zero): Rename to... (*branch_order): ...this. Remove mode from comparison operator. Use mips_output_order_conditional_branch. Only accept ordered - comparisons. + comparisons. (*branch_zero_inverted): Rename to... (*branch_order_inverted): ...this and update as for *branch_order. @@ -2134,7 +2963,7 @@ (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 * tree-ssa-operands.c: Tidy whitespace. Fix spelling.