X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gcc%2FChangeLog;h=7d85c96bd313c53bb072aa3451b3a3e83726b7a2;hb=4bf371ea7e02b09ea657e8e6340b1b55ea210c6c;hp=00d1e9e96a90beb213f5e3a018233cd5bf4d4d4c;hpb=c668146359113c30e8c1e5a44153cc0e45f073eb;p=gcc.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 00d1e9e96a9..7d85c96bd31 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,387 @@ +2007-04-11 Richard Guenther + + PR middle-end/31530 + * simplify-rtx.c (simplify_binary_operation_1): Do not simplify + a * -b + c as c - a * b if we honor sign dependent rounding. + +2007-04-11 Bernd Schmidt + + * config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from + bfin_expand_strmov. + * config/bfin/bfin.c (bfin_expand_prologue, bfin_delegitimize_address, + bfin_function_ok_for_sibcall, split_load_immediate): Remove unused + variables. + (initialize_trampoline): Don't use old-style function definition. + (bfin_secondary_reload): Mark IN_P argument as unused. + +2007-04-10 Sebastian Pop + + PR tree-optimization/31343 + * tree-chrec.h (chrec_zerop): Moved before build_polynomial_chrec. + (build_polynomial_chrec): Return a scalar when the evolution is zero. + * testsuite/gcc.dg/vect/pr31343.c: New. + +2007-04-10 Eric Christopher + + * config/i386/i386.h (X87_FLOAT_MODE_P): New. + * config/i386/i386.md (*cmpfp0): Use. + (*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 (output_fix_trunc): Assert that + we're not being passed a TFmode operand. + +2007-04-10 Zdenek Dvorak + + PR tree-optimization/31526 + * tree-inline.c (copy_cfg_body): Use last_basic_block instead of + n_basic_blocks to find newly added blocks. + +2007-04-10 Uros Bizjak + + * config/i386/i386.md (fix_truncdi_sse): Remove "x" from "xm" + alternative. + (fix_truncsi_sse): Ditto. + (*floatsisf2_mixed, *floatsisf2_sse): Ditto. + (*floatsidf2_mixed, *floatsidf2_sse): Ditto. + (*floatdisf2_mixed, *floatdisf2_sse): Ditto. + (*floatdidf2_mixed, *floatdidf2_sse): Ditto. + (floathi2): Rename from floathisf2 and floathidf2. Macroize + expander using SSEMODEF mode macro. + (floatsi2): Rename from floatsisf2 and floashidf2. Macroize + expander using SSEMODEF mode macro. + (*floathi2_i387): Rename from *floathisf2_i387 and + *floathidf2_i387. Macroize insn using X87MODEF12 mode macro. + (*floatsi2_i387): Rename from *floatsisf2_i387 and + *floatsidf2_i387. Macroize insn using X87MODEF12 mode macro. + (*floatdi2_i387): Rename from *floatdisf2_i387 and + *floatdidf2_i387. Macroize insn using X87MODEF12 mode macro. + (floatxf2): Rename from floathixf2, floatsixf2 and floatdixf2. + Macroize insn using X87MODEF mode macro. + +2007-04-09 H.J. Lu + + * config/i386/sse.md (sse2_pinsrw): Removed. + (sse2_pextrw): Renamed to ... + (*sse2_pextrw): This. + +2007-04-09 Jan Hubicka + + PR target/27869 + * config/i386/sse.md + (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier. + (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove. + (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier. + (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove. + +2007-04-09 Jan Hubicka + + * tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into + multiple fields of union. + +2007-04-09 Zdenek Dvorak + + * cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge. + (create_preheaders): Check that loops are available. + (fix_loop_structure): Clean up, improve comments. + * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): + Check that loops are available. Set LOOP_CLOSED_SSA to the loops + state flags. + * tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info. + * predict.c (tree_estimate_probability): Do not call + calculate_dominance_info. Call create_preheaders. + * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call + rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state + flags. + * cfgloop.c (loop_preheader_edge): Assert that loops have preheaders. + * cfgloop.h (LOOP_CLOSED_SSA): New constant. + * tree-cfg.c (tree_split_edge): Make an assert more precise. + * tree-ssa-threadedge.c (thread_across_edge): Comment the function + arguments. + +2007-04-08 Jan Hubicka + + * tree.h (maybe_fold_offset_to_component_ref): Declare. + * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export. + * fold-const.c (fold_unary): Use it. + +2007-04-08 Andrew Pinski + + * varasm.c (assemble_variable): Remove call to + lang_hooks.decls.prepare_assemble_variable. + * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill. + (LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE. + * langhooks.h (lang_hooks_for_decls): Remove + prepare_assemble_variable. + +2007-04-08 Mike Stump + + * config/i386/i386.c: Use inc/dec on Core2. + +2007-04-08 Steven Bosscher + + * langhooks.c (lhd_tree_inlining_add_pending_fn_decls, + lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining, + lhd_tree_inlining_end_inlining): Remove. + * langhooks.h (struct lang_hooks_for_tree_inlining): Remove then + add_pending_fn_decls, anon_aggr_type_p, start_inlining, and + end_inlining hooks. + * langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls, + lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining, + lhd_tree_inlining_end_inlining): Remove prototypes. + (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS, + LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P, + LANG_HOOKS_TREE_INLINING_START_INLINING, + LANG_HOOKS_TREE_INLINING_END_INLINING): Remove. + + * c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do + not set it. + +2007-04-08 Anatoly Sokolov + + PR target/29932 + * config/avr/predicates.md (io_address_operand): Delete predicate. + (low_io_address_operand): Don't use 'mode' argument. + (higth_io_address_operand): Rename ... + (high_io_address_operand): ... to this. Don't use 'mode' argument. + * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust + for above change. + +2007-04-07 Daniel Berlin + + Revert change removing staticp. + +2007-04-07 Anatoly Sokolov + + PR target/30289 + * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as + earlyclobber. + +2007-04-07 Bruce Korb + + * c.opt: Add -Wformat-contains-nul. + * c-format.c (set_Wformat): Set warn_format_contains_nul to the + -Wformat setting. + (check_format_info_main): Check OPT_Wformat_contains_nul before emitting + the NUL byte warning. + +2007-04-07 H.J. Lu + + * config/i386/i386.c (ix86_handle_option): Handle SSSE3. + +2007-04-06 Daniel Berlin + + * tree.c (staticp): No longer use staticp langhook. + * langhooks.c (lhd_staticp): Removed. + * langhooks.h (struct lang_hooks): Remove staticp. + * c-common.c (c_staticp): Remove. + * c-common.h (c_staticp): Ditto. + * langhooks-defs.h (lhd_staticp): Ditto. + (LHD_HOOKS_STATICP): Ditto + * tree.h (gcc_assert_lowered): New macro. + +2007-04-06 Zdenek Dvorak + + * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use + argument "reliable". + (infer_loop_bounds_from_ref, infer_loop_bounds_from_array): + Add argument "reliable". Propagate it through calls. + (infer_loop_bounds_from_undefined): Derive number of iterations + estimates from references in blocks that do not dominate loop latch. + (gcov_type_to_double_int): New function. + (estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int + and expected_loop_iterations_unbounded. + * cfgloopanal.c (expected_loop_iterations_unbounded): New function. + (expected_loop_iterations): Use expected_loop_iterations_unbounded. + * tree-data-ref.c (estimated_loop_iterations): Export. + (get_references_in_stmt): Fix -- do not return addresses of local + objects. + * cfgloop.h (expected_loop_iterations_unbounded, + estimated_loop_iterations): Declare. + +2007-04-06 Andreas Tobler + + * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift. + +2007-04-06 Uros Bizjak + + * config/i386/i386.md (extendxf2): Rename from extendsfxf2 + and extenddfxf2. Macroize expander using X87MODEF12 mode macro. + (*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1): + Use output_387_reg_move(). + (*truncxf2): Rename from *truncxfsf2 and truncxfdf2. Macroize + expander using X87MODEF12 mode macro. + (*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when + choosing register preferences. Use output_387_reg_move(). + (*truncxfdf2_mixed): Combine alternatives, use "r" alternative + instead of "x". Use output_387_reg_move(). + (*truncxf2_i387_noop): Rename from *truncxfsf2_i387_noop and + *truncxfdf2_i387_noop. Macroize insn using X87MODEF12 mode macro. + (*truncxf2_i387): Rename from *truncxfsf2_i387 and + *truncxfdf2_i387. Macroize insn using X87MODEF12 mode macro. + Use output_387_reg_move(). + (*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12 + mode macro. + (*truncxf?f_i387 splitter): Ditto. + +2007-04-06 Daniel Berlin + + * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove + LANG_HOOKS_SAFE_FROM_P. + * expr.c (safe_from_p): Remove langhook call. + * langhooks.h (lang_hooks): Remove safe_from_p. + (lhd_safe_from_p): Remove prototype. + * langhooks.c (lhd_safe_from_p): Remove. + +2007-04-06 Jan Hubicka + + * cgraphunit.c (decide_is_function_needed): Do not keep always_inline + functions. + +2007-04-06 Uros Bizjak + + * config/i386/i386.c (output_387_reg_move): Handle memory operand[0]. + * config/i386/i386.md (*movsf_1, *movdf_nointeger, + *movdf_integer_rex64, *movdf_integer, *movxf_nointeger, + *movxf_integer): Use output_387_reg_move() for x87 reg->mem + alternative. + (*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387, + *extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto. + +2007-04-05 Richard Henderson + + * config/alpha/alpha.c (print_operand) [+]: Remove. + (alpha_end_function): Print nop if call at end of function. + * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +. + * config/alpha/alpha.md (UNSPEC_LDGP1): New. + (call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New. + (call_osf_2_er_nogp, call_value_osf_2_er_nogp): New. + (call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into + the call pattern. Update peepholes to match. + +2007-04-05 Janis Johnson + + * doc/extend.texi (Other Builtins): Add decimal float variants + of signbit. + * builtins.def: Ditto. + * builtins.c (expand_builtin): Ditto. + +2007-04-05 Uros Bizjak + H.J. Lu + + PR target/31478 + * config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead + of V8HImode when calling ix86_binary_operator_ok. + (sse2_pmaddwd): Call ix86_binary_operator_ok. + (sdot_prodv8hi): Operands 1 and 2 must be register. + +2007-04-05 Alexandre Oliva + + * tree-sra.c (try_instantiate_multiple_fields): Needlessly + initialize align to silence bogus warning. + +2007-04-05 Alexandre Oliva + + PR middle-end/22156 + * tree-sra.c (struct sra_elt): Add in_bitfld_block. Remove + all_no_warning. + (struct sra_walk_fns): Remove use_all parameter from use. + (sra_hash_tree): Handle BIT_FIELD_REFs. + (sra_elt_hash): Don't hash bitfld blocks. + (sra_elt_eq): Skip them in parent compares as well. Handle + BIT_FIELD_REFs. + (sra_walk_expr): Don't maintain or pass down use_all_p. + (scan_use): Remove use_all parameter. + (scalarize_use): Likewise. Re-expand assignment to + BIT_FIELD_REF of gimple_reg. De-scalarize before input or + output, and re-scalarize after output. Don't mark anything + for no warning. + (scalarize_ldst): Adjust. + (scalarize_walk_gimple_modify_statement): Likewise. + (build_element_name_1): Handle BIT_FIELD_REFs. + (instantiate_element): Don't warn for any element whose parent + is used as a whole. + (instantiate_missing_elements_1): Return the sra_elt. + (canon_type_for_field): New. + (try_instantiate_multiple_fields): New. + (instantiate_missing_elemnts): Use them. + (mark_no_warning): Removed. + (generate_one_element_ref): Handle BIT_FIELD_REFs. + (REPLDUP, sra_build_elt_assignment): New. + (generate_copy_inout): Use them. + (generate_element_copy): Likewise. Handle bitfld differences. + (generate_element_zero): Don't recurse for blocks. Use + sra_build_elt_assignment. + (generate_one_element_int): Take elt instead of var. Use + sra_build_elt_assignment. + (generate_element_init_1): Adjust. + (scalarize_use, scalarize_copy): Use REPLDUP. + (scalarize_ldst): Move assert before dereference. + (dump_sra_elt_name): Handle BIT_FIELD_REFs. + +2007-04-05 Steven Bosscher + + * regmove.c: Fix unused variable warnings due to previous commit. + +2007-04-05 Steven Bosscher + + * regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize. + (regmove_bb_head): Remove. + (copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD. + (regmove_optimize): Don't do unnecessary CFG fixes for non-existing + problems with fixup_match_1. + Don't initialize/free regmove_bb_head. + + (reg_is_remote_constant_p): If an insn is in the same basic block + but not before INSN, consider it remote, too. + +2007-04-05 Anatoly Sokolov + + PR target/25448 + * config/avr/avr.c (avr_handle_fndecl_attribute): Use the + DECL_ASSEMBLER_NAME, not the DECL_NAME. + +2007-04-05 H.J. Lu + + * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat. + (CONDITIONAL_REGISTER_USAGE): Likewise. + +2007-04-04 Richard Henderson + + * config/alpha/lib1funcs.asm: Remove unused file. + +2007-04-04 Brooks Moses + + PR other/31356 + * opts.c (print_specific_help): Fix --help= + header line. + (common_handle_option): Support --help=common. + +2007-04-04 Brooks Moses + + PR other/31353 + * gcc.c (main): Do not run the linker if + print_subprocess_help indicates that it shouldn't be + run. + +2007-04-04 Brooks Moses + + PR doc/31355 + * doc/invoke.texi (--help=): Document value, fix + formatting in tables of values. + +2007-04-04 Danny Smith + + * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore + dllimport attribute of virtual methods. + 2007-04-04 Chen Liqin * config/score/crti.asm: Change _bss_start to __bss_start. @@ -318,7 +702,7 @@ 2007-03-30 Jan Hubicka - PR middle-end/PR30700 + PR middle-end/30700 * dwarf2out.c (reference_to_unused): Ask cgraph for functions availablility; add more sanity checking; ask varpool only about VAR_DECL.