X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=3cd2afaff0f87132a5eb61bbc1a49f2b24890ad8;hp=8e54cb943b2d89fd8be68927527e55b6cccfd6c7;hb=e47a6f81edf98a062ad29cdb62590c1c7fdeb37a;hpb=c407d2871c8df216346ebfbb4bc39bb893669c85 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8e54cb943b2..3cd2afaff0f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,248 @@ +2007-09-03 Kaveh R. Ghazi + + * system.h (CONST_CAST2, CONST_CAST_TREE, CONST_CAST_RTX, + CONST_CAST_BB): New macros for type-specific casts. + (CONST_CAST): Add a TYPE parameter and define it in terms of + CONST_CAST2. + + * c-decl.c (c_make_fname_decl): Supply a TYPE for CONST_CAST. + * c-lex.c (cb_ident, lex_string): Likewise, + * c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise, + * config/i386/i386.c (ix86_function_regparm, + ix86_function_sseregparm): Use CONST_CAST_TREE. + * config/mmix/mmix.c (mmix_encode_section_info): Supply a TYPE for + CONST_CAST. + * gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1, + give_switch, set_multilib_dir): Likewise, + * gengtype-parse.c (string_seq, typedef_name): Likewise, + * gimple-low.c (block_may_fallthru): Use CONST_CAST_TREE. + * jump.c (reversed_comparison_code_parts): Use CONST_CAST_RTX. + * passes.c (execute_one_pass): Supply a TYPE for CONST_CAST. + * prefix.c (update_path): Likewise, + * pretty-print.c (pp_base_destroy_prefix): Likewise, + * rtlanal.c (keep_with_call_p): Use CONST_CAST_RTX. + * tree-cfg.c (tree_can_merge_blocks_p, + tree_block_ends_with_condjump_p): Use CONST_CAST_BB. + * tree-eh.c (lookup_stmt_eh_region_fn): USe CONST_CAST_TREE. + * tree.c (build_string): Supply a TYPE for CONST_CAST. + (attribute_list_contained): Use CONST_CAST_TREE. + +2007-09-03 Krister Walfridsson + + * config/netbsd-elf.h (USE_LD_AS_NEEDED): Define. + +2007-09-03 Richard Sandiford + + PR middle-end/33290 + * optabs.c (avoid_expensive_constant): Canonicalize CONST_INTs + before forcing them into a register. + +2007-09-03 Richard Sandiford + + * config/mips/mips.md (fetchop_bit): Use define_code_iterator + rather than define_code_macro. + +2007-09-03 Francois-Xavier Coudert + + * gcc.c (xputenv): New function. + (putenv_from_prefixes): Use xputenv instead of putenv. + (process_command): Use xputenv instead of putenv. + (set_collect_gcc_options): Use xputenv instead of putenv. + (main): Use xputenv instead of putenv. + +2007-09-03 Jesper Nilsson + + * config/cris/cris.h (TARGET_HAS_SWAP): Defined to describe + availability of swap instruction. + * config/cris/cris.md (bswapsi2): Implement using swap instruction. + +2007-09-03 Revital Eres + + * doc/invoke.texi (-fmodulo-sched-allow-regmoves): Update + Documentation. + +2007-09-03 Vladimir Yanovsky + Ayal Zaks + Revital Eres + + * modulo-sched.c (ps_insert_empty_row, verify_partial_schedule, + compute_split_row): New functions. + (ps_unschedule_node): Remove. + (normalize_sched_times): Iterate over the already scheduled + insns instead of the number of nodes. + (MAX_SPLIT_NUM): New definition. + (sms_schedule_by_order): Change the scheduling heuristic to + avoid useless increases of initiation interval ii. + (get_sched_window): Add dump printouts. + +2007-09-02 David Daney + + * config/mips/mips.md (UNSPEC_COMPARE_AND_SWAP, UNSPEC_SYNC_OLD_OP, + UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_EXCHANGE): New define_constants. + (optab, insn): Add more attributes. + (fetchop_bit): New code macro. + (immediate_insn): New code macro attribute. + (sync): Change condition to ISA_HAS_SYNC. + (rdhwr): Change predicate for operand 0 to register_operand. + (memory_barrier): New expand. + (sync_compare_and_swap, sync_add, sync_sub, + sync_old_add, sync_old_sub, sync_new_add, + sync_new_sub, sync_, sync_old_, + sync_new_, sync_nand, sync_old_nand, + sync_new_nand, sync_lock_test_and_set): New insns. + * config/mips/mips.h (ISA_HAS_SYNC, ISA_HAS_LL_SC): New ISA predicates. + (MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP, MIPS_SYNC_OLD_OP, + MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND, + MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): New Macros. + +2007-09-03 Jesper Nilsson + Hans-Peter Nilsson + + * config/cris/cris.h (TARGET_HAS_LZ, CLZ_DEFINED_VALUE_AT_ZERO): + Defined to describe availability and behavior of CLZ. + * config/cris/cris.md (clzsi2): Implement using lz instruction. + * config/cris/cris.opt: Tweak comment for "-metrax4". + * config/cris/arit.c (LZ): When defined, define as __builtin_clz. + * longlong.h [__CRIS__ && __CRIS_arch_version >= 3] + (count_leading_zeros): Define. + +2007-09-01 Laurynas Biveinis + + * ggc-page.c (ggc_pch_read): Call validate_free_objects. + +2007-09-02 Joseph Myers + + PR middle-end/33272 + * c-decl.c (grokdeclarator): Apply qualifiers to type of parameter + decayed from array. + +2007-09-01 Kazu Hirata + + * config/arm/arm.c, config/rs6000/ppu_intrinsics.h, + config/spu/spu.c, df-scan.c, fixed-value.c, fold-const.c, + ginclude/tgmath.h, haifa-sched.c, optabs.c, recog.c, + sched-deps.c, sched-int.h, system.h, target.h, + tree-ssa-live.c, tree-vect-transform.c, tree-vectorizer.c, + tree.def: Fix comment typos. + +2007-09-01 Kazu Hirata + + * config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove. + (override_options): Turn on -mstrict-align on non-ColdFire + targets. + * config/m68k/m68k.h (BIGGEST_ALIGNMENT): Update a comment. + +2007-09-01 Kaveh R. Ghazi + + * c-common.c (const_strip_array_types): Delete. + * c-common.h (const_strip_array_types): Likewise. + * emit-rtl.c (const_next_insn, const_previous_insn, + const_next_nonnote_insn, const_prev_nonnote_insn, + const_next_real_insn, const_prev_real_insn, + const_next_active_insn, const_prev_active_insn, const_next_label, + const_prev_label): Delete. + * gimple-low.c (block_may_fallthru): Use expr_last. + * jump.c (reversed_comparison_code_parts): Use prev_nonnote_insn. + * rtl.h (const_previous_insn, const_next_insn, + const_prev_nonnote_insn, const_next_nonnote_insn, + const_prev_real_insn, const_next_real_insn, + const_prev_active_insn, const_next_active_insn, const_prev_label, + const_next_label): Delete. + * rtlanal.c (keep_with_call_p): Use next_nonnote_insn. + * system.h (CONST_CAST): Update comment. + * tree-cfg.c (tree_can_merge_blocks_p): Use last_stmt. + (const_first_stmt, const_last_stmt): Delete. + (tree_block_ends_with_condjump_p): Use last_stmt. + * tree-flow.h (const_first_stmt, const_last_stmt): Delete. + * tree-iterator.c (const_expr_first, const_expr_last, + const_expr_only): Delete. + * tree.c (const_lookup_attribute): Likewise. + (attribute_list_contained): Use lookup_attribute. + * tree.h (const_lookup_attribute, const_expr_first, + const_expr_last, const_expr_only): Delete. + +2007-09-01 Richard Guenther + + * tree-ssa-alias.c (create_name_tags): Use TYPE_VOLATILE + instead of TREE_THIS_VOLATILE. + * tree-ssa-operands.c (add_virtual_operand): Do not set + has_volatile_ops. Do not check s_ann for NULL. + (get_indirect_ref_operands): Likewise. + (get_expr_operands): Likewise. For all reference trees + set has_volatile_ops based on TREE_THIS_VOLATILE. Also + check base of reference for TREE_THIS_VOLATILE. + +2007-09-01 Richard Guenther + + * tree-cfg.c (verify_gimple_expr): Fix check for conversions + between integral types. Also allow conversions between + pointer types. + +2007-08-31 Andrew Pinski + + * optabs.c (prepare_float_lib_cmp): Use + libgcc_cmp_return_mode instead of word_mode. + * config/dfp-bit.h: Likewise. + * config/fp-bit.h: Likewise. + * config/spu/spu.c (spu_libgcc_cmp_return_mode): + New function. + (spu_libgcc_shift_count_mode): New function. + (TARGET_LIBGCC_CMP_RETURN_MODE): Define. + (TARGET_LIBGCC_SHIFT_COUNT_MODE): Define. + +2007-08-31 Joseph Myers + + * tree-pretty-print.c: Include output.h. + (dump_decl_name, dump_generic_node): Use %wd with pp_printf, not + HOST_WIDE_INT_PRINT_DEC. + * Makefile.in (tree-pretty-print.o): Add dependency on output.h. + +2007-08-31 Zdenek Dvorak + + PR rtl-optimization/33224 + * loop-iv.c (latch_dominating_def): Check that the definition belongs + to the analysed region. + +2007-08-31 Richard Guenther + + * function.c (allocate_struct_function): Do not set + current_function_returns_pointer. + * function.h (struct var_refs_queue): Remove. + (struct simple_obstack_stack): Likewise. + (struct function): Remove fixup_var_refs_queue member. + Remove returns_pointer flag. + (current_function_returns_pointer): Remove define. + +2007-08-31 Nick Clifton + + * tree-ssa-coalesce.c (compare_pairs): Use the elements as + secondary keys in order to obtain a stable sort. + +2007-08-31 Nick Clifton + + PR target/33132 + * config/m32r/constraints.md: Add W constraint for integer zero. + * config/m32r/m32r.md (get_pc): Use W and i constraints. + Fix length calculation by using alternatives. + +2007-08-31 Richard Sandiford + + * optabs.c (shift_optab_p, commutative_optab_p): New functions, + split out from expand_binop. + (avoid_expensive_constant): New function. + (expand_binop_directly): Remove commutative_op argument and + (expand_binop_directly): Remove commutative_op argument and + call cummutative_optab_p instead. Do not change op0 or op1 + when swapping xop0 and xop1. Apply avoid_expensive_constant + to each argument after potential swapping. Enforce the + canonical order of commutative operands. + (expand_binop): Use shift_optab_p and commutative_optab_p. + Update the calls to expand_binop_directly. Only force constants + into registers when widening an operation. Only swap operands + once a direct expansion has been rejected. + (expand_twoval_binop): Only force constants into registers when + using a direct expansion. + 2007-08-31 Maxim Kuvyrkov * sched-deps.c (update_dep): Mark arguments with ATTRIBUTE_UNUSED.