X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=be03295f9c6bda37c9c55dbfc4ddeeff82aed74e;hb=b58ac3f2ec3925c035ec1c904d64a5c7cb8f3145;hp=eb04bf36dc06796a558e048e95a28355f746eda0;hpb=30a10006ad6b64c4f0db48f2387c6d970f6a74ee;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eb04bf36dc0..be03295f9c6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,692 @@ +2004-06-29 Jakub Jelinek + + PR target/16195 + * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make + r30 fixed if TARGET_TOC && TARGET_MINIMAL_TOC. + (first_reg_to_save): Pretend call_used_regs[30] is 0 if + TARGET_TOC && TARGET_MINIMAL_TOC. + (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise. + +2004-06-29 J"orn Rennecke + + Fix gcc.dg/builtin-apply2.c failures: + * sh.h (TARGET_VARARGS_PRETEND_ARGS): Define. + * sh.c (extra_push): Delete. + (sh_expand_prologue): Don't do extra stack adjustment for + current_function_pretend_args_size if it comes from varargs setup. + Use TARGET_VARARGS_PRETEND_ARGS. Don't set extra_push. + (sh_expand_epilogue): Don't use extra_push. + (sh_setup_incoming_varargs): Set pretend_arg_size when necessary. + +2004-06-29 Roger Sayle + + * expmed.c (expand_smod_pow2): Provide alternate implementations + that avoid conditional jumps, and choose between them based upon + the target's rtx_costs. + +2004-06-29 Andrew Pinski + + * tree-sra.c: Include expr.h for definition of MOVE_RATIO. + * Makefile.in (tree-sra.c): Update dependencies. + +2004-06-29 Richard Henderson + + * tree-sra.c: Rewrite from scratch. Handle nested aggregates. + +2004-06-29 Nathan Sidwell + + * vec.h (VEC_T_safe_push, VEC_T_safe_insert): Tweak for when + size_t is bigger than int. + +2004-06-29 Paul Brook + + * target-def.h (TARGET_CXX_GET_COOKIE_SIZE, + TARGET_CXX_COOKIE_HAS_SIZE): Define. + (TARGET_CXX): Use them. + * target.h (struct gcc_target): Add cxx.get_cookie_size and + cxx.cookie_has_size. + * targhooks.c (default_cxx_get_cookie_size): New fucntion. + * targhooks.h (default_cxx_get_cookie_size): Add prototype. + * config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE, + TARGET_CXX_COOKIE_HAS_SIZE): Define. + (arm_get_cookie_size, arm_cookie_has_size): New functions. + * Make-lang.in (cp/init.o): Add dependency on $(TARGET_H). + * doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and + TARGET_CXX_COOKIE_HAS_SIZE. + +2004-06-29 J"orn Rennecke + + * cfglayout.c (fixup_reorder_chain): Don't do anything for + e_fall->dest == EXIT_BLOCK_PTR. + +2004-06-28 Richard Henderson + + * tree-cfg.c (verify_stmt): Add last_in_block parameter. Verify + that eh stmts can throw. + (verify_stmts): Update verify_stmt call. + (tree_purge_dead_eh_edges, tree_purge_all_dead_eh_edges): New. + * tree-eh.c (remove_stmt_from_eh_region): New. + (lower_eh_constructs): Fix throw_stmt_table delete routine. + (tree_could_trap_p): Match may_trap_p. + (maybe_clean_eh_stmt): New. + * tree-flow.h: Update decls. + * tree-ssa-ccp.c (pass_ccp): Add TODO_verify_stmts. + (substitute_and_fold): Clean eh edges. + * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Handle + empty basic blocks. + * tree-ssa-dom.c (need_eh_cleanup): New. + (tree_ssa_dominator_optimize): Allocate it. Cleanup eh edges. + (optimize_stmt): Cleanup eh stmts; set need_eh_cleanup. + +2004-06-29 Alan Modra + + * function.c (assign_parms): Don't abort with zero size stack + parm failing the PARM_BOUNDARY check. + +2004-06-28 Diego Novillo + + * common.opt (ftree-fre): New flag. + * flags.h (flag_tree_fre): Declare. + * opts.c (decode_options): Set. + * timevar.def (TV_TREE_FRE): Define. + * tree-flow-inline.h (may_propagate_copy): Re-arrange for + readability. Handle destinations that are not SSA_NAMEs. + * tree-flow.h (struct ptr_info_def): Move from tree.h + (cprop_into_stmt, cprop_into_successor_phis): Remove. + (vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Add + vuse_optype parameter. + * tree-pass.h (pass_fre): Declare. + * tree-ssa-copy.c (cprop_operand): Move to tree-ssa-dom.c + (cprop_into_stmt): Likewise. + (cprop_into_successor_phis): Likewise. + * tree-ssa-dom.c (eliminate_redundant_computations): Fix + argument ordering in call to may_propagate_copy. + * tree-ssa-pre.c (is_undefined_value): Assume hard registers + to be always defined. + (add_to_sets): New local function. + (create_value_expr_from): New local function. + (compute_avail): Call them. + (eliminate): Don't ignore statements with virtual operands. + (init_pre): New local function. + (fini_pre): New local function. + (execute_pre): Call them. + Add argument DO_FRE. Don't do insertion if DO_FRE is true. + (do_pre): New function. + (do_fre): New function. + (gate_fre): New function. + (pass_fre): Declare. + * tree-ssa.c (init_tree_ssa): Don't call vn_init. + (delete_tree_ssa): Don't call vn_delete. + * tree-vn.c (val_expr_pair_d): Add documentation. + (vn_compute): Add VUSES argument to incorporate in computing + hash values. Update all callers. + (expressions_equal_p): Call operand_equal_p with + OEP_PURE_SAME. + (vn_add): Add VUSES argument. Update all callers. + (vn_lookup): Likewise. + (vn_lookup_or_add): Likewise. + * doc/invoke.texi: Document -ftree-fre and -fdump-tree-fre. + +2004-06-28 Steven Bosscher + + * config/m32r/m32r.c (m32r_sched_odd_word_p, m32r_adjust_cost, + m32r_sched_init, m32r_sched_reorder, m32r_variable_issue): Remove. + (TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE, + TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Don't define. + * config/m32r/m32r.md: Rewrite the pipeline description as a DFA. + +2004-06-28 Richard Henderson + + * tree.def (REALPART_EXPR, IMAGPART_EXPR): Change class to 'r'. + * fold-const.c (operand_equal_p ): Add REALPART_EXPR, + IMAGPART_EXPR. + * tree-dump.c (dequeue_and_dump): Handle REALPART_EXPR and + IMAGPART_EXPR explicitly. + * tree-inline.c (estimate_num_insns_1): Don't handle REALPART_EXPR + and IMAGPART_EXPR specially. + * tree.c (build1_stat): Copy TREE_THIS_VOLATILE into class 'r'. + +2004-06-28 J"orn Rennecke + + * config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs. + +2004-06-28 Joseph S. Myers + + * builtins.def (execl, execlp, execle, execv, execvp, execve, + fork): Change to DEF_EXT_LIB_BUILTIN. + +2004-06-28 Roger Sayle + + * expmed.c (expand_smod_pow2): New function to expand signed + remainder by a constant power of 2, such as "x % 16". + (expand_divmod): Call new expand_smod_pow2 when appropriate. + Minor corrections to comments, e.g. wrapping long lines. + +2004-06-28 Ulrich Weigand + + * Makefile.in (vec.o): Fix dependencies. + +2004-06-28 Andreas Tobler + + * Makefile.in: Fix parallel make dependency problem on vec.o. + +2004-06-28 Dhananjay Deshpande + + PR target/14041 + * config/h8300/h8300.h (ASM_OUTPUT_ALIGNED_BSS): Define. + +2004-06-28 Nathan Sidwell + + * tree.h (tree_check_failed): Make varadic. + (tree_not_check_failed): New prototype. + (tree_check2_failed, tree_check3_failed, + tree_check4_failed, tree_check5_failed): Remove. + (TREE_CHECK, TREE_CHECK2, TREE_CHECK3, TREE_CHECK4, + TREE_CHECK5): Adjust. + (TREE_NOT_CHECK, TREE_NOT_CHECK2, TREE_NOT_CHECK3, TREE_NOT_CHECK4, + TREE_NOT_CHECK5): New. + (TREE_VEC_ELT_CHECK, PHI_NODE_ELT_CHECK, TREE_OPERAND_CHECK_CODE, + TREE_RTL_OPERAND_CHECK): Adjust. + * tree.c (tree_check_failed): Make varadic. + (tree_not_check_failed): New. + (tree_check2_failed, tree_check3_failed, + tree_check4_failed, tree_check5_failed): Remove. + +2004-06-28 Ulrich Weigand + + * combine.c (can_combine_p): Do not prevent building insns that use + and clobber the same fixed hard register. + (reg_dead_at_p): Likewise. + +2004-06-28 Richard Kenner + + * tree-sra.c (is_sra_candidate_ref): Remove second arg; all callers + changed. + (is_sra_candidate_complex_ref): New function. + (scalarize_modify_expr): Call it and check for LHS also. + + * tree-pretty-print.c (dump_function_declaration): New. + (dump_generic_node, case FUNCTION_TYPE): Call it. + (dump_generic_node, case RECORD_TYPE): Don't output dup semicolon. + (dump_generic_node, case DECL_EXPR): New case. + (dump_generic_node, case PLACEHOLDER_EXPR): Handle. + (print_declaration): Handle type and function declarations. + + * tree-nested.c (create_tmp_var_for): Allow ARRAY_TYPE. + (convert_nonlocal_reference, convert_local_reference): Properly + convert nest of handled component references. + +2004-06-28 Nathan Sidwell + + * vec.h, vec.c: New, type safe vector API. + * Makefile.in (OBJS-common): Add vec.o. + (vec.o): New target. + (gengtype-lex.o): Depend on vec.h. + +2004-06-28 Paolo Bonzini + + * fold-const.c (fold_cond_expr_with_comparison): Add ARG1 + parameter. Use it instead of ARG00 to produce the result. + +2004-06-28 Alexandre Oliva + + * config/mn10300/mn10300-protos.h (legitimate_address_p): Declare. + * config/mn10300/mn10300.c (legitimate_address_p): New. Test that + index is legitimate, compared with code moved from... + * config/mn10300/mn10300.h (GO_IF_LEGITIMATE_ADDRESS): here. + (REG_STRICT): Define, according to REG_OK_STRICT. + (REGNO_IN_RANGE_P, REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P, + REGNO_EXTENDED_P, REGNO_AM33_P, REGNO_FP_P): Introduce strict + argument. + (REGNO_STRICT_OK_FOR_BASE_P, REGNO_STRICT_OK_FOR_BIT_BASE_P, + REGNO_STRICT_OK_FOR_INDEX_P): New. + (REGNO_OK_FOR_BASE_P, REG_OK_FOR_BASE_P, REGNO_OK_FOR_BIT_BASE_P, + REG_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P, + RTX_OK_FOR_BASE_P): Use them. + +2004-06-28 Ben Elliston + + * doc/cfg.texi (Basic Blocks): Define dominators. + +2004-06-27 Andrew Pinski + + PR c++/16205 + * c-common.c (warn_for_collisions_1): Warn for only decls which + have a name. + + PR c++/15145 + * c.opt (Wsequence-point): Enable for C++ and ObjC++. + + PR c/14963 + * c-decl.c (start_decl): Check for null types. + +2004-06-27 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): + Accept TOC addresses. + +2004-06-27 Ulrich Weigand + + * config/s390/s390-protos.h (s390_load_got): Update prototype. + * config/s390/s390.c (struct machine_function): Add member base_reg. + (s390_decompose_address): Accept UNSPEC_LTREF. Simplify logic. + (s390_split_branches): Annotate late pool references. + (annotate_constant_pool_refs): New function. + (find_constant_pool_ref): Work on annotated pool references. + (replace_constant_pool_ref): Likewise. Use explicit base. + (replace_ltrel_base): Use explicit base. + (s390_mainpool_start): Reflect main_pool pattern change. + (s390_mainpool_finish): Use base register from main_pool. + Update calls to replace_ltrel_base and replace_constant_pool_ref. + (s390_chunkify_start): Use base_reg from struct machine_function. + (s390_chunkify_finish): Remove base_reg argument. Update calls + to replace_ltrel_base and replace_constant_pool_ref. + (s390_reorg): Don't decide upon base register. Update calls. + (s390_load_got): Remove MAYBE_DEAD handling. Do not emit insns + but return sequence instead. + (s390_emit_prologue): Decide upon base register to use. Annotate + all literal pool references. Adapt to main_pool pattern change. + Update s390_load_got call; move MAYBE_DEAD handling here. + (s390_emit_epilogue): Annotate late literal pool references. + Remove barrier before register restore instruction. + * config/s390/s390.md (UNSPEC_LTREF): New constant. + ("builtin_setjmp_receiver"): Update s390_load_got call. + ("main_pool"): Explicitly reference base register. + +2004-06-27 Roger Sayle + + * fold-const.c (fold) : Optimize ~X|X and X|~X as -1. + : Optimize ~X|X and X|~X as -1. + : Optimize ~X&X and X&~X as 0. + : Optimize !X&&X and X&&!X as false. + : Optimize !X||X and !X||X as true. + : Optimize !X^X and X^X! as true. Now that + TRUTH_XOR_EXPR is a commutative tree code, don't test whether arg0 + is a constant. + +2004-06-26 Richard Kenner + + * c-common.c (c_safe_from_p, c_walk_subtrees): Deleted. + * c-common.def (DECL_STMT): Remove. + * c-common.h (DECL_STMT_DECL): Deleted. + (COMPOUNT_LITERAL_EXPR_DECL): Use DECL_EXPR_DECL. + (c_safe_from_p, c_walk_subtrees): Deleted. + * c-decl.c, c-parse.in, c-pretty-print.c: DECL_STMT now DECL_EXPR. + * c-dump.c (c_dump_tree, case DECL_STMT): Deleted. + * c-gimplify.c (gimplify_decl_stmt): Deleted. + (gimplify_compound_literal_expr): Use DECL_EXPR_DECL + and gimplify_and_add. + (c_gimplify_expr, case DECL_EXPR): New case. + (c_gimplify_expr, case DECL_STMT): Deleted. + * c-lang.c (LANG_HOOKS_SAFE_FROM_P): Likewise. + (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise. + * expr.c (safe_from_p, case 's'): New case. + * gimplify.c (gimplify_decl_expr): New function. + (gimplify_expr, case DECL_EXPR): New case. + * tree-inline.c (walk_tree): Walk into all fields of a type and + decl only if they are in a DECL_EXPR. + (mark_local_for_remap_r): Minor code cleanup. + * tree-outof-ssa.c (discover_nonconstant_array_refs_r): Add else. + * tree.c (has_cleanups, case DECL_EXPR): New case. + * tree.def (DECL_EXPR): New code. + * tree.h (DECL_EXPR_DECL): New macro. + + * objc/objc-lang.c (LANG_HOOKS_SAFE_FROM_P): Deleted. + +2004-06-26 Andrew Pinski + + PR 13334 + * doc/install.texi: Document non-standard CFLAGS and bootstrap + failures and warnings. + +2004-06-26 Andrew Haley + + * emit-rtl.c (set_mem_attributes_minus_bitpos): Check + TREE_THIS_NOTRAP when setting MEM_NOTRAP_P. + * tree-eh.c (tree_could_trap_p): Check TREE_THIS_NOTRAP. + * tree.h (TREE_THIS_NOTRAP): New. + +2004-06-26 Kaz Kojima + + * genattrtab.c (write_test_expr): Put a unsigned cast before + the first operand for GEU, GTU, LEU and LTU. + +2004-06-26 Kazu Hirata + + * c-typeck.c, cfgexpand.c, ddg.c, ddg.h, df.c, fold-const.c, + gcov.c, gimplify.c, modulo-sched.c, passes.c, tree-cfg.c, + tree-mudflap.c, tree-nrv.c, tree-outof-ssa.c, tree-ssa-dom.c, + tree-ssa-dse.c, tree-ssa-operands.c, tree-ssa-pre.c, + tree-tailcall.c: Fix comment typos. Follow spelling + conventions. + +2004-06-25 Eric Christopher + + * config/mips/mips.md: Add back scheduling exclusion info. + +2004-06-25 Roger Sayle + + * ifcvt.c (seq_contains_jump): Delete function. + (end_ifcvt_sequence): Replace call to seq_contains_jump with an + inline test for a jump instruction in the existing "insn" loop. + (block_fallthru): Document function. + +2004-06-25 Philip Blundell + + PR wrong-code/15089 + * loop.c (scan_loop): Do not move user-specified register + assignments. + +2004-06-25 DJ Delorie + + * c-common.h (warn_cast_qual, warn_missing_format_attribute, + warn_pointer_arith, warn_missing_prototypes, warn_parentheses, + warn_missing_braces, warn_sign_compare, warn_long_long, + warn_redundant_decls, warn_float_equal, warn_char_subscripts, + warn_conversion, warn_format_y2k, warn_format_extra_args, + warn_format_zero_length, warn_format_nonliteral, + warn_format_security, mesg_implicit_function_declaration, + warn_bad_function_cast, warn_traditional, + warn_declaration_after_statement, warn_strict_prototypes, + warn_missing_declarations, warn_nested_externs, + warn_sequence_point, warn_init_self, warn_div_by_zero, + warn_implicit_int, warn_nonnull, warn_old_style_definition, + warn_selector, warn_undeclared_selector, warn_protocol, + warn_abi, warn_invalid_offsetof, warn_ctor_dtor_privacy, + warn_overloaded_virtual, warn_nonvdtor, warn_reorder, + warn_synth, warn_pmf2ptr, warn_ecpp, warn_sign_promo, + warn_old_style_cast, warn_nontemplate_friend, + warn_deprecated): Remove explicit declarations. + * c-common.c: Likewise, remove explicit definitions. + * c-opts.c: Likewise, remove explicit assignments. + * c.opts: Likewise, add implicit declare/define/assign. + +2004-06-25 Richard Kenner + + * gimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case. + (build_addr_expr_with_type): Deleted. + (build_addr_expr): Deleted; callers changed to build_fold_addr_expr. + (gimplify_compound_lval): Make two passes over reference nest. + + * tree-nested.c (build_addr): Merge real/imagpart with + handled_component_p. + (convert_nonlocal_reference, convert_local_reference): Process extra + args to COMPONENT_REF and ARRAY_REF. + * tree-outof-ssa.c (discover_nonconstant_array_refs_r): Check for + lower bound and field offset being constant. + +2004-06-25 Mark Mitchell + + PR wrong-code/16129 + * alias.c (get_alias_set): Adjust setting of + DECL_POINTER_ALIAS_SET for pointers to aggregates. + +2004-06-24 Richard Kenner + + * tree-inline.c (remap_type): Arrange to have just one pointer type + for each type, mode, and 'can alias' value. + (setup_one_parameter): Remap type when making VAR_DECL for PARM_DECL. + (estimate_num_insns_1): Minor code reformatting. + (inline_forbidden_p_1): Likewise; add; missing return statement. + +2004-06-25 Roger Sayle + + PR middle-end/15825 + * ifcvt.c (unshare_ifcvt_sequence): Rename to end_ifcvt_sequence. + Use get_isns and end_sequence instead of accepting a seq argument. + Scan the instruction sequence for unrecognizable or jump insns. + (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants, + noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove, + noce_try_cmove_arith, noce_try_minmax, noce_try_abs, + noce_try_sign_mask): Use end_ifcvt_sequence to factor common code. + +2004-06-24 Jeff Law + + * gimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS + after gimplifying the innermost component. + +2004-06-25 Richard Sandiford + + PR target/16176 + * config/mips/mips.c (mips_expand_unaligned_load): Use a temporary + register for the destination of the lwl or ldl. + +2004-06-25 Richard Kenner + + * tree-dfa.c (get_virtual_var): Merge real/imaginary parts with + handled_component_p handling. + * tree-gimple.c (get_base_address): Likewise and fix typo that + caused both recursion and looping. + + * tree-cfg.c (verify_expr): Add macro CHECK_OK. + Properly test for nest of handled_components in LHS context. + +2004-06-25 Devang Patel + + * doc/tree-ssa.texi: Document info about MODIFY_EXPR's type + +2004-06-25 Paul Brook + + * target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT, + TARGET_CXX): Define. + (TARGET_INITIALIZER): Use TARGET_CXX. + * target.h (struct gcc_target): Add struct cxx. + * targhooks.h (default_cxx_guard_type): Add prototype. + * targhooks.c (default_cxx_guard_type): New function. + * config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT): + Define. + (arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions. + * doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and + TARGET_CXX_GUARD_MASK_BIT. + +2004-06-25 Devang Patel + + * config/rs6000/darwin.h (CC1_SPEC): Handle -gused and -gfull. + * config/i386/darwin.h (CC1_SPEC): Same. + +2004-06-25 Mark G. Adams + + * dbxout.h: Add include guards + +2004-06-25 Paul Brook + + * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__. + +2004-06-25 Richard Earnshaw + + * arm.c (arm_arch4t): New variable. + (arm_override_options): Initialize it. If compiling for armv5 or + higher clear TARGET_INTERWORK. + (output_call): Abort if called for armv5. Use BX if it's available. + (output_call_mem): Use BLX if available and ensure that all armv5 + code is interworking safe. + (output_return_instruction): Always use BX in preference to MOV if + it's available. + (arm_output_epilogue): Likewise. + (arm_final_prescan_insn): Never conditionally call a subroutine + on armv5. + * arm.h (arm_arch4t): Declare. + * arm.md (call_reg_armv5, call_value_reg_armv5): New. + (call_reg_arm, call_value_reg_arm): Renamed from call_reg and + call_value_reg respectively. + (call_reg_thumb_v5, call_value_reg_thumb_v5): New. + (call_reg_thumb, call_value_reg_thumb): Renamed from call_indirect + and call_value_indirect respectively. + +2004-06-25 Richard Sandiford + + * config/mips/mips.c (reg_or_const_float_1_operand): Reimplement + in terms of const_float_1_operand. + +2004-06-25 Richard Sandiford + + PR target/16144 + * config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand + is 1.0; force it into a register instead. + +2004-06-25 Bernardo Innocenti + + * config/m68k/m68k.h: Restore valid comment removed by mistake with + the recent m68k comments cleanup. + +2004-06-24 Richard Kenner + + * c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add. + * gimplify.c (internal_get_tmp_var, gimplify_return_expr): Likewise. + (gimplify_loop_expr, gimplify_init_constructor): Likewise. + (gimplify_self_mod_expr, gimplify_cond_expr): Likewise. + + PR/16131 + * gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR. + + * gimplify.c: Remove unneeded forward declarations. + + * gimplify.c (append_to_compound_expr): Deleted. + * tree-gimple.h (append_to_compound_expr): Deleted. + + * fold-const.c (fold_addr_expr_with_type): Look through all + valid LHS modifiers to find a base to mark addressable. + + * tree.h (debug_find_tree): Add declaration. + * tree-inline.c (debug_find_tree): Remove extern declaration. + +2004-06-24 Eric Christopher + + * config/rs6000/rs6000.md: Apply change mistakenly + deleted with 2004-06-22 patch. + +2004-06-24 Richard Henderson + + * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): Remove. + (c_break_label, c_cont_label): New. + (start_function): Update initializations. + (c_push_function_context): Update saves. + (c_pop_function_context): Update restores. + * c-parse.in: Update expected conflicts. + (stmt_count, compstmt_count): Remove. Remove all updates. + (if_prefix, simple_if, do_stmt_start): Remove. + (lineno_labeled_stmt): Remove. + (lineno_labels): New. + (c99_block_lineno_labeled_stmt): Use it. + (lineno_stmt, lineno_label): Don't clear EXPR_LOCUS before calling + annotate_with_locus. + (select_or_iter_stmt): Replace by ... + (condition, if_statement_1, if_statement_2, if_statement, + start_break, start_continue, while_statement, do_statement, + for_cond_expr, for_incr_expr, for_statement, switch_statement): New. + (stmt): Split out ... + (stmt_nocomp): ... this. Use c_finish_bc_stmt, c_finish_goto_label, + c_finish_goto_ptr. + * c-semantics.c (add_stmt): Don't add line numbers to labels. + * c-tree.h: Update prototypes. + (struct language_function): Remove x_in_iteration_stmt, x_in_case_stmt; + add x_break_label, x_cont_label, x_switch_stack. + (c_switch_stack): Declare. + * c-typeck.c (c_finish_goto_label, c_finish_goto_ptr): New. + (c_finish_return): Return the statement. + (c_switch_stack): Rename from switch_stack; export. + (if_elt, if_stack, if_stack_space, if_stack_pointer): Remove. + (c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_begin_else, + c_finish_else): Remove. + (c_finish_if_stmt): Rewrite to perform the entire operation. + (c_begin_while_stmt, c_finish_while_stmt_cond, c_finish_while_stmt, + c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond, + c_finish_for_stmt_incr, c_finish_for_stmt): Remove. + (c_finish_loop): New. + (c_finish_bc_stmt): New. + (c_finish_expr_stmt): Return the statement. Split out... + (c_process_expr_stmt): ... this. Don't add locus to error marks. + * gimplify.c (gimplify_cond_expr): Accept NULL type statements. + * tree-gimple.c (is_gimple_stmt): Likewise. + * tree-pretty-print.c (dump_generic_node ): Likewise. + (print_struct_decl): Delete empty compound statement. + * objc/objc-act.c (objc_build_throw_stmt): Return the statement. + * objc/objc-act.h: Update decl. + +2004-06-24 Richard Kenner + + * tree-pretty-print.c (dump_generic_node, case TYPE_DECL): + Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE. + +2004-06-24 Andrew Pinski + + * objc-act.c (build_objc_method_call): Save the lookup_object + so we do not call it twice. + +2004-06-24 Richard Henderson + + * tree-ssa-dom.c (real_avail_expr_hash): New. + (tree_ssa_dominator_optimize): Use it in the htab. + +2004-06-24 Frank Ch. Eigler + + * tree-mudflap.c (mx_register_decls): Add third (type) argument + to synthesized __mf_unregister call. + +2004-06-24 Roger Sayle + + PR middle-end/15239 + * expmed.c (expand_mult): Remove artificial restriction on the + maximum cost of a synthetic multiplication sequence. + +2004-06-24 Eric Christopher + + * combine.c (distribute_notes): Don't delete sets to + global register variables. + +2004-06-24 Jakub Jelinek + + * config/i386/i386.md (ffsdi2, clzdi2): New expanders. + (ffs_rex64): New splitter. + (ffsdi_1, ctzdi2, bsr_rex64): New instructions. + +2004-06-24 Andrew Pinski + + * config/darwin7.h (MATH_LIBRARY): Remove. + (LIB_SPEC): Define. + * config/darwin.h (MATH_LIBRARY): Define always to empty. + (LIB_SPEC): Only define if not already defined. + +2004-06-24 Revital Eres + + * loop-iv.c (iv_analyze, simple_set_p): Support for identifying + shifts of induction variable. + (iv_shift): New function. + +2004-06-24 Richard Henderson + + * gimplify.c (gimplify_body): Watch for body vanishing. + +2004-06-24 Jeff Law + + * tree-ssa-dom.c (record_dominating_conditions): New function. + (dom_opt_finalize_block, get_eq_expr_value): Use it. + +2004-06-24 Richard Sandiford + + * calls.c (shift_returned_value): Fix handling of non-integer + TYPE_MODEs. + +2004-06-24 Ulrich Weigand + + * c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN. + * system.h (DEFAULT_MAIN_RETURN): Poison. + * doc/tm.texi (DEFAULT_MAIN_RETURN): Remove documentation. + +2004-06-24 Ben Elliston + + * doc/cfg.texi (Edges): Fix typo. + +2004-06-24 Paul Brook + + * config/arm/arm.c (arm_output_epilogue): Remove excess checks. + +2004-06-23 Andrew Pinski + + PR middle-end/15988 + * fold-const.c (fold_convert): Types which are compatible + can be converted with only a NOP_EXPR. + 2004-06-24 Alan Modra * calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and @@ -9,7 +698,7 @@ * c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside non-constant size check. Gimplify the type too. Tidy building - BUILT_IN_STACK_ALLOC call + BUILT_IN_STACK_ALLOC call. 2004-06-23 Roger Sayle @@ -560,7 +1249,7 @@ 2004-06-21 J"orn Rennecke - * sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define. + * sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionally define. (SUPPORT_SH4_SINGLE): Likewise. (TARGET_SWITCHES): Break out switches for cpu subtargets: (TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.