X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=ef4ce0b27b61b659d42fb903ca7d5362fcc6d5a9;hp=9e891381eafb7ce43cfcd9d23bf809904c15b1b4;hb=0004970248290256b2b04d25acb3ac4634720ae3;hpb=918c094d3453fb8f96cfe4e077ea07c9590fdec3 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9e891381eaf..ef4ce0b27b6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,13 +1,535 @@ +2008-10-13 Matthias Klose + + * gcc/config/pa/linux-atomic.c: Work around missing header file + for hppa64-linux-gnu targets. + +2008-10-13 Andrew Pinski + Kaushal Kantawala + Trevor Smigiel + Grace Cao + + * doc/invoke.texi (-mgen-cell-microcode): Document. + (-mwarn-cell-microcode): Document. + * cfglayout.c (locator_location): Export. + * rtl.h (locator_location): Define prototype. + * config/rs6000/predicates.md (cc_reg_not_micro_cr0_operand): New predicate. + * rs6000/rs6000-protos.h (rs6000_final_prescan_insn): Define prototype. + * config/rs6000/rs6000.opt (mgen-cell-microcode): New option. + (mwarn-cell-microcode): New option. + * rs6000/rs6000.c (rs6000_cell_dont_microcode): Delete unused variable. + (rs6000_override_options): Set rs6000_gen_cell_microcode if tuning for + cell and not already set. + Turn off string instructions if not generating cell microcode. + (rs6000_final_prescan_insn): New function that warns about microcoded + instructions. + * config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Define. + * config/rs6000/rs6000.md + Replace cc_reg_not_cr0_operand with cc_reg_not_micro_cr0_operand if + the instruction would have been microcoded on the Cell. + Set cell_micro to always on unnamed patterns for the string instructions. + (cell_micro): Update definition, remove load/store conditional microcoded. + (sign_extend:DI): Define new pattern for non microcoded version. + (sign_extend:SI): Likewise. + (compare (div:P)): Set cell_micro to not. + (andsi3): Define as an expand. + (andsi3_mc): New pattern. + (andsi3_nomc): New pattern. + (andsi3_internal0_nomc): New pattern. + (andsi3_internal2): Rename to ... + (andsi3_internal2_mc): this and enable iff generating microcode. + (andsi3_internal3): Rename to ... + (andsi3_internal3_mc): this and enable iff generating microcode. + (andsi3_internal4): Enable iif generating microcode. + (andsi3_internal5): Rename to .. + (andsi3_internal5_mc): this and enable iff generating microcode. + (andsi3_internal5_nomc): New pattern. + (extzvdi_internal1): Enable iff generating microcode. + (extzvdi_internal2): Likewise. + (rotlsi3_internal7): Set cell_micro to always if non immediate form. + (anddi3): Change to expand. + (anddi3_mc): Rename from anddi3. + (anddi3_no_mc): New pattern. + (anddi3_internal2): Rename to .. + (anddi3_internal2_mc): this and enable iff generating microcode. + (anddi3_internal2_nomc): New pattern. + (anddi3_internal3): Rename to .. + (anddi3_internal3_mc): this and enable iff generating microcode. + (anddi3_internal3_nomc): New pattern. + (movti_string): Set cell_micro to always if TARGET_STRING. + (stmsi8): Set cell_micro to always. + (stmsi7): Likewise. + (stmsi6): Likewise. + (stmsi5): Likewise. + (stmsi4): Likewise. + (stmsi3): Likewise. + (stmsi8_power): Likewise. + (stmsi7_power): Likewise. + (stmsi6_power): Likewise. + (stmsi5_power): Likewise. + (stmsi4_power): Likewise. + (stmsi3_power): Likewise. + (movsi_update2): Enable iff generating microcode. + (movhi_update3): Likewise. + (lmw): Set cell_micro to always. + +2008-10-13 Richard Sandiford + + * config/s390/s390.md (UNSPEC_POOL_OFFSET): New constant. + * config/s390/s390.c (machine_function): Remove + decomposed_literal_pool_addresses_ok_p. + (s390_decompose_address): Check for UNSPEC_POOL_OFFSET instead of + the difference of two labels. + (s390_output_addr_const_extra): Handle UNSPEC_POOL_OFFSET. + (s390_pool_offset): New function. + (s390_find_constant, s390_find_execute, s390_dump_pool): Use it. + (s390_reorg): Don't set decomposed_literal_pool_addresses_ok_p. + +2008-10-13 Nathan Froyd + + * doc/install.texi (powerpc-*-*): Require binutils 2.15. + (powerpc*-*-linux-gnu*): Describe. + * config/rs6000/ppc-asm.h (HIDDEN_FUNC): New macro. + * config/rs6000/crtresfpr.asm, config/rs6000/crtresgpr.asm, + config/rs6000/crtresxfpr.asm, config/rs6000/crtresxgpr.asm, + config/rs6000/crtsavfpr.asm, config/rs6000/crtsavgpr.asm, + config/rs6000/e500crtres32gpr.asm, + config/rs6000/e500crtres64gpr.asm, + config/rs6000/e500crtres64gprctr.asm, + config/rs6000/e500crtrest32gpr.asm, + config/rs6000/e500crtrest64gpr.asm, + config/rs6000/e500crtresx32gpr.asm, + config/rs6000/e500crtresx64gpr.asm, + config/rs6000/e500crtsav32gpr.asm, + config/rs6000/e500crtsav64gpr.asm, + config/rs6000/e500crtsav64gprctr.asm, + config/rs6000/e500crtsavg32gpr.asm, + config/rs6000/e500crtsavg64gpr.asm, + config/rs6000/e500crtsavg64gprctr.asm: Use it. + * config/rs6000/crtsavres.asm: Really remove. + +2008-10-13 Kai Tietz + + Fix PR/25502 + * c-format.c (convert_format_name_to_system_name): Use + TARGET_OVERRIDES_FORMAT_INIT. + * config.gcc (extra_options): Add for mingw targets mingw.opt. + * config/i386/mingw.opt: New. + * config/i386/mingw32.h (TARGET_OVERRIDES_FORMAT_INIT): New. + * config/i386/msformat-c.c (TARGET_OVERRIDES_FORMAT_INIT): New. + (ms_printf_length_specs): Removed const specifier. + * doc/tm.texi (TARGET_OVERRIDES_FORMAT_INIT): New. + * doc/invoke.texi (Wno-pedantic-ms-format): New. + +2008-10-13 Kaveh R. Ghazi + + * builtins.c: Remove MPFR_VERSION_NUM(2,3,0) conditionals. + * doc/install.texi: Bump recommended MPFR to 2.3.2. + +2008-10-12 Kenneth Zadeck + + PR middle-end/37808 + * df-scan.c (df_ref_change_reg_with_loc_1): Added test to make + sure that ref has valid bb. + +2008-10-12 Richard Henderson + + PR middle-end/37447 + * Makefile.in (reload1.o): Depend on EMIT_RTL_H. + * alias.c (value_addr_p, stack_addr_p): Remove. + (nonoverlapping_memrefs_p): Remove IRA special case. + * emit-rtl.c (get_spill_slot_decl, set_mem_attrs_for_spill): New. + * emit-rtl.h (set_mem_attrs_for_spill): Declare. + * reload1.c (alter_reg): Use it. + +2008-10-12 Uros Bizjak + + * config/i386/driver-i386.c (detect_caches_cpuid2): Use array + of registers instead of eax, ebx, ecx and edx. Use for loop + and check register for non-zero value before the call + to decode_caches_intel. + +2008-10-11 Kenneth Zadeck + + PR rtl-optimization/37448 + * df.h: (df_ref_class): New enum. + (DF_REF_TYPE_NAMES, df_ref_extract): Removed. + (struct df_ref): Replaced with union df_ref_d. + (df_base_ref, df_artificial_ref, df_regular_ref, df_extract_ref): + New members of df_ref_d union. + (DF_REF_REAL_REG, DF_REF_REGNO, DF_REF_REAL_LOC, DF_REF_REG, + DF_REF_LOC, DF_REF_BB, DF_REF_INSN_INFO, DF_REF_INSN, + DF_REF_CLASS, DF_REF_TYPE, DF_REF_CHAIN, DF_REF_ID, DF_REF_FLAGS, + DF_REF_ORDER, DF_REF_IS_ARTIFICIAL, DF_REF_NEXT_REG, + DF_REF_PREV_REG, DF_REF_EXTRACT_WIDTH, DF_REF_EXTRACT_OFFSET, + DF_REF_EXTRACT_MODE): Replaced definition to access union + df_ref_d. + (DF_MWS_REG_DEF_P, DF_MWS_REG_USE_P, DF_MWS_TYPE): New macros. + (df_scan_bb_info, df_bb_regno_first_def_find, + df_bb_regno_last_def_find, df_find_def, df_find_use, + df_refs_chain_dump, df_regs_chain_dump, df_ref_debug, + debug_df_ref, df_chain_create, df_chain_unlink, df_chain_copy, + df_ref_create, df_ref_remove, df_compute_accessed_bytes, + df_get_artificial_defs, df_get_artificial_uses, union_defs) + Replaced struct df_ref * with df_ref. + * df-scan.c (df_collection_rec, df_null_ref_rec, + df_ref_chain_delete_du_chain, df_ref_chain_delete, df_install_ref, + df_grow_ref_info, df_ref_create, df_reg_chain_unlink, + df_ref_compress_rec, df_ref_remove, df_ref_chain_delete_du_chain, + df_ref_chain_delete, df_free_collection_rec, df_insn_rescan, + df_reorganize_refs_by_reg_by_reg, + df_reorganize_refs_by_reg_by_insn, df_reorganize_refs_by_reg, + df_ref_change_reg_with_loc_1, df_notes_rescan, df_swap_refs, + df_sort_and_compress_refs, df_install_ref, df_install_refs, + df_ref_record, df_get_conditional_uses, df_get_call_refs, + df_bb_refs_record, df_exit_block_uses_collect, + df_record_exit_block_uses, df_reg_chain_mark, + df_reg_chain_verify_unmarked, df_refs_verify): Replaced struct + df_ref * with df_ref. + (df_ref_record, df_uses_record, df_ref_create_structure): Added + df_ref_class parameter. + (df_scan_problem_data): Added new pools for different types of + refs. + (df_scan_free_internal, df_scan_alloc, df_free_ref, + df_ref_create_structure): Processed new ref pools. + (df_scan_start_dump): Added counts of refs and insns. + (df_ref_create, df_notes_rescan, df_def_record_1, df_uses_record, + df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect, + df_entry_block_defs_collect, df_exit_block_uses_collect): Added + code to pass df_ref_class down to ref creation functions. + (df_reg_chain_unlink, df_ref_remove, df_ref_change_reg_with_loc_1, + df_reg_chain_mark): Use macros to hide references to df_refs. + (df_ref_chain_change_bb): Removed. + (df_insn_change_bb): Remove calls to df_ref_insn_change_bb. + (df_ref_equal_p, df_ref_compare, df_ref_create_structure): + Enhanced to understand df_ref union structure. + * fwprop.c (local_ref_killed_between_p, use_killed_between, + all_uses_available_at, update_df, try_fwprop_subst, + forward_propagate_subreg, forward_propagate_and_simplify, + forward_propagate_into, fwprop, fwprop_addr): Replaced struct + df_ref * with df_ref. + (use_killed_between, all_uses_available_at): Use macros to hide + references to df_refs. + * regstat.c (regstat_bb_compute_ri, + regstat_bb_compute_calls_crossed): Replaced struct df_ref * with + df_ref. + * see.c (see_handle_relevant_defs, see_handle_relevant_uses, + see_handle_relevant_refs, see_analyze_one_def, + see_update_relevancy, see_propagate_extensions_to_uses): Replaced + struct df_ref * with df_ref. + * ra-conflict.c (record_one_conflict, clear_reg_in_live, + global_conflicts): Replaced struct df_ref * with df_ref. + * ddg.c (create_ddg_dep_from_intra_loop_link, + add_cross_iteration_register_deps, build_inter_loop_deps): + Replaced struct df_ref * with df_ref. + (create_ddg_dep_from_intra_loop_link, + add_cross_iteration_register_deps): Use macros to hide references + to df_refs. + * auto-inc-dec.c (find_inc, merge_in_block): Replaced struct + df_ref * with df_ref. + * df-core.c (df_bb_regno_first_def_find, + df_bb_regno_last_def_find, df_find_def, df_find_use, + df_refs_chain_dump, df_regs_chain_dump, df_ref_debug, + debug_df_ref): Replaced struct df_ref * with df_ref. + (df_mws_dump, df_ref_debug): Use macros to hide references to df_refs. + * cse.c (cse_extended_basic_block): Replaced struct df_ref * with + df_ref. + * web.c (union_defs, entry_register, replace_ref, web_main): + Replaced struct df_ref * with df_ref. + (union_defs, replace_ref): Use macros to hide references to df_refs. + * global.c (compute_regs_asm_clobbered, build_insn_chain): + Replaced struct df_ref * with df_ref. + * ifcvt.c (dead_or_predicable): Replaced struct df_ref * with df_ref. + * sel-sched-ir.c (maybe_downgrade_id_to_use, setup_id_reg_sets, ): + Replaced struct df_ref * with df_ref. + * ira-lives.c (mark_ref_live, def_conflicts_with_inputs_p, + mark_ref_dead, process_bb_node_lives): Replaced struct df_ref * + with df_ref. + * local-alloc.c (block_alloc): Replaced struct df_ref * with df_ref. + * df-byte-scan.c (df_compute_accessed_bytes_extract, + df_compute_accessed_bytes_strict_low_part, + df_compute_accessed_bytes_subreg, df_compute_accessed_bytes): + Replaced struct df_ref * with df_ref. + (df_compute_accessed_bytes): Use macros to hide references to df_refs. + * init-regs.c (initialize_uninitialized_regs): Replaced struct + df_ref * with df_ref. + * loop-invariant.c (invariant_for_use, hash_invariant_expr_1, + check_dependency, check_dependencies, record_uses): Replaced + struct df_ref * with df_ref. + (invariant_for_use, check_dependency): Use macros to hide + references to df_refs. + * loop-iv.c (iv_analysis_loop_init, iv_get_reaching_def, + get_biv_step_1, get_biv_step, record_iv, iv_analyze_def, + iv_analyze, biv_p): Replaced struct df_ref * with df_ref. + (iv_analysis_loop_init, iv_get_reaching_def): Use macros to hide + references to df_refs. + * ira.c (compute_regs_asm_clobbered): Replaced struct df_ref * + with df_ref. + * combine.c (create_log_links): Replaced struct df_ref * with df_ref. + * df-problems.c (df_rd_bb_local_compute_process_def, + df_lr_bb_local_compute, df_live_bb_local_compute, df_chain_create, + df_chain_unlink_1, df_chain_unlink, df_chain_copy, + df_chain_remove_problem, df_chain_create_bb_process_use, + df_chain_create_bb, df_chain_top_dump, df_chain_bottom_dump, + df_byte_lr_check_regs, df_byte_lr_bb_local_compute, + df_byte_lr_simulate_defs, df_byte_lr_simulate_uses, + df_byte_lr_simulate_artificial_refs_at_top, + df_byte_lr_simulate_artificial_refs_at_end, df_create_unused_note, + df_note_bb_compute, df_note_add_problem, df_simulate_defs, + df_simulate_uses, df_simulate_artificial_refs_at_end, + df_simulate_artificial_refs_at_top): Replaced struct df_ref * with + df_ref. + (df_chain_dump): Use macros to hide references to df_refs. + * config/mips/mips.c (r10k_simplify_address): Replaced struct + df_ref * with df_ref. + * dce.c (mark_nonreg_stores, delete_corresponding_reg_eq_notes, + mark_artificial_uses, mark_reg_dependencies, + byte_dce_process_block): Replaced struct df_ref * with df_ref. + +2008-10-11 Eric Botcazou + + * tree.h (contains_packed_reference): Mention ARRAY_RANGE_REF in + head comment. + (array_ref_element_size): Likewise. + (array_ref_low_bound): Likewise. + (array_ref_up_bound): Likewise. + * expr.c (contains_packed_reference): Likewise. + (array_ref_element_size): Likewise. + (array_ref_low_bound): Likewise. + (array_ref_up_bound): Likewise. + * tree-ssa-loop-ivopts.c (idx_contains_abnormal_ssa_name_p): Deal + with ARRAY_RANGE_REF. + (idx_find_step): Likewise. + (idx_record_use): Likewise. + (strip_offset_1): Likewise. + (idx_remove_ssa_names): Likewise. + +2008-10-11 Uros Bizjak + Andi Kleen + + * config/i386/cpuid.h (__cpuid_count): New defines. + * config/i386/driver-i386.c (struct cache_desc): New structure. + (describe_cache): Use struct cache_desc to pass cache descriptions. + (detect_l2_cache): Ditto. Rename from decode_l2_cache. + (detect_caches_amd): Use struct cache_desc to describe caches. + (decode_caches_intel): Use struct cache_desc to pass cache + descriptions. Update descriptions to match latest (rev -032, + December 2007) CPUID documentation. Do not check valid bit here. + Check for Xeon MP value 0x49 problems. + (detect_caches_cpuid2): New function, split from detect_caches_intel. + Check valid bit before calling decode_caches_intel. Detect number + of times to repeat CPUID instruction. + (detect_caches_cpuid4): New function. + (detect_caches_intel): Depending on max_level, call + detect_caches_cpuid2 or detect_caches_cpuid4. Call detect_l2_cache + only when other methods fail to provide valid L2 cache description. + +2008-10-11 John David Anglin + + PR middle-end/37608 + * pa.md (call, call_value): Generate an rtx for register r4 and pass + it to PIC call patterns. + (call_symref_pic): Revise pattern to expose PIC register save. Remove + code generation and attributes from pattern. Change peephole2 to split + for noreturn case. Revise split pattern for non noreturn case. + (call_symref_64bit, call_reg_pic, call_reg_64bit, call_val_symref_pic, + call_val_symref_64bit, call_val_reg_pic, call_val_reg_64bit): Likewise. + * pa.c (attr_length_call): Simplify extraction of call rtx. Add some + asserts. + +2008-10-11 David Edelsohn + + * config/rs6000/rs6000.md (aux_truncdfsf2): Remove TARGET_SINGLE_FLOAT. + (addsf3, subsf3, mulsf3 ! TARGET_POWERPC): Remove TARGET_SINGLE_FLOAT + and fp_type. + (divdf3): Reformat long line. + +2008-10-11 Michael J. Eager + + * config/rs6000/rs6000.c (rs6000_parse_fpu_option): Interpret + -mfpu options. + (rs6000_handle_option): Process -mfpu options. + * config/rs6000/rs6000.h: (TARGET_XILINX_FPU): New. + (enum fpu_type_t): New. + * config/rs6000/rs6000.md (attr fp_type): New. Include xfpu.md. + (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3, trunctfdf2): Set + fp_type. + (floatsisf2): Remove TARGET_SINGLE_FPU condition. + (floatdidf2): Add TARGET_SINGLE_FPU condition. + * config/rs6000/rs6000.opt (-mfpu): New. + (-mxilinx-fpu): New. + * config/rs6000/sysv4.h: (DRIVER_SELF_SPECS): New. + * config/rs6000/xfpu.h: New. Define TARGET_XILINX_FPU. + * config/rs6000/xfpu.md: New. Define Xilinx pipeline. + * gcc/config.gcc: powerpc-xilinx-eabi target: New. + * gcc/doc/invoke.texi (RS/6000 and PowerPC Options): Add -mfpu option. + +2008-10-11 Jakub Jelinek + + PR target/35760 + * config/rs6000/rs6000.c (rs6000_legitimize_address): Only create + LO_SUM on Darwin if mode has just one unit. + +2008-10-10 H.J. Lu + + PR debug/37002 + * dwarf2out.c (mem_loc_descriptor): Use DRAP for vDRAP which + has been optimized out. + +2008-10-10 Richard Sandiford + + * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Test PIC_ADDR_P + instead of PIC_DIRECT_ADDR_P. + (SECONDARY_INPUT_RELOAD_CLASS): Likewise. + (IS_LITERAL_OR_SYMBOLIC_S16_P, IS_LITERAL_OR_SYMBOLIC_U16_P): Delete. + (IS_NON_EXPLICIT_CONSTANT_P): Don't test PIC_OFFSET_P. + (PIC_OFFSET_P): Rename to... + (PCREL_SYMOFF_P): ...this. + (PIC_DIRECT_ADDR_P): Delete. + (MOVI_SHORI_BASE_OPERAND_P): Check PCREL_SYMOFF_P instead of + PIC_OFFSET_P. + (OUTPUT_ADDR_CONST_EXTRA): Don't require unspecs to have a + single argument. Handle UNSPEC_EXTRACT_S16, UNSPEC_EXTRACT_U16, + UNSPEC_SYMOFF and UNSPEC_PCREL_SYMOFF. + * config/sh/sh.c (print_operand): Remove CONST handling. + (unspec_caller_rtx_p): Rewrite to use split_const and check + the operands of UNSPEC bases. + (fixup_mova): Replace (unspec [(minus A B)] UNSPEC_PIC) + with (unspec [A B] UNSPEC_SYMOFF). + (nonpic_symbol_mentioned_p): Check for UNSPEC_SYMOFF and + UNSPEC_PCREL_SYMOFF. + (sh_secondary_reload): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P. + * config/sh/sh.md (UNSPEC_EXTRACT_S16): New unspec. + (UNSPEC_EXTRACT_U16): Likewise. + (UNSPEC_SYMOFF): Likewise. + (UNSPEC_PCREL_SYMOFF): Likewise. + (movsi_const): Use UNSPEC_EXTRACT_*16s to extract 16-bit portions + of constants. + (movsi_const_16bit): Likewise. + (movdi_const, movdi_const_32bit, movdi_const_16bit): Likewise. + (GOTaddr2picreg): Replace (unspec [(minus A (minus B pc))] UNSPEC_PIC) + with (unspec [A B] UNSPEC_PCREL_SYMOFF). + (sym_label2reg): Replace (minus (const (unspec [A] UNSPEC_PIC)) B) + with (unspec [A B] UNSPEC_SYMOFF). + (symPLT_label2reg): Replace (minus A (minus B pc)) with + (unspec [A B] PCREL_UNSPEC_SYMOFF). + * config/sh/constraints.md (Css): Check for an UNSPEC_EXTRACT_S16. + (Csu): Likewise UNSPEC_EXTRACT_U16. + (Csy): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P. + (Cpg): Update after changes to IS_NON_EXPLICIT_CONSTANT_P. + +2008-10-10 Stepan Kasal + + * gcc/doc/invoke.texi (Optimize Options): Fix typo in examples + for loop strip mining and loop blocking. + +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_desc (elt_size): New field. - alloc_pool_desc (created, allocated, current, peak): Make unsigned - long. - output_info (count): Renamed total_created and made unsigned long. - output_info (size): Renamed total_allocated and made unsigned long. - alloc-pool.c (create_alloc_pool, empty_alloc_pool, pool_alloc, - pool_free): Properly keep track of desc->size. + * 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. @@ -233,8 +755,7 @@ (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. + (create_TOC_reference): Create an UNSPEC_TOCREL instead of a MINUS. 2008-10-06 Vladimir Makarov @@ -336,10 +857,8 @@ * 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. + 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. @@ -379,8 +898,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. @@ -987,8 +1506,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 @@ -1021,8 +1540,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 @@ -1082,8 +1600,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. @@ -1360,8 +1877,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. @@ -1375,8 +1891,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 @@ -2685,10 +3200,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.