X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=023894bfc0c2c5d779e102b0672b862242bfb839;hp=486c0186139e8274104511d9adbedd82bcea696d;hb=fe26ce8c1ff62b1e836396b7ff9d13e433e203f7;hpb=fb73e4871a6684641ce4376b7a67b5f1094d3297 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 486c0186139..e90b76ec954 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,1502 @@ +2006-05-04 David Edelsohn + + PR target/26481 + * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint + with output modifier. + +2006-05-04 Richard Sandiford + + 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 + + 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 + + * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove. + +2006-05-04 Jan Hubicka + + PR middle-end/25962 + * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing. + +2006-05-04 Bernd Schmidt + + * 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 + + * 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 + Daniel Berlin + + * 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 + + * 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 + + 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 + + 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 + + PR java/8260 + * coverage.c: Use get_gcov_unsigned_t() instead of + unsigned_type_node all over. + +2006-05-02 Andrew MacLeod + + 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 + + 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 + + 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 + + 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 + + * tree.c (unsigned_type_for, signed_type_for): Make sure a type + of the correct signedness is returned. + +2006-05-02 Jeff Law + + PR tree-optimization/27364 + * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from + multiply expressions. + +2006-05-02 Tom Tromey + + * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo. + +2006-05-02 Kazu Hirata + + PR target/27387 + * arm.c (arm_output_mi_thunk): Use pc-relative addressing when + -mthumb -fPIC are used. + +2006-05-02 Joshua Kinard + + PR target/25871 + * gcc/config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves + with 64-bit pointers. + +2006-05-02 Paul Brook + + * 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 + + PR ada/27366 + * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment + on Cygwin. + +2006-05-02 Jakub Jelinek + + 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 + + * 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 + + PR target/27374 + * config/arm/vfp.md (*arm_movdi_vfp): Correct the output + templates for case 3 and 4. + +2006-05-01 DJ Delorie + + * 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 + + * 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 + + 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 + + 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 + + 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 + + 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 + + * 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 + + 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 + + * omp-low.c (dump_omp_region): Add newlines. + +2006-04-30 Roger Sayle + + * 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 + + * 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 + + * 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 + + * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause. + +2006-04-28 Roger Sayle + + 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 + + * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX + value before passing to make_relative_prefix. + +2006-04-28 Alan Modra + + PR middle-end/27260 + * builtins.c (expand_builtin_memset): Expand val in original mode. + +2006-04-27 Eric Christopher + + * 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 + + 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 + + * 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 + + * 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 + + 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 + + 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 + + * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare + prototype for SSE. + +2006-04-26 Kenneth Zadeck + + * 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 + Paolo Bonzini + + 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 + + * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE. + +2006-04-26 Jakub Jelinek + + 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 + + * 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 + + * doc/install.texi (Specific): Clarify that this is not a list of + supported hosts or targets. + +2006-04-25 Richard Sandiford + + 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 + + * 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 + + * 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 + + * expmed.c (store_bit_field): Handle paradoxical subregs on big endian + machines. + +2006-04-25 Bernd Schmidt + + * 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 + + * dwarf2out.c (verify_marks_clear): New. + (prune_unused_types): Call verify_marks_clear initially, not + prune_unmark_dies. + +2006-04-24 Bernd Schmidt + + * 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 + + Revert: + 2006-04-23 Mark Mitchell + * configure.ac: Completely disregard languages that are not + enabled. + * configure: Regenerated. + +2006-04-24 Andrew Pinski + Richard Guenther + + PR tree-optimization/27236 + * tree-inline.c (copy_body_r): Make sure to copy + TREE_THIS_VOLATILE flag. + +2006-04-24 Richard Guenther + + 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 + Richard Guenther + + PR tree-optimization/27218 + * tree-inline.c (expand_call_inline): Strip useless type + conversions for the return slot address. + +2006-04-24 Richard Guenther + + * cfgloop.h (struct loops): Remove unused field array. Reorder + state after num. + (LOOP_PREFETCH): Remove. + +2006-04-24 Richard Guenther + + 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 + + * 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 + + * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too. + +2006-04-23 Mark Mitchell + + * 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 + + 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 + + * 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 + + 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 + + * fold-const.c (range_predecessor): Use operand_equal_p + as the predicate for equality. + (range_successor): Likewise. + +2006-04-22 Kazu Hirata + + Revert: + * config/soft-fp/op-common.h: Fix a typo. + +2006-04-22 Frank Ch. Eigler + + 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 + + * 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 + + * 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 + + * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos + in comments and function names. + +2006-04-21 Volker Reichelt + + PR c/25875 + * c-typeck.c (digest_init): Robustify. + + * c-typeck.c (pop_init_level): Simplify. + +2006-04-21 Steve Ellcey + + * config/pa/t-pa64: Add dependencies on $(GCC_PASSES). + +2006-04-21 Paul Brook + + * config/arm/arm.c (arm_override_options): Error on iWMMXt and + hardware floating point. + +2006-04-21 David Edelsohn + + * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to + NON_FLOAT_REGS. + +2006-04-21 Nick Clifton + + * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include + OPT_EXTRA_PARTS. + +2006-04-21 Alan Modra + + 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 + + * config/i386/i386.c (asm_preferred_eh_data_format): Reformat. + +2006-04-20 Volker Reichelt + + 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 + + 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 + + * 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 + + * 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 + + 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 + Nathan Sidwell + + 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 + + * 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 + + 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 + + * config/s390/s390.md: Add comments with the instructions emitted + by an insn pattern if macros are used. + +2006-04-19 Alan Modra + + 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 + + * 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 + + * 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 + + * config/m32c/m32c.h (PTRDIFF_TYPE): Define. + +2006-04-18 Devang Patel + + * doc/invoke.texi (-Wuninitialized): Clarify -O connection. + +2006-04-18 Nick Clifton + + * 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 + + * builtins.c (expand_builtin_strcmp): Cover label definition of + do_libcall with HAVE_cmpstrnsi. + +2006-04-18 Kazu Hirata + + * 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 + + * 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 + + PR target/27117 + + Partial revert of revision 112637 + 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. + +2006-04-18 Paolo Bonzini + + PR tree-optimization/26821 + * tree-ssa-math-opts.c (get_constant_one): New. + (insert_reciprocals): Use it. + +2006-04-17 Geoffrey Keating + + * 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 + + * 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 + + PR target/26826 + * reload.c (push_reload): Guard calls to get_secondary_mem + for memory subregs. + +2006-04-16 Kazu Hirata + + * 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 + + 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 + + * 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 + + 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 + Andrew Pinski + Dale Johannesen + + 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 + + * config/i386/i386.c (ix86_va_start): Ensure all integer constant + trees are constructed with a suitable tree type. + +2006-04-15 Roger Sayle + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + Eric Botcazou + + * config/sparc/sparc.c (emit_and_preserve): Allocate space for the + register save area. + +2005-04-13 Uros Bizjak + + PR middle-end/27134 + * builtins.c (expand_builtin_int_roundingfn): Use expand_normal() + to expand fallback builtin function call. + +2006-04-14 Alan Modra + + 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 + + * 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 + + * 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 + + 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 + + * 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 @@ -87,7 +1586,7 @@ (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. + (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. @@ -157,6 +1656,8 @@ 2006-04-04 Matthias Klose * Makefile.in (unprotoize.o): Same dependencies as for protoize.o. + * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted + strings. 2006-04-03 Geoffrey Keating @@ -996,10 +2497,10 @@ 2006-03-22 Volker Reichelt - PR mudflap/26790 + PR mudflap/26789 * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects. - PR mudflap/26789 + PR mudflap/26790 * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node. 2006-03-22 Volker Reichelt