X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=340f30c7a929245f42255d7b991fc608fcf932bb;hp=b15180544cd70f6a08b02487a6395e0e6a34c27a;hb=9807ebce926830323c21411cbaffdef520929edd;hpb=a2b30b481ddeff57789cc275e4cecad3a770d379 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b15180544cd..340f30c7a92 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,443 @@ +2008-10-10 Alexandre Oliva + + * fortran/trans-types.c (gfc_get_nodesc_array_type): Don't + vary types depending on debug info. + +2008-10-10 Alexandre Oliva + + * c-gimplify.c (c_genericize): Don't refer to DECL_ASSEMBLER_NAME + before ensuring it's already computed. + +2008-10-09 Jakub Jelinek + + * rtl.h (locator_eq): New decl. + * cfglayout.c (locator_scope): New function. + (insn_scope): Use it. + (locator_eq): New function. + (fixup_reorder_chain): Search for last insn in src bb + that has locator set or first insn in dest bb. Use + locator_eq instead of == to compare locators. + * cfgrtl.c (cfg_layout_merge_blocks): Likewise. + * cfgcleanup.c (try_forward_edges): Use locator_eq instead of + == to compare locators. + + * tree-ssa-live.c (remove_unused_locals): Mark all edge's goto_block + as used. + * gimple-low.c (lower_function_body, lower_gimple_return, + lower_builtin_setjmp): Set gimple_block on the newly created stmts. + * tree-cfg.c (make_cond_expr_edges, make_goto_expr_edges): Only set + goto_block on edges if goto_locus is known. + + PR middle-end/37774 + * tree.h (get_object_alignment): Declare. + * emit-rtl.c (set_mem_attributes_minus_bitpos): Call + get_object_alignment if needed. + * builtins.c (get_pointer_alignment): Move ADDR_EXPR operand handling + to ... + (get_object_alignment): ... here. New function. Try harder to + determine alignment from get_inner_reference returned offset. + +2008-10-08 Jakub Jelinek + + * graphite.c (gloog): Don't call find_unreachable_blocks + before delte_unreachable_blocks. + + * cfgexpand.c (expand_gimple_cond): Convert also goto_block and + goto_locus of true_edge into RTL locator. + +2008-10-08 Uros Bizjak + + * config/i386/i386.md (*jcc_btdi_rex64): Clobber FLAGS_REG. + (*jcc_btdi_mask_rex64): Ditto. + (*jcc_btsi): Ditto. + (*jcc_btsi_mask): Ditto. + (*jcc_btsi_1): Ditto. + (*jcc_btsi_mask_1): Ditto. + +2008-10-08 Paul Brook + + * config/arm/bpabi.h (ARM_FUNCTION_PROFILER): Define new EABI + compatible profiler (__gnu_mcount_nc). + (SUBTARGET_FRAME_POINTER_REQUIRED): Define. + +2008-10-08 H.J. Lu + + * config/i386/i386.c (initial_ix86_tune_features): Add + X86_TUNE_USE_VECTOR_FP_CONVERTS. + * config/i386/i386.h (ix86_tune_indices): Likewise. + (TARGET_USE_VECTOR_FP_CONVERTS): New. + + * config/i386/i386.md: Check TARGET_USE_VECTOR_FP_CONVERTS + instead of (TARGET_USE_VECTOR_CONVERTS || TARGET_GENERIC) + for FP to FP splitters. + +2008-10-08 H.J. Lu + + * config/i386/i386.md: Add missing gen_sse2_cvtdq2p to convert + splitter. + +2008-10-08 Jakub Jelinek + + PR target/36635 + PR target/37290 + PR rtl-optimization/37341 + * cse.c (cse_cc_succs): Add ORIG_BB argument, don't follow edges + to ORIG_BB, pass through ORIG_BB recursively. + (cse_condition_code_reg): Adjust caller. + +2008-10-08 Kai Tietz + + * sdbout.c (sdbout_one_type): Treat the value type + CONST_DECL for enumerals. + +2008-10-07 H.J. Lu + + * config/i386/i386.md: Remove trailing white spaces. + +2008-10-07 Kenneth Zadeck + + PR rtl-optimization/37448 + * alloc-pool.c (struct alloc_pool_descriptor) [elt_size]: New field. + (stuct alloc_pool_descriptor) [created, allocated, current, peak]: + Make unsigned long. + (struct output_info) [count]: Renamed total_created and made + unsigned long. + (struct output_info) [size]: Renamed total_allocated and made + unsigned long. + (create_alloc_pool, empty_alloc_pool, pool_alloc, pool_free): + Properly keep track of desc->size. + (print_statistics, dump_alloc_pool_statistics): Enhance the + printing of statistics to print the number of elements and to use + unsigned longs. + +2008-10-07 Jakub Jelinek + + PR middle-end/37576 + * opts.h (CL_SAVE): Move up to flags range. + (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, + CL_COMMON): Renumber. + (CL_MIN_OPTION_CLASS): Set to CL_PARAMS. + * opts.c (common_handle_option): Revert last change. + +2008-10-07 H.J. Lu + + * config/i386/i386-protos.h (ix86_schedule): New. + + * config/i386/i386.c (ix86_schedule): New. + (override_options): Add schedule to processor_alias_table. Set + ix86_schedule from the schedule field in processor_alias_table. + (ix86_function_specific_save): Save ix86_schedule. + (ix86_function_specific_restore): Restore ix86_schedule. + + * config/i386/i386.md (cpu): Map to ix86_schedule instead of + ix86_tune. Add none and remove i386, i486, pentium4, nocona + and generic32. + + * config/i386/i386.opt: Add schedule. + + * config/i386/ppro.md: Remove generic32. + +2008-10-07 Simon Martin + + PR c/35437 + * expr.c (count_type_elements): Handle ERROR_MARK. + +2008-10-07 Jakub Jelinek + + PR debug/29609 + PR debug/36690 + PR debug/37616 + * basic-block.h (struct edge_def): Add goto_block field. + * cfglayout.c (fixup_reorder_chain): Ensure that there is at least + one insn with locus corresponding to edge's goto_locus if !optimize. + * profile.c (branch_prob): Copy edge's goto_block. + * cfgrtl.c (force_nonfallthru_and_redirect): Use goto_locus for + emitted jumps. + (cfg_layout_merge_blocks): Emit a nop with edge's goto_locus + locator in between the merged basic blocks if !optimize and needed. + * cfgexpand.c (expand_gimple_cond): Convert goto_block and + goto_locus into RTL locator. For unconditional jump use that + locator for the jump insn. + (expand_gimple_cond): Convert goto_block and goto_locus into + RTL locator for all remaining edges. For unconditional jump + use that locator for the jump insn. + * cfgcleanup.c (try_forward_edges): Avoid the optimization if + there is more than one edge or insn locator along the forwarding + edges and !optimize. If there is just one, set e->goto_locus. + * tree-cfg.c (make_cond_expr_edges, make_goto_expr_edges): Set also + edge's goto_block. + (move_block_to_fn): Adjust edge's goto_block. + +2008-10-07 H.J. Lu + + PR middle-end/37731 + * expmed.c (expand_mult): Properly check DImode constant in + CONST_DOUBLE. + +2008-10-07 Jakub Jelinek + + PR debug/37738 + * dwarf2out.c (common_block_die_table): New variable. + (common_block_die_table_hash, common_block_die_table_eq): New + functions. + (gen_variable_die): Look up a DW_TAG_common_block die for a particular + COMMON block in the current scope rather than globally. Optimize + DW_OP_addr SYMBOL_REF DW_OP_plus_uconst off into + DW_OP_addr SYMBOL_REF+off. + +2008-10-07 Eric Botcazou + + * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) : + Return true for non-addressable GIMPLE operands. + +2008-10-07 H.J. Lu + + PR target/24765 + * config/i386/i386.c (initial_ix86_tune_features): Remove + X86_TUNE_USE_BIT_TEST. + * config/i386/i386.h (ix86_tune_indices): Likewise. + (TARGET_USE_BIT_TEST): Removed. + +2008-10-07 Bernhard Reutner-Fischer + + * config.gcc (arm*-*-*): Add aapcs-linux to supported ABIs. + +2008-10-06 Adam Nemet + + * config/mips/mips.md (mulsi3_mul3, muldi3_mul3): Merge these ... + (mul3_mul3): ... into this new template. + +2008-10-06 Aldy Hernandez + + * gimplify.c (gimplify_arg): Add location argument. Use it. + (gimplify_call_expr): Pass location to gimplify_arg. + (gimplify_modify_expr_to_memcpy): Same. + (gimplify_modify_expr_to_memset): Same. + +2008-10-06 Andrew Pinski + + * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): + Update calls to build_unary_op and build_indirect_ref for location + changes. + +2008-10-06 Aldy Hernandez + + build_modify_expr. + * c-decl.c (finish_decl): Pass input_location to build_unary_op. + * c-typeck.c (array_to_pointer_conversion): Pass location to + build_unary_op. + (function_to_pointer_conversion): Use error_at and warning_at. + (build_indirect_ref): Same. + (build_array_ref): Pass location to build_binary_op. + (parser_build_unary_op): Do not set location after calling + build_unary_op. + (build_unary_op): Add location argument. Use it throughout. Set + EXPR_LOCATION before returning new tree. + (build_modify_expr): Same. + (build_binary_op): Use location throughout. Set EXPR_LOCATION before + returning node. + * c-omp.c (c_finish_omp_atomic): Pass location to build_unary_op, + build_indirect_ref, build_modify_expr. + (c_finish_omp_for): Same. Use error_at instead of error. + * c-common.c (c_common_truthvalue_conversion): Pass location to + build_unary_op. + (warn_for_div_by_zero): Add location argument. + * c-common.h: Add argument to build_modify_expr, build_indirect_ref, + build_unary_op, warn_for_div_by_zero. + * c-parser.c (c_parser_typeof_specifier): Use + protected_set_expr_location. + (c_parser_statement_after_labels): Same. + (c_parser_condition): Same. + (c_parser_expr_no_commas): Pass correct location to build_modify_expr. + (c_parser_conditional_expression): Use protected_set_expr_location. + (c_parser_unary_expression): Pass location to build_indirect_ref. + (c_parser_postfix_expression_after_primary): Pass location to + build_indirect_ref, build_unary_op. + (c_parser_omp_for_loop): Set the increment expression's EXPR_LOCATION. + +2008-10-06 Joshua Kinard + + * doc/invoke.texi: List r1x000 family under the -march MIPS option. + * config/mips/mips.h (PROCESSOR_R10000): New processor_type. + * config/mips/mips.c (mips_cpu_info_table): Add r10000, r12000, + r14000 and r16000. + (mips_rtx_cost_data): Add a PROCESSOR_R10000 entry. + (mips_issue_rate): Handle PROCESSOR_R10000. + * config/mips/mips.md (cpu): Add r10000. + Include r10000.md. + * config/mips/10000.md: New file. + +2008-10-06 Richard Sandiford + + * config/rs6000/rs6000-protos.h (rs6000_find_base_term): Declare. + * config/rs6000/rs6000.h (FIND_BASE_TERM): New macro. + * config/rs6000/rs6000.c (rs6000_find_base_term): New function. + +2008-10-06 Richard Sandiford + + * config/darwin-protos.h (machopic_function_base_name): Delete. + (machopic_function_base_sym): Likewise. + (machopic_gen_offset): Declare. + * config/darwin.h (MACHOPIC_FUNCTION_BASE_NAME): New macro. + (ASM_OUTPUT_LABELREF): Use it instead of a hard-coded string constant. + * config/darwin.c (machopic_function_base_name): Delete. + (machopic_function_base_sym): Likewise. + (gen_pic_offset): Rename to... + (machopic_gen_offset): ...this and remove the pic_base argument. + Instead use MACHO_DYNAMIC_NO_PIC_P to decide whether a PIC offset + is needed. Create an UNSPEC_MACHOPIC_OFFSET if so, and set + crtl->uses_pic_offset_table. + (machopic_indirect_data_reference): Use new machopic_gen_offset + interface. + (machopic_legitimize_pic_address): Likewise. + (machopic_operand_p): Check for UNSPEC_MACHOPIC_OFFSET. + + * config/i386/darwin.h (GOT_SYMBOL_NAME): Use + MACHOPIC_FUNCTION_BASE_NAME instead of machopic_function_base_name. + * config/i386/i386.c (output_set_got): Likewise. + (darwin_local_data_pic): Check for an UNSPEC_MACHOPIC_OFFSET + instead of a MINUS. + (legitimate_pic_operand_p): Handle UNSPEC_MACHOPIC_OFFSET. + (legitimate_address_p): Likewise. + (output_pic_addr_const): Likewise. + (output_addr_const_extra): Likewise. + (ix86_delegitimize_address): Expect darwin_local_data_pic to + match an UNSPEC rather than a MINUS. + * config/i386/i386.md (UNSPEC_MACHOPIC_OFFSET): Define. + (builtin_setjmp_receiver): Use machopic_gen_offset. + * config/i386/predicates.md (pic_symbolic_operand): Handle + UNSPEC_MACHOPIC_OFFSET. + + * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): + Use machopic_gen_offset and machopic_operand_p. + (rs6000_output_addr_const_extra): Handle UNSPEC_MACHOPIC_OFFSET. + (rs6000_emit_prologue): Use MACHOPIC_FUNCTION_BASE_NAME. + * config/rs6000/rs6000.md (UNSPEC_MACHOPIC_OFFSET): Define. + (builtin_setjmp_receiver): Use MACHOPIC_FUNCTION_BASE_NAME. + Set crtl->uses_pic_offset_table. + +2008-10-06 Richard Sandiford + + * config/rs6000/rs6000-protos.h (rs6000_output_addr_const_extra): + Declare. + * config/rs6000/rs6000.h (OUTPUT_ADDR_CONST_EXTRA): New macro. + * config/rs6000/rs6000.md (UNSPEC_TOCREL): New constant. + * config/rs6000/rs6000.c (constant_pool_expr_1): Delete. + (constant_pool_expr_p): Use split_const and check the base. + (toc_relative_expr_p): Likewise, checking for an UNSPEC_TOCREL + instead of a MINUS. + (legitimate_constant_pool_address_p): Check toc_relative_p + instead of constant_pool_expr_p. + (print_operand_address): Always use output_addr_const for + constant pool addresses. + (rs6000_output_addr_const_extra): New function. + (create_TOC_reference): Create an UNSPEC_TOCREL instead of a MINUS. + +2008-10-06 Vladimir Makarov + + PR middle-end/37535 + + * ira-lives.c (mark_reg_live, mark_reg_dead): New functions. + (mark_ref_live, mark_ref_dead): Use them. + (def_conflicts_with_inputs_p): Remove. + (mark_early_clobbers): New function. + (process_bb_node_lives): Call preprocess_constraints and + mark_early_clobbers. + + * doc/rtx.texi (clobber): Change how RA deals with clobbers. + +2008-10-06 Danny Smith + + * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Add thread cleanup + lib with -mthread switch. + +2008-10-05 Dodji Seketeli + + PR c++/37410 + * dwarf2out.c (dwarf2out_imported_module_or_decl): Split this + function in two, making it call a new and reusable + dwarf2out_imported_module_or_decl() that takes the containing + BLOCK of the declaration in argument. + (dwarf2out_imported_module_or_decl_real): New function. + (decls_for_scope, gen_decl_die, dwarf2out_decl): Take + IMPORTED_DECL in account. + * tree.def: Added IMPORTED_DECL node type. + * tree.h: Added accessors for IMPORTED_DECL nodes. + * tree.c (init_ttree): Initialise IMPORTED_DECL node type. + +2008-10-05 Ralf Wildenhues + + * doc/gimple.texi: Fix some typos, wrap some long lines, + fix some broken wraps with continuations. + * tree-ssa-reassoc.c: Fix comment typos. + +2000-10-04 John David Anglin + + PR target/37603 + * pa.c (legitimize_pic_address): Force function labels to memory in + word mode. + +2008-10-04 Anton Blanchard + + * config/rs6000/rs6000.c (rs6000_emit_sync): Use gen_lwsync(). + (rs6000_split_atomic_op): Same. + (rs6000_split_compare_and_swap): Same. + (rs6000_split_compare_and_swapqhi): Same. + +2008-10-04 Richard Guenther + + * tree-ssa-sccvn.c (vn_reference_op_eq): Use types_compatible_p + instead of pointer equality. + (vn_nary_op_eq): Likewise. + +2008-10-03 Andrew Pinski + + * config/rs6000/rs6000.md (fseldfsf4): Add TARGET_SINGLE_FLOAT + condition. + (fselsfdf4): Make condition on "TARGET_HARD_FLOAT && TARGET_FPRS && + TARGET_DOUBLE_FLOAT && TARGET_SINGLE_FLOAT". + +2008-10-03 Danny Smith + + * config/i386/winnt.c (i386_pe_strip_name_encoding_full): + Revert previous change. + +2008-10-03 Tom Tromey + + * stringpool.c (ggc_alloc_string): Terminate string. + +2008-10-03 Jakub Jelinek + + * gimplify.c (gimplify_function_tree): For -finstrument-functions + use gimple_bind_{,set_}block instead of gimple_{,set_}block. + * gimple.h (gimple_bind_set_block): Allow second argument to be NULL. + + PR debug/37726 + * gimplify.c (declare_vars): Use gimple_bind_block instead of + gimple_block. + +2008-10-03 Pascal Obry + + * gcov.c (create_file_names): Properly handle UNIX and DOS + directory separators. + (make_gcov_file_name): Likewise + convert the ':' DOS drive + separator to '~' to ensure clean filenames on Windows. + +2008-10-02 Danny Smith + + * config/i386/winnt.c (i386_pe_strip_name_encoding_full): + Add a null terminator to the stripped name. + +2008-10-02 David Edelsohn + + * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Revert + TARGET_DOUBLE_FLOAT, TARGET_SINGLE_FLOAT. + (function_arg_advance): Condition on TARGET_DOUBLE_FLOAT, + TARGET_SINGLE_FLOAT. Revert SCALAR_FLOAT_MODE_P condition. + (function_arg): Condition on TARGET_DOUBLE_FLOAT, TARGET_SINGLE_FLOAT. + (rs6000_function_value): Revert TARGET_DOUBLE_FLOAT, + TARGET_SINGLE_FLOAT. + 2008-10-02 Daniel Jacobowitz * builtins.c (fold_builtin_pow): Check for 0 ** NEGATIVE. @@ -34,8 +474,8 @@ (vec_promote): Define. 2008-10-01 Andrew Pinski - Yukishige Shibata - Trevor Smigiel + Yukishige Shibata + Trevor Smigiel * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add Cell Altivec intrinsics. @@ -642,8 +1082,8 @@ 2008-09-22 Adam Nemet * config/mips/mips.h (ISA_HAS_BADDU): New macro. - * config/mips/mips.md (*baddu_si_eb, *baddu_si_el, - *baddu_di): New patterns. + * config/mips/mips.md (*baddu_si_eb, *baddu_si_el, *baddu_di): + New patterns. 2008-09-22 Richard Guenther @@ -676,8 +1116,7 @@ PR target/37528 * config/i386/t-cygming (SHLIB_LC): Remove. (SHLIB_LINK): Don't add static objects to SHLIB_IMPLIB - * config/i386/t-cygwin (SHLIB_LC): Specify all required - libraries. + * config/i386/t-cygwin (SHLIB_LC): Specify all required libraries. 2008-09-22 Hans-Peter Nilsson @@ -737,8 +1176,7 @@ (SSA Operands): Rename from 'Statement Operands'. * doc/generic.texi: New. * doc/gimple.texi: New. - * Makefile.in (TEXI_GCCINT_FILES): Add generic.texi and - gimple.texi. + * Makefile.in (TEXI_GCCINT_FILES): Add generic.texi and gimple.texi. * Makefile.in (TEXI_GCCINT_FILES): * gimple.c (gimple_copy_call_skip_args): Rename from giple_copy_call_skip_args. Update all users. @@ -1015,8 +1453,7 @@ 2008-09-18 Alexander Monakov PR middle-end/37499 - * sched-int.h (struct _haifa_insn_data): Remove unused field - ref_count. + * sched-int.h (struct _haifa_insn_data): Remove unused field ref_count. * sched-rgn.c (ref_counts): Remove. (insn_referenced): New static variable. @@ -1030,8 +1467,7 @@ * haifa-sched.c (dep_cost_1): Recognize the producer even if the consumer is an asm. Add comment why this is important. (choose_ready): Add comment to the "INSN_CODE (insn) >= 0 || - recog_memoized (insn) < 0" assert. Put ENABLE_CHECKING around - it. + recog_memoized (insn) < 0" assert. Put ENABLE_CHECKING around it. 2008-09-17 Joseph Myers @@ -2340,10 +2776,8 @@ * ira-emit.c (change_loop): Use all_allocnos. - * ira-build.c (create_loop_tree_nodes, finish_loop_tree_node): - Ditto. - (ira_create_allocno): Set up all_allocnos bit for the created - allocno. + * ira-build.c (create_loop_tree_nodes, finish_loop_tree_node): Ditto. + (ira_create_allocno): Set up all_allocnos bit for the created allocno. (create_cap_allocno): Remove setting mentioned_allocnos. (create_insn_allocnos): Ditto. (remove_unnecessary_allocnos): Use all_allocnos.