X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=55def7ed345995cf7f8d7a6a5de90cb289c5a7c4;hb=849ea31c7003d51e4d909b4eb8851867edd35717;hp=87ce15410e44e4d32b229de575991f97b84ee614;hpb=c227f8def1ec1ff3dba7bc6459029e97da4885af;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 87ce15410e4..55def7ed345 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,351 @@ +2007-04-13 John David Anglin + + PR middle-end/31322 + * dwarf2out.c (output_call_frame_info): Call assemble_external_libcall + when a personality function is used. + +2007-04-13 Bob Wilson + + * config/xtensa/xtensa.c (xtensa_expand_builtin): Use CALL_EXPR_FN. + +2007-04-13 Mike Stump + + * config/darwin-c.c (handle_c_option): Handle -fapple-kext here so + we can... + * config/darwin.opt (fapple-kext): Make C++ only. + * config/darwin.c (darwin_override_options): Remove code to ensure + -fapple-kext is given for C++ only. + +2007-04-13 Richard Sandiford + + * config/mips/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define. + * config/mips/mips.c (override_options): Call + SUBTARGET_OVERRIDE_OPTIONS, if defined. + +2007-04-13 H.J. Lu + + * config/i386/i386.opt (msvr3-shlib): Removed. + + * doc/invoke.texi: Remove -msvr3-shlib. + +2007-04-13 H.J. Lu + + * config/i386/i386.opt (mpopcnt): Replace "popcount" instruction + with "popcnt" instruction. + +2007-04-13 Richard Guenther + + PR tree-optimization/21258 + * tree-vrp.c (compare_case_labels): New helper. + (find_switch_asserts): New function. + (find_assert_locations): Call it for SWITCH_EXPRs. + +2007-04-13 Uros Bizjak + + * config/i386/i386.h (X87_FLOAT_MODE_P): Check for TARGET_80387. + * config/i386/i386.md (*cmpfp0): Remove check for TARGET_80387, this + check is now implied in X87_FLOAT_MODE_P. + (*cmpfp_u, *cmpfp_, *cmpfp_i_i387): Ditto. + (*cmpfp_iu_387, fix_trunc_fisttp_i386_1): Ditto. + (fix_trunc_i386_fisttp): Ditto. + (fix_trunc_i387_fisttp_with_temp): Ditto. + (*fix_trunc_i387_1, fix_truncdi_i387): Ditto. + (fix_truncdi_i387_with_temp, fix_trunc_i387): Ditto. + (fix_trunc_i387_with_temp, *fp_jcc_1_387): Ditto. + (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto. + (*fp_jcc_7_387, *fp_jcc_8_387): Ditto. + (unnamed_splitters): Ditto. + * config/i386/i386.c (function_value_32): Generate FIRST_FLOAT_REG + for X87_FLOAT_MODE_P mode. Override FIRST_FLOAT_REG with + FIRST_SSE_REG for local functions when SSE math is enabled or + for functions with sseregparm attribute. + (standard_80387_constant_p): Return -1 if mode is not + X87_FLOAT_MODE_P. + (ix86_cc_mode): Assert that scalar mode is not DECIMAL_FLOAT_MODE_P. + (ix86_expand_compare): Ditto. + (ix86_expand_carry_flag_compare): Ditto. + (ix86_expand_int_movcc): Check for SCALAR_FLOAT_MODE_P instead + of FLOAT_MODE_P for cmp_mode and assert that cmp_mode is not + DECIMAL_FLOAT_MODE_P. + (ix86_preferred_output_reload_class): Use X87_FLOAT_MODE_P instead + of SCALAR_FLOAT_MODE_P. + (ix86_rtx_costs) [PLUS] Remove FLOAT_MODE_P and fall through to ... + [MINUS]: ... here. Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P + checks before FLOAT_MODE_P. + [MULT]: Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P checks + before FLOAT_MODE_P. + [DIV]: Ditto. + [NEG]: Ditto. + [ABS]: Ditto. + [SQRT]: Ditto. + [FLOAT_EXTEND]: Use SSE_FLOAT_MODE_P. + +2007-04-12 Paolo Bonzini + Charles Wilson + + * Makefile.in (stamp-as, stamp-collect-ld, stamp-nm): Remove. + (libgcc.mvars): Don't depend on them. + * configure.ac (as, collect-ld, nm): Create from exec-tool.in. + * exec-tool.in: New. + +2007-04-12 Brooks Moses + + * doc/invoke.text (--help): Document --help=common. + +2007-04-12 Thomas Neumann + + * stub-objc.c (objc_build_keyword_decl): Avoid C++ keywords. + +2007-04-12 Richard Sandiford + + * Makefile.in (insn-emit.o): Depend on $(INTEGRATE_H). + * genemit.c (main): Emit #include "integrate.h". + * config/mips/mips-protos.h (SYMBOL_HALF): New mips_symbol_type. + (LOADGP_RTP): New mips_loadgp_style. + * config/mips/mips.h: Include config/vxworks-dummy.h. + (TARGET_RTP_PIC): New macro. + (TARGET_USE_GOT): Return true for TARGET_RTP_PIC. + (TARGET_USE_PIC_FN_ADDR_REG): Return true for TARGET_VXWORKS_RTP. + (ASM_OUTPUT_ADDR_DIFF_ELT): Emit function-relative case tables + for TARGET_RTP_PIC. + * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Define. Pass down + -mvxworks-pic when using -mrtp and a PIC option. + * config/mips/mips.c (mips_classify_symbol): Return SYMBOL_GOT_DISP + for RTP PIC. + (mips_symbolic_constant_p, mips_symbolic_address_p) + (mips_symbol_insns): Handle SYMBOL_HALF. + (override_options): Warn about -G and -mrtp being used together. + Initialize mips_lo_relocs[SYMBOL_HALF]. + (mips_current_loadgp_style): Return LOADGP_RTP for RTP PIC. + (mips_emit_loadgp): Handle LOADGP_RTP. + (mips_in_small_data_p): Return false for TARGET_VXWORKS_RTP. + * config/mips/mips.md (loadgp_rtp): New insn and splitter. + (tablejump): Handle function-relative case table entries if + TARGET_RTP_PIC. + * config/mips/predicates.md (symbol_ref_operand): New predicate. + +2007-04-12 Richard Sandiford + + * config/mips/mips.md (load_call): Allow any general register. + destination. + (sibcall_value_internal, sibcall_value_multiple_internal) + (call_value_internal, call_value_split, call_value_multiple_internal) + (call_value_multiple_split): Remove constraints from operand 0. + +2007-04-12 Richard Sandiford + + * config/mips/mips-protos.h: In comments, refer to loadgp_absolute + rather than loadgp_noshared. + * config/mips/mips.c (mips_emit_loadgp): Use gen_loadgp_absolute + instead of gen_loadgp_noshared. Use gen_loadgp_newabi instead of + gen_loadgp. + * config/mips/mips.md (loadgp): Rename to... + (loadgp_newabi): ...this. + (loadgp_noshared): Rename to... + (loadgp_absolute): ...this. + +2007-04-12 Richard Sandiford + + * config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return + false for locally-binding symbols. + (mips_dangerous_for_la25_p): Check mips_global_symbol_p. + +2007-04-12 Richard Sandiford + + * config/mips/mips-protos.h (SYMBOL_GOT_LOCAL): Rename to... + (SYMBOL_GOT_PAGE_OFST): ...this. + (SYMBOL_GOT_GLOBAL): Rename to... + (SYMBOL_GOT_DISP): ...this. + (SYMBOL_GOTOFF_GLOBAL): Rename to... + (SYMBOL_GOTOFF_DISP): ...this. Update comments accordingly. + * config/mips/mips.c (mips_global_symbol_p): New function. + (mips_symbol_binds_local_p): Likewise. + (mips_classify_symbol): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP + and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST. Use mips_global_symbol_p + and mips_symbol_binds_local_p. + (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns) + (override_options): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP, + SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST and SYMBOL_GOTOFF_GLOBAL to + SYMBOL_GOTOFF_DISP. + (mips_ok_for_lazy_binding_p): New function. + (mips_load_call_address, mips_expand_call): Use it. + (mips_dangerous_for_la25_p): Likewise. + * config/mips/mips.md (*xgot_hi, *xgot_lo) + (*got_disp): Use got_disp_operand instead of + global_got_operand. Use SYMBOL_GOTOFF_DISP instead of + SYMBOL_GOTOFF_GLOBAL. + (*got_page): Use got_page_ofst_operand instead of + local_got_operand. + * config/mips/predicates.md (const_call_insn_operand): Use + SYMBOL_GOT_DISP instead of SYMBOL_GOT_GLOBAL. + (global_got_operand): Rename to... + (got_disp_operand): ...this and use SYMBOL_GOT_DISP instead of + SYMBOL_GOT_GLOBAL. + (local_got_operand): Rename to... + (got_page_ofst_operand): ...this and use SYMBOL_GOT_PAGE_OFST instead + of SYMBOL_GOT_LOCAL. + +2007-04-12 Richard Sandiford + + * config/mips/mips.h (TARGET_SPLIT_CALLS): Check + TARGET_CALL_CLOBBERED_GP. + (TARGET_SIBCALLS): Check TARGET_USE_GOT instead of TARGET_ABICALLS. + (TARGET_USE_GOT, TARGET_CALL_CLOBBERED_GP): New macros. + (TARGET_CALL_SAVED_GP, TARGET_USE_PIC_FN_ADDR_REG): Likewise. + (STARTING_FRAME_OFFSET): Check TARGET_CALL_CLOBBERED_GP instead + of TARGET_ABICALLS && !TARGET_NEWABI. + (MIPS_CALL): Check TARGET_USE_GOT instead of TARGET_ABICALLS. + * config/mips/mips.c (mips_load_call_address): Check + TARGET_CALL_SAVED_GP instead of TARGET_NEWABI. + (mips_global_pointer): Check TARGET_USE_GOT instead of TARGET_ABICALLS. + Check TARGET_CALL_SAVED_GP instead of TARGET_NEWABI. + (mips_save_reg_p): Check TARGET_CALL_SAVED_GP instead of + TARGET_ABICALLS && TARGET_NEWABI. + (mips_current_loadgp_style): Check TARGET_USE_GOT instead of + TARGET_ABICALLS. + (mips_expand_prologue): Check TARGET_OLDABI instead of !TARGET_NEWABI. + (mips_expand_epilogue): Check TARGET_CALL_SAVED_GP instead of + TARGET_ABICALLS && TARGET_NEWABI. + (mips_output_mi_thunk): Check TARGET_USE_GOT instead of + TARGET_ABICALLS. Check TARGET_CALL_SAVED_GP instead of + TARGET_NEWABI. Use TARGET_USE_PIC_FN_ADDR_REG to decide + whether indirect calls must use $25. + (mips_extra_live_on_entry): Check TARGET_GOT instead of + TARGET_ABICALLS. + * config/mips/mips.md (jal_macro): Check flag_pic and + TARGET_CALL_CLOBBERED_GP instead of TARGET_ABICALLS and TARGET_NEWABI. + (builtin_setjmp_setup, builtin_longjmp): Check TARGET_USE_GOT + instead of TARGET_ABICALLS. + (exception_receiver): Check TARGET_CALL_CLOBBERED_GP instead of + TARGET_ABICALLS && TARGET_OLDABI. + (load_call): Check TARGET_USE_GOT instead of TARGET_ABICALLS. + (sibcall): In the comment above the define_insn, mention + TARGET_USE_PIC_FN_ADDR_REG instead of TARGET_ABICALLS. + * config/mips/constraints.md (c): Check TARGET_USE_PIC_FN_ADDR_REG + instead of TARGET_ABICALLS. + +2007-04-12 Bernd Schmidt + + * doc/md.texi (Blackfin family constraints): Document PA and PB. + * config/bfin/bfin.h (CONST_OK_FOR_P): Handle PA and PB. + (MACFLAGS_MATCH_P): New macro. + * config/bfin/bfin.c (print_operand): Handle MACFLAG_IS_M. + (bfin_secondary_reload): Treat EVEN_AREGS and ODD_AREGS like AREGS. + * config/bfin/bfin.md (MACFLAG_IS_M): New constant. Renumber some of + the other MACFLAG constants. + (sum_of_accumulators, lshrpdi3, ashrpdi3): New patterns. + (flag_machi): Tighten constraints. Renumber some of the operands. + (flag_machi_acconly): Tighten constraints. Correct operand numbers in + output template. + (flag_machi_parts_acconly): New pattern. + (flag_macinithi): Tighten constraints. Allow any accumulator to be + used. + (flag_macinit1hi): Tighten constraints. + (flag_mul_macv2hi_parts_acconly): New pattern. + + * config/bfin/lib1funcs.asm (___umulsi3_highpart, __smulsi3_highpart): + Use a more efficient implementation. + * config/bfin/bfin.md (umulsi3_highpart, smulsi3_highpart): Emit + inline sequences when not optimizing for size. + + * config/bfin/bfin.md (movhi_low2high, movhi_high2high, movhi_low2low, + movhi_high2low): Delete, merge functionality into... + (packv2hi): ... this pattern. + + 2007-02-11 Jie Zhang + * config/bfin/bfin.opt (msim): New option. + (mcpu=): New option. + * config/bfin/bfin-protos.h (enum bfin_cpu): New. + (bfin_cpu_t): Typedef of enum bfin_cpu. + (bfin_cpu_type): New declaration. + * config/bfin/elf.h (STARTFILE_SPEC): Add support for + -msim and -mcpu= options. + (LIB_SPEC): Likewise. + * config/bfin/bfin.c (bfin_cpu_type): Define. + (bfin_handle_option): Handle -mcpu= option. + * config/bfin/bfin.h (DEFAULT_CPU_TYPE): Define as BFIN_CPU_BF532. + (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF531__, __ADSPBF532__, + __ADSPBF533__ or __ADSPBF537__ according to the cpu type. + +2007-04-12 Richard Sandiford + + * config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza. + (arm-wrs-vxworks, mips-wrs-vxworks, powerpc-wrs-vxworks) + (powerpc-wrs-vxworksae): Use ${tm_file}. + (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add svr4.h + after elfos.h. Remove i386/sysv4.h and add i386/vx-common.h. + * config/i386/vx-common.h: New file. + +2007-04-12 Richard Sandiford + + * config/vxworks.h (VXWORKS_STARTFILE_SPEC): Use -l:crt0.o instead + of crt0.o%s. + +2007-04-12 Andreas Krebbel + + * config/s390/s390.md ("trunctddd2"): Use TDmode for the target of + ldxtr. + +2007-04-12 Douglas Gregor + + PR c++/31078 + PR c++/31103 + * c-common.c (c_build_qualified_type): Set canonical type + appropriately. + +2007-04-12 Richard Guenther + + * tree-pretty-print.c (dump_generic_node): Print ARRAY_REF + lower bound and element size if lower bound is not zero + or either of the ARRAY_REF operands is set. + +2007-04-12 Richard Guenther + + PR tree-optimization/24689 + PR tree-optimization/31307 + * fold-const.c (operand_equal_p): Compare INTEGER_CST array + indices by value. + * gimplify.c (canonicalize_addr_expr): To be consistent with + gimplify_compound_lval only set operands two and three of + ARRAY_REFs if they are not gimple_min_invariant. This makes + it never at this place. + * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise. + +2007-04-11 John David Anglin + + * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not + null before emitting a .nsubspa directive. + +2007-04-11 Diego Novillo + + * tree-ssa-alias.c (dump_mem_ref_stats): Do not call + need_to_partition_p if there are no memory statements in the + function. + +2007-04-11 Zdenek Dvorak + + * tree-data-ref.c (chrec_steps_divide_constant_p): Removed. + (gcd_of_steps_may_divide_p): New function. + (analyze_miv_subscript): Use gcd_of_steps_may_divide_p. + +2007-04-11 Bernd Schmidt + + * reload.c (find_reloads_toplev, find_reloads_address, + find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p, + not a pointer equality test, to decide if we need to call + push_reg_equiv_alt_mem. + +2007-04-11 Sebastian Pop + + * tree-data-ref.c (affine_function_zero_p, constant_access_functions, + insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): New. + (build_classic_dist_vector): Call add_distance_for_zero_overlaps. + +2007-04-11 Zdenek Dvorak + + * tree-data-ref.c (add_multivariate_self_dist): Force the distance + vector to be positive. + 2007-04-11 Diego Novillo PR 30735