OSDN Git Service

* config/sol2.h (REGISTER_TARGET_PRAGMAS): Move ...
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 6e03a8c..e6b91ca 100644 (file)
@@ -1,3 +1,702 @@
+2008-09-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/sol2.h (REGISTER_TARGET_PRAGMAS): Move ...
+       * config/i386/sol2.h (REGISTER_SUBTARGET_PRAGMAS): ... here.
+       * config/sparc/sol2.h (REGISTER_TARGET_PRAGMAS): ... and here.
+
+2008-09-09  Jan Hubicka  <jh@suse.cz>
+
+       * profile.c (is_edge_inconsistent): Add debug output; ignore negative count
+       on fake edges.
+       (is_inconsistent): Add debug output.
+
+2008-09-09  Andrey Belevantsev  <abel@ispras.ru>
+
+       * haifa-sched.c (advance_one_cycle): Do not print '\n' before printing
+       dump message.
+       (choose_ready): When first insn is chosen from the ready list, also
+       dump it.
+
+2008-09-09  Andrey Belevantsev  <abel@ispras.ru>
+
+        PR rtl-optimization/37360
+       * haifa-sched.c (max_issue): Do not assert that we never issue more
+       insns than issue_rate.  Add comment.
+       
+2008-09-09  Richard Guenther  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_types_in_gimple_op): Remove.
+       (verify_types_in_gimple_call): Rename to ...
+       (verify_gimple_call): ... this.  Enhance.
+       (verify_types_in_gimple_cond): Remove.
+       (verify_gimple_comparison): New function ...
+       (verify_types_in_gimple_assign): ... split out from here.
+       (verify_types_in_gimple_return): Rename to ...
+       (verify_gimple_return): ... this.  Enhance.
+       (verify_types_in_gimple_switch): Rename to ...
+       (verify_gimple_switch): ... this.  Enhance.
+       (verify_gimple_goto): New function.
+       (verify_types_in_gimple_phi): Rename to ...
+       (verify_gimple_phi): ... this.  Enhance.
+       (verify_types_in_gimple_stmt): Adjust calls to helper functions.
+       Fold in single-statement cases from verify_types_in_gimple_seq_2.
+       (verify_types_in_gimple_seq_2): Remove cases handled in
+       verify_types_in_gimple_stmt.
+
+2008-09-09  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (n_regs_to_save): New static variable.
+       (push_multiple_operation, pop_multiple_operation): Set it.
+       (workaround_rts_anomaly): New function.
+       (workaround_speculation): New function, broken out of bfin_reorg.
+       (bfin_reorg): Call the new functions.
+
+2008-09-09  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/37354
+       PR middle-end/30165
+       * gimplify.c (gimplify_conversion): Change conversions of
+       non-register type to VIEW_CONVERT_EXPRs.
+       (gimplify_addr_expr): If we need to make the operand
+       addressable make sure to use a properly initialized
+       temporary for that so it gets a valid gimple store.
+
+2008-09-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * function.h (struct function): Add function_start_locus.
+       * cfgexpand.c (gimple_expand_cfg): Use it.
+       * c-parser.c (c_parser_declaration_or_fndef): Set it.
+
+2008-09-09  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/37433
+       * tree-ssa-ccp.c (ccp_fold): Properly guard folding of
+       function calls.
+
+2008-09-09  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/37387
+       * tree-ssa-ifcombine.c (ifcombine_iforif): Convert the name
+       and bits to a common type.
+
+2008-09-09  Nick Clifton  <nickc@redhat.com>
+
+       * config/v850/v850.md (return): Restore frame size restriction.
+
+2008-09-09  Paolo Bonzini  <bonzini@gnu.org>
+
+       * c-common.c (c_expand_decl): Remove.
+       * c-common.h (anon_aggr_type_p): Remove prototype.
+       (DECL_ANON_UNION_ELEMS): Remove.
+       * c-objc-common.h (LANG_HOOKS_EXPAND_DECL): Remove.
+       * c-decl.c (anon_aggr_type_p): Remove.
+       * langhooks-def.h (LANG_HOOKS_EXPAND_DECL): Remove.
+       (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_EXPAND_DECL.
+       * langhooks.h (struct lang_hooks): Remove expand_decl.
+       * langhooks.c (lhd_expand_decl): Remove.
+       * stmt.c (expand_anon_union_decl): Remove.
+       * tree.h (expand_anon_union_decl): Remove prototype.
+
+2008-08-09  Andy Hutchinson  <hutchinsonandy@aim.com>
+
+       PR target/36609
+       * config/avr/avr.c (avr_reorg): Create RTL for reversed compare with
+       zero.
+       * config/avr/avr.md  (QISI) : Define mode iterator.
+       (negated_tst<mode>) : Redefine as split using mode macro.
+       (reversed_tstqi): Define insn as reversed compare with zero.
+       (reversed_tsthi): Ditto.
+       (reversed_tstsi): Ditto.
+
+2008-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/37393
+       * tree-inline.c (copy_bb): When replacing a gimple_call_va_arg_pack_p
+       call stmt by new_call, clear gimple_bb on stmt after gsi_replace.
+
+       PR middle-end/37414
+       * predict.c (optimize_function_for_size_p): Don't segfault if
+       FUN is NULL.
+       * fold-const.c (LOGICAL_OP_NON_SHORT_CIRCUIT, fold_truthop,
+       tree_swap_operands_p): Don't test cfun != NULL before calling
+       optimize_function_for_s*_p.
+
+2008-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ira-color.c (ira_reuse_stack_slot): Set slot_num on success at the
+       end of the search.
+
+2008-09-08  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
+
+       * crx/crx.h (IRA_COVER_CLASSES): Define.
+
+2008-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/37337
+       * tree-ssa-dom.c (optimize_stmt): Call maybe_clean_or_replace_eh_stmt
+       even when a stmt has been gimple_modified_p, but after fold_stmt is
+       not any longer.  Remove unneeded may_have_exposed_new_symbols
+       initializations.
+
+2008-09-08  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/37421
+       * tree-ssa-sccvn.c (visit_copy): Make sure to fully
+       valueize the RHS.
+
+2008-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/37415
+       * opts.c (common_handle_option): Handle OPT_ftree_store_ccp.
+
+2008-09-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR driver/37409
+       * pa-hpux.h (LINK_SPEC): Strip -fwhole-program.
+       * pa-hpux10.h (LINK_SPEC): Likewise.
+       * pa-hpux11.h (LINK_SPEC): Likewise.
+
+2008-09-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa32-regs.h (IRA_COVER_CLASSES): Define.
+       * pa64-regs.h (IRA_COVER_CLASSES): Define.
+
+2008-09-07  Helge Deller  <deller@gmx.de>
+
+        * pa/linux-atomic.c: New file.
+       * pa/t-linux (LIB2FUNCS_STATIC_EXTRA): Define.
+       * pa/t-linux64 (LIB2FUNCS_STATIC_EXTRA): Define.
+
+2008-09-07  Richard Guenther  <rguenther@suse.de>
+            Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/36630
+       * tree-vect-transform.c (vect_update_ivs_after_vectorizer):
+       Call STRIP_NOPS before calling evolution_part_in_loop_num.
+
+2008-09-07  Dorit Nuzman  <dorit@il.ibm.com>
+            Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/35642
+       * config/rs6000/altivec.md (mulv8hi3): Implement.
+
+2008-09-06  Jeff Law <law@redhat.com>
+
+       * h8300/h8300.h (IRA_COVER_CLASSES): Define.
+
+2008-09-06  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/14703
+       * tree-ssa-live.c (remove_unused_scope_block_p): Remove ignored declarations.
+       * passes.c (init_optimization_passes): Recompute inline parameters.
+
+2008-09-06  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.c (mips_function_ok_for_sibcall): Check for
+       DECL being null.
+
+2008-09-06  Richard Sandiford  <rdsandiford@goolemail.com>
+           Peter Fuerst  <post@pfrst.de>
+
+       * doc/invoke.texi: Document -mr10k-cache-barrier=.
+       * doc/extend.texi: Document __builtin_mips_cache.
+       * config/mips/mips-ftypes.def: Add a (VOID, SI, CVPOINTER) entry.
+       * config/mips/mips.opt (mr10k-cache-barrier=): New option.
+       * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
+       __GCC_HAVE_BUILTIN_MIPS_CACHE.
+       (TARGET_CACHE_BUILTIN, ISA_HAS_CACHE): New macros.
+       * config/mips/mips.c (mips_r10k_cache_barrier_setting): New enum.
+       (set_push_mips_isas): New variable.
+       (mips_r10k_cache_barrier): New variable.
+       (cache): New availability predicate.
+       (mips_builtins): Add an entry for __builtin_mips_cache.
+       (mips_build_cvpointer_type): New function.
+       (MIPS_ATYPE_CVPOINTER): New macro.
+       (mips_prepare_builtin_arg): Only use the insn's mode if the rtx's
+       mode is VOIDmode.
+       (r10k_simplified_address_p, r10k_simplify_address)
+       (r10k_uncached_address_p, r10k_safe_address_p)
+       (r10k_needs_protection_p_1, r10k_needs_protection_p_store)
+       (r10k_needs_protection_p_call, r10k_needs_protection_p)
+       (r10k_insert_cache_barriers): New functions.
+       (mips_reorg_process_insns): Delete cache barriers after a
+       branch-likely instruction.
+       (mips_reorg): Call r10k_insert_cache_barriers.
+       (mips_handle_option): Handle OPT_mr10k_cache_barrier_.
+       * config/mips/mips.md (UNSPEC_MIPS_CACHE): New constant.
+       (UNSPEC_R10K_CACHE_BARRIER): Likewise.
+       (mips_cache, r10k_cache_barrier): New define_insns.
+
+2008-09-06  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * ira-int.h (ira_zero_hard_reg_set, ira_one_hard_reg_set): Delete.
+       * ira-color.c (setup_allocno_left_conflicts_num): Use
+       hard_reg_set_equal_p instead of a comparison with
+       ira_zero_hard_reg_set.
+       * ira.c (setup_reg_subclasses): Likewise.
+       (setup_cover_and_important_classes): Likewise.
+       (setup_class_translate): Likewise.
+       (setup_reg_class_intersect_union): Likewise.
+       (ira_zero_hard_reg_set, ira_one_hard_reg_set): Delete.
+       (ira_init_once): Don't initialize them.
+
+2008-09-05  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * doc/tm.texi (IRA_COVER_CLASSES): Fix a typo.
+
+2008-09-05  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * ira-color.c (ira_fast_allocation): Permit global allocno
+       allocation.
+       
+2008-09-05  Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
+
+       Improved branch hints, safe hints, and scheduling.
+
+       * haifa-sched.c (sched_emit_insn) : Define.
+       * sched-int.h (sched_emit_insn) : Add prototype.
+       * doc/invoke.texi (-mdual-nops, -mhint-max-nops,
+       -mhint-max-distance -msafe-hints) : Document.
+       * config/spu/spu.c (spu_flag_var_tracking): New.
+       (TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_INIT,
+       TARGET_SCHED_REORDER, TARGET_SCHED_REORDER2,
+       TARGET_ASM_FILE_START): Define.
+       (TARGET_SCHED_ADJUST_PRIORITY): Remove.
+       (STOP_HINT_P, HINTED_P, SCHED_ON_EVEN_P): Define.
+       (spu_emit_branch_hint): Add blocks argument.
+       (insert_branch_hints, insert_nops): Remove.
+       (pad_bb, insert_hbrp_for_ilb_runout, insert_hbrp, in_spu_reorg,
+       uses_ls_unit, spu_sched_init_global, spu_sched_init,
+       spu_sched_reorder, asm_file_start): New functions.
+       (clock_var, spu_sched_length, pipe0_clock,
+       pipe1_clock, prev_clock_var, prev_priority,
+       spu_ls_first, prev_ls_clock): New static variables.
+       * config/spu/spu.h (TARGET_DEFAULT): Add MASK_SAFE_HINTS.
+       * config/spu.md (iprefetch): Add operand, make it clobber MEM.
+       (nopn_nv): Add a non-volatile version of nop.
+       * config/spu/spu.opt (-mdual-nops, -mhint-max-nops,
+       -mhint-max-distance, -msafe-hints): New options.
+
+2008-09-05  Janis Johnson  <janis187@us.ibm.com>
+           Samuel Tardieu  <sam@rfc1149.net>
+
+       * opts.c (decode_options): Combine nested if statements.
+
+       PR target/37283
+       * opts.c (decode_options): Handle more relationships among
+       unit-at-a-time, toplevel-reorder, and section-anchors.
+
+2008-09-05  David Daney  <ddaney@avtrex.com>
+
+       * doc/install.texi (--enable-reduced-reflection): Document new option.
+
+2008-09-05  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/predicates.md (nonimmed_operand, mem_operand): Use
+       constantpool_mem_p.
+       (constantpool_operand): New.
+       (move_operand): Disallow sub-word modes for the constant pool.
+       * config/xtensa/xtensa.c (TARGET_SECONDARY_RELOAD): Define.
+       (xtensa_secondary_reload_class): Replace with....
+       (xtensa_secondary_reload): this function.  Remove SIGN_EXTEND check. 
+       Set icode for sub-word reloads from the constant pool.
+       * config/xtensa/xtensa.h (SECONDARY_INPUT_RELOAD_CLASS): Delete.
+       (SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
+       * config/xtensa/xtensa.md (reload<mode>_literal): New.
+       * config/xtensa/xtensa-protos.h: Update prototypes.
+       
+2008-09-05  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/mips/mips.h (enum reg_class): Add FRAME_REGS.
+       (REG_CLASS_NAMES): Update.
+       (REG_CLASS_CONTENTS): Update.
+       * config/mips/mips.c (mips_regno_to_class): Use FRAME_REGS instead
+       of ALL_REGS for regs 77 and 78.
+       * function.c (instantiate_virtual_regs_in_insn): Assert that
+       return value of simplify_gen_subreg is not NULL.
+
+2008-09-05  Paolo Bonzini  <bonzini@gnu.org>
+
+       * emit-rtl.c (gen_rtvec): Rewrite not using gen_rtvec_v.
+       (gen_rtvec_v): Fix coding standards.
+
+2008-09-04  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (decide_alg): Be more conservative about optimizing for size.
+
+2008-09-04  Ian Lance Taylor  <iant@google.com>
+
+       * varasm.c (narrowing_initializer_constant_valid_p): New
+       static function.
+       (initializer_constant_valid_p): Call it.
+
+2008-09-04  Jeff Law  <law@redhat.com>
+
+       * fold-const.c (native_encode_real): Fix computation of WORDS.
+       (native_interpret_real): Likewise.
+
+2008-09-04  Janis Johnson  <janis187@us.ibm.com>
+
+       * config/rs6000/t-rs6000: Remove target gt-rs6000.h.
+
+2008-09-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * ira-conflicts.c (process_regs_for_copy): Check insn to check
+       that the cost is already taken into account in ira-costs.c
+
+       * ira-int.h (ira_debug_copy, ira_debug_copies): New.
+
+       * ira-build.c (print_copy, print_copies, ira_debug_copy,
+       ira_debug_copies): New.
+       (ira_bulid): Call print_copies.
+       
+       * doc/tm.texi (IRA_COVER_CLASSES): Fix the description.
+       
+2008-09-04  Samuel Tardieu  <sam@rfc1149.net>
+
+       PR target/32783
+       * config/rs6000/rs6000.c (optimization_options): Remove check of
+       flag_toplevel_order.
+
+2008-09-04  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * config/mips/mips.h (ISA_HAS_SEQ_SNE): New macro.
+       * config/mips/mips.c (mips_expand_scc): Also expand seq and sne if
+       second operand is a reg_imm10_operand.
+       * config/mips/mips.md (*seq_<GPR:mode><GPR2:mode>_seq,
+       *sne_<GPR:mode><GPR2:mode>_sne): New patterns.
+       (*seq_<GPR:mode><GPR2:mode>): Rename to
+       *seq_zero_<GPR:mode><GPR2:mode>.  Don't match if
+       ISA_HAS_SEQ_SNE.
+       (*seq_<GPR:mode><GPR2:mode>_mips16): Rename to
+       *seq_zero_<GPR:mode><GPR2:mode>_mip16.  Don't match if
+       ISA_HAS_SEQ_SNE.
+       (*sne_<GPR:mode><GPR2:mode>): Rename to
+       *sne_zero_<GPR:mode><GPR2:mode>.  Don't match if
+       ISA_HAS_SEQ_SNE.
+
+2008-09-04  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * config/mips/mips.h (ISA_HAS_EXTS): New macro.
+       * config/mips/mips.md (*ashr_trunc<mode>): Name the pattern
+       combining an arithmetic right shift by more than 31 and a
+       trunction.  Don't match for out-of-range shift amounts.  Set
+       attribute mode to <MODE>.
+       (*lshr32_trunc<mode>): Name the pattern combining a logical right
+       shift by 32 and and a truncation.  Set attribute mode to <MODE>.
+       (*<optab>_trunc<mode>_exts): New pattern for truncated right
+       shifts by less than 32.
+       (extv): Change predicate on first operand to accept registers.
+       Change predicate of the other operands from immediate_operand to
+       const_int_operand.  Expand exts when source is a register.
+       (extzv): Change predicate of the constant operands from
+       immediate_operand to const_int_operand.
+       (extzv<mode>): Change predicate of the constant operands from
+       immediate_operand to const_int_operand and no constraint. Also
+       remove mode.
+       (*extzv_trunc<mode>_exts): New pattern.
+
+2008-09-04  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * config/mips/mips.h (ISA_HAS_CINS): New macro.
+       * config/mips/mips-protos.h (mask_low_and_shift_p,
+       mask_low_and_shift_len): Declare.
+       * config/mips/mips.c (mask_low_and_shift_p,
+       mask_low_and_shift_len): New functions.
+       (mips_print_operand): Handle new operand prefix "m".
+       * config/mips/mips.md (*cins<mode>): New pattern.
+
+2008-09-04  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (gen_one_bundle): Don't create new nops when
+       optimizing for size.
+
+2008-09-04  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * df-scan.c (df_get_entry_block_def_set): Add STACK_POINTER_REGNUM
+       regardless of epilogue_completed.
+
+2008-09-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR middle-end/37359
+       * ira-lives.c (process_bb_node_lives): Check setjmp.
+
+2008-09-04  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR middle-end/37243
+       * ira-build.c (form_loop_tree): Reverse BB walk.
+       (create_bb_allocnos): Likewise.
+       * ira-lives.c (make_regno_born_and_dead, regs_set): Delete.
+       (mark_reg_store): Rename to...
+       (mark_ref_live): ...this and take a df_ref argument instead of
+       note_stores arguments.  Assert that we have a register.
+       (mark_reg_clobber): Delete.
+       (def_conflicts_with_inputs_p): New function.
+       (mark_reg_conflicts): Delete.
+       (mark_reg_death): Rename to...
+       (mark_ref_dead): ...this and take a df_ref argument instead of
+       a register.  Assert that we have a register.
+       (process_bb_node_lives): Hoist frequency calculation out of
+       instruction walk.  Convert from a forwards scan to a backwards scan.
+       Use DF_REF_USES and DF_REF_DEFS instead of register notes and
+       note_stores.  Remove EH_RETURN_DATA_REGNO and regs_set handling.
+       (create_allocno_live_ranges): Don't create regs_set.
+
+2008-09-04  Ian Lance Taylor  <iant@google.com>
+
+       * rtl.h (LABEL_REF_NONLOCAL_P): Don't check for REG_LABEL_OPERAND
+       or REG_LABEL_TARGET.
+       * calls.c (emit_library_call_value_1): Use MEM_P rather than
+       comparing MODE with MEM.
+       * gimple.c (gimple_build_predict): Cast END_PREDICTORS before
+       comparing with GF_PREDICT_TAKEN.
+       (gimple_get_lhs): Change code to enum gimple_code.
+       (gimple_set_lhs): Likewise.
+       * ifcvt.c (noce_process_if_block): Correct GET_MODE to GET_CODE.
+       * omp-low.c (find_omp_clause): Change kind parameter to enum
+       omp_clause_code.
+       * tree-flow.h (find_omp_clause): Update declaration.
+       * regrename.c (clear_dead_regs): Change kind parameter to enum
+       reg_note.
+       * reload1.c (eliminate_regs_1): Use REG_NOTE_KIND rather than
+       GET_MODE.
+       * see.c (see_get_extension_data): Change return type to enum
+       entry_type.  Change UNKNOWN to NOT_RELEVANT, SIGN_EXTEND to
+       SIGNED_EXTENDED_DEF, ZERO_EXTEND to ZERO_EXTENDED_DEF.
+       (see_gen_normalized_extension): Change extension_code parameter to
+       enum entry_type.
+       (see_seek_pre_extension_expr): Change extension_code to enum
+       entry_type.
+       (see_merge_one_def_extension): Likewise.
+       (see_handle_relevant_defs): Likewise.
+       (see_handle_relevant_uses): Likewise.
+       (see_analyze_one_def): Likewise.
+       * tree-cfg.c (need_fake_edge_p): Compare gimple code with
+       GIMPLE_ASM rather than ASM_EXPR.
+       * tree-ssa-alias.c (is_escape_site): Compare gimple code with
+       GIMPLE_RETURN rather than RETURN_EXPR.
+       * tree-ssa-ccp.c (likely_value): Change code to enum gimple_code.
+       (evaluate_stmt): Likewise.
+       * tree-vect-analyze.c (vect_analyze_operations): Change relevance
+       to enum vect_relevant.
+       (vect_mark_stmts_to_be_vectorized): Change assertion to not
+       compare gimple codes with tree codes.
+
+2008-09-04  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_size_rtx_costs): Call cost function.
+
+2008-09-04  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Restore a null
+       pointer check lost in the recent no-unit-at-a-time patch.
+       
+2008-09-04  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/37343
+       * tree-switch-conversion.c (check_final_bb): Accept only IP
+       invariants.
+
+2008-09-04  Jan Hubicka  <jh@suse.cz>
+
+       * tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
+       Break out from ...
+       (vrp_evaluate_conditional_warnv_with_ops): ... this one.  Add
+       using_ranges argument.
+       (vrp_evaluate_conditional): Avoid bogus warning for type range.
+       (vrp_visit_cond_stmt): Update call of
+       vrp_evaluate_conditional_warnv_with_ops
+
+2008-09-04  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/37345
+       PR tree-optimization/37358
+       PR tree-optimization/37357
+       * tree.c (build_function_type_skip_args): Build distinct type copy;
+       set TYPE_CONTEXT.
+       (build_function_decl_skip_args): Set type of new decl not orig decl;
+       clear DECL_VINDEX for methods turned into functions.
+
+2008-09-04  Nick Clifton  <nickc@redhat.com>
+
+       * configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler
+       check.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * config/i386/bsd.h (ASM_OUTPUT_ALIGNED_LOCAL): Use .lcomm with an
+       alignment field, if it is supported.
+
+2008-09-04  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/t-mingw32 (SHLIB_LC): Change order of import
+       libraries.
+
+2008-09-03  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (processor_target_table): Do not
+       enable VMX for POWER6.
+
+2008-09-03  Anton Blanchard  <anton@samba.org>
+
+       * config/rs6000/rs6000.c (rs6000_split_lock_test_and_set): Do not
+       emit memory barrier before operation.
+
+2008-09-03  John David Anglin  <dave.anglin@nrc.cnrc.gc.ca>
+
+       PR testsuite/37325
+       * config/pa/pa64-hpux.h (ASM_OUTPUT_EXTERNAL_REAL): Call
+       default_elf_asm_output_external.
+
+2008-09-03  Jeff Law  <law@redhat.com>
+
+       * h8300.c (expand_a_shift): Avoid invalid RTL sharing.
+
+2008-09-03  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_split_lock_test_and_set): Move
+       memory barrier to below the test-and-set.
+       (alpha_split_lock_test_and_set_12): Likewise.
+
+2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-opt/37243
+
+       * ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
+       all_allocnos.
+
+       * ira-color.c (print_loop_title): Use all_allocnos.
+       (color_pass): Ditto.  Don't add border_allocnos.  Check that
+       subloop allocno in the correspdoning bitmap all_allocnos.
+
+       * 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.
+       (create_cap_allocno): Remove setting mentioned_allocnos.
+       (create_insn_allocnos): Ditto.
+       (remove_unnecessary_allocnos): Use all_allocnos.
+       (check_allocno_creation): Check that allocnos are in the
+       corresponding bitmap all_allocnos.
+       
+2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-opt/37243
+       
+       * ira-conflicts.c (REG_SUBREG_P, go_through_subreg): New.
+       (process_regs_for_copy): Process subregs.  Refine check when cost
+       is taken into account in ira-costs.c.
+       (process_reg_shuffles): Use REG_SUBREG_P.
+       (add_insn_allocno_copies): Ditto.  Ignore modes.
+
+       * ira-color.c (conflict_allocno_vec): New.
+       (COST_HOP_DIVISOR): New macro.
+       (update_copy_costs_1): Use it.
+       (update_conflict_hard_regno_costs): New function.
+       (assign_hard_reg): Use it.
+       (ira_color): Allocate and free conflict_allocno_vec.
+2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-opt/37296
+
+       * ira-int.h (ira_sort_insn_chain): Remove.
+
+       * ira.c (basic_block_order_nums, chain_insn_order,
+       chain_freq_compare, chain_bb_compare, ira_sort_insn_chain): Remove.
+       (ira): Don't call ira_sort_insn_chain.
+
+       * reload1.c (reload): Don't call ira_sort_insn_chain.
+
+2008-09-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR middle-end/37293
+       * cgraphunit.c (update_call_expr): Remove eh regions from statements
+       which become non throw.
+       (cgraph_function_versioning): Also clear DECL_WEAK.  Call
+       update_call_expr after updating the flags on the decl.
+
+2008-09-03  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/37315
+       * cgraph.c (cgraph_create_edge): Use gimple_has_body_p.
+       * cgraphunit.c (verify_cgraph_node): drop gimple_body check.
+       (cgraph_analyze_functions): Use node->analyzed
+       (cgraph_mark_functions_to_output): Likewise.
+       (cgraph_expand_function): All functions can be released after
+       expanding.
+       (cgraph_optimize): Use gimple_has_body_p.
+       * ipa-inline.c (cgraph_clone_inlined_nodes): Use analyzed flag.
+       (cgraph_decide_inlining_incrementally): Likewise.
+       (inline_transform): Inline transform.
+       * tree-inline.c (initialize_cfun): Do now shallow copy structure;
+       copy fields needed.
+       (inlinable_function_p): Drop gimple_body check.
+       (expand_call_inline): Use gimple_has_body_p.
+       * gimple.c (gimple_has_body_p): New.
+       * gimple.h (gimple_has_body_p): Add prototype.
+       * tree-cfg.c (execute_build_cfg): Remove gimple_body.
+       (dump_function_to_file): Use gimple_has_body_p check.
+
+2008-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/37346
+       * gimple.h (gimple_has_substatements): GIMPLE_OMP_CRITICAL has
+       substatements.
+       * tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_CRITICAL.
+
+2008-09-03  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       From Michael Frysinger  <michael.frysinger@analog.com>
+       * config/bfin/bfin.c (bfin_cpus[]): Add 0.1 for bf522, bf523, bf524,
+       bf525, bf526, bf527, bf542, bf544, bf547, bf548, and bf549.  Add 0.2
+       for bf538.
+
+2008-09-03  Hari Sandanagobalane  <hariharan@picochip.com>
+
+       Add picoChip port.
+       * doc/extend.texi: Document picoChip builtin functions.
+       * doc/invoke.texi: Document picoChip options.
+       * doc/contrib.texi: Add picoChip contribution.
+       * doc/md.texi: Document picoChip constraints.
+       * config.gcc: Add picochip-*-*.
+       * config/picochip/: Add new port.
+
+2008-09-03  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/37328
+       * tree-sra.c (sra_build_assignment): Gimplify properly.
+       (generate_copy_inout): Take the correct stmt as definition,
+       remove bogus assert.
+
+2008-09-03  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (bfin_expand_prologue): Honour no_stack_limit
+       attributes.
+
+       From Michael Frysinger  <michael.frysinger@analog.com>
+       * config/bfin/bfin.c (bfin_handle_option): Remove BF561 warning.
+
+2008-09-03 Danny Smith  <dannysmith@usrs.sourceforge.net>
+
+       * gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is
+       defined.
+       (__gthread_setspecific): Revert 2008-08-31 change to
+       __GTHREAD_HIDE_W32API case.  Apply it to !__GTHREAD_HIDE_W32API
+       case.
+
+2008-09-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       * diagnostic.c (error_at): New.
+       * toplev.h (error_at): New prototype.
+       * c-typeck.c (build_array_ref): Call error_at instead of error.
+       Pass location to pedwarn.
+
+2008-09-02  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * sel-sched.c (sel_hard_regno_rename_ok): Mark arguments unused.
+
 2008-09-02  Jakub Jelinek  <jakub@redhat.com>
 
        * dwarf2out.c (tree_add_const_value_attribute): Only handle
        * passes.c (init_optimization_passes): Exchange store-ccp
        with a ccp pass.
 
-2008-08-19  Rafael Espindola  <espindola@google.com>
+2008-08-19  Rafael Espíndola  <espindola@google.com>
 
        * varasm.c (weak_decls): Move earlier in the file.
        (assemble_external): Add weak decls to the weak_decls list.
        PR ada/36554
        * dwarf2out.c (is_subrange_type): Deal with BOOLEAN_TYPE.
 
-2008-07-30  Rafael Avila de Espindola  <espindola@google.com>
+2008-07-30  Rafael Ávila de Espíndola  <espindola@google.com>
 
        PR 36974
        * final.c (call_from_call_insn): Handle COND_EXEC.
        * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Add clause for
        vector modes.
 
-2008-07-30  Rafael Avila de Espindola  <espindola@google.com>
+2008-07-30  Rafael Ávila de Espíndola  <espindola@google.com>
 
        * final.c (call_from_call_insn): New.
        (final_scan_insn): Call assemble_external on FUNCTION_DECLs.
        (TARGET_OPTION_PRINT): Ditto.
        (TARGET_CAN_INLINE_P): Ditto.
 
-2008-07-22  Rafael Avila de Espindola  <espindola@google.com>
+2008-07-22  Rafael Ávila de Espíndola  <espindola@google.com>
 
        * c-typeck.c (build_external_ref): Don't call assemble_external.
        * final.c (output_operand): Call assemble_external.
        highest magnitude if this is still less or equal to the true
        quotient in magnitude.
 
-2008-07-21  Rafael Avila de Espindola  <espindola@google.com>
+2008-07-21  Rafael Ávila de Espíndola  <espindola@google.com>
 
        * Makefile.in: Replace toplev.h with TOPLEV_H.
        * c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER.
        (m32c_legitimate_address_p): Handle "++rii" addresses created by
        m32c_legitimize_reload_address.
 
-2007-07-16  Rafael Avila de Espindola  <espindola@google.com>
+2007-07-16  Rafael Ávila de Espíndola  <espindola@google.com>
 
        * c-decl.c (merge_decls): Keep DECL_SOURCE_LOCATION and
        DECL_IN_SYSTEM_HEADER in sync.
 
        * emit-rtl.c (set_mem_attributes_minus_bitpos): Improve comment.
 
-2007-07-14  Rafael Avila de Espindola  <espindola@google.com>
+2007-07-14  Rafael Ávila de Espíndola  <espindola@google.com>
 
        * c-decl.c (diagnose_mismatched_decls): Don't warn if TREE_NO_WARNING
        is set.
        Clear __gcov_indreict_call_callee variable to avoid misattribution
        of the profile.
 
-2008-05-28  Rafael Espindola  <espindola@google.com>
+2008-05-28  Rafael Espíndola  <espindola@google.com>
 
        * see.c (see_def_extension_not_merged): Use copy_rtx_if_shared to avoid
        invalid sharing.
        for A24 to PSImode.
        (m32c_address_cost): Detail costs for indirect offsets.
 
-2008-05-23  Rafael Espindola  <espindola@google.com>
+2008-05-23  Rafael Espíndola  <espindola@google.com>
 
        * see.c (see_get_extension_data): Don't use SUBREG_REG to test
        if a node is a SUBREG.
        * config/avr/avr.c (get_sequence_length): Add new function.
        (expand_prologue, expand_epilogue): Remove duplicate code.
 
-2008-05-22  Rafael Espindola  <espindola@google.com>
+2008-05-22  Rafael Espíndola  <espindola@google.com>
 
        * see.c (see_pre_insert_extensions): Use copy_rtx to avoid invalid rtx
        sharing.
        to one line.
        * doc/invoke.texi (Wframe-larger-than=): Add more description.
 
-2008-05-08  Rafael Espindola  <espindola@google.com>
+2008-05-08  Rafael Espíndola  <espindola@google.com>
 
        * tree-complex.c (expand_complex_div_wide): Don't create CONDs that
        trap.
        (evaluate_stmt): Print the likely value.
        (ccp_visit_stmt): Avoid excessive vertical spacing.
 
-2008-04-30  Rafael Espindola  <espindola@google.com>
+2008-04-30  Rafael Espíndola  <espindola@google.com>
 
        * builtins.c (fold_call_expr): Return realret.
        * tree-ssa-threadedge.c
        * tree-vect-analyze.c (vect_analyze_group_access): SLP is
        incapable of dealing with loads with gaps.
 
-2008-04-24  Rafael Espindola  <espindola@google.com>
+2008-04-24  Rafael Espíndola  <espindola@google.com>
 
        * tree-flow.h (vrp_evaluate_conditional): Change signature.
        * tree-ssa-propagate.c (fold_predicate_in): Update call to
 
        * Makefile.in (s-gtyp-input): Remove tmp-gi.list before writing it.
 
-2008-04-18  Rafael Espindola  <espindola@google.com>
+2008-04-18  Rafael Espíndola  <espindola@google.com>
 
        * tree-vrp.c (find_case_label_index): Fix the binary search.
        (find_case_label_range): New.
        * c-decl.c (finish_decl): If extern or static var has variable
        size, set TREE_TYPE (decl) to error_mark_node.
 
-2008-04-15  Rafael Espindola  <espindola@google.com>
+2008-04-15  Rafael Espíndola  <espindola@google.com>
 
        * fold-const.c (tree_call_nonnegative_warnv_p): Remove local
        variable arg1.
 
        * config/spu/spu.c (spu_init_builtins): Mark builtins as nothrow.
 
-2008-04-10  Rafael Espindola  <espindola@google.com>
+2008-04-10  Rafael Espíndola  <espindola@google.com>
 
        * tree-vrp.c (extract_range_from_binary_expr): Don't handle
        TRUTH_ANDIF_EXPR or TRUTH_ORIF_EXPR.
        * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update
        GNU Fortran language string.
 
-2008-04-08  Rafael Espindola  <espindola@google.com>
+2008-04-08  Rafael Espíndola  <espindola@google.com>
 
        * fold-canst.c (tree_call_nonnegative_warnv_p): New.
        (tree_invalid_nonnegative_warnv_p): Use tree_call_nonnegative_warnv_p.
        make sure to fill gaps with a fallback label if default_label
        is not present.
 
-2008-04-03  Dominique d'Humieres <dominiq@lps.ens.fr>
+2008-04-03  Dominique d'Humières <dominiq@lps.ens.fr>
 
        PR target/35801
        * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Free cfun.
        (varying_mem_p): Move above propagate_rtx.
        (all_uses_available_at): Do not check MEMs.
 
-2008-04-02  Rafael Espindola  <espindola@google.com>
+2008-04-02  Rafael Espíndola  <espindola@google.com>
 
        * tree-vrp.c (extract_code_and_val_from_cond): Remove.
        (register_edge_assert_for_2): Split the cond argument.
        (*sse4_1_smin<mode>3): Likewise.
        (*sse4_1_umin<mode>3): Likewise.
 
-2008-04-01  Rafael Espindola  <espindola@google.com>
+2008-04-01  Rafael Espíndola  <espindola@google.com>
 
        * tree-cfg.c (verify_expr): remove in_phi.
        (verify_stmt): Don't call walk_tree with verify_expr. Use
        PR pch/13675
        * c-pch.c (c_common_read_pch): On error close (fd) resp. fclose (f).
 
-2008-04-01  Rafael Espindola  <espindola@google.com>
+2008-04-01  Rafael Espíndola  <espindola@google.com>
 
        * tree-vrp.c (extract_code_and_val_from_cond_with_ops): New.
        (extract_code_and_val_from_cond): Use
        vectorization support.
        * doc/invoke.texi (-mveclibabi) [svml]: Document new target option.
 
-2008-03-28  Rafael Espindola  <espindola@google.com>
+2008-03-28  Rafael Espíndola  <espindola@google.com>
 
        * fold-const.c (tree_unary_nonnegative_warnv_p): Make it public.
        (tree_binary_nonnegative_warnv_p): Make it public.
        on hpux10.
        * configure: Rebuilt.
 
-2008-03-04  Rafael Espindola  <espindola@google.com>
+2008-03-04  Rafael Espíndola  <espindola@google.com>
 
        * fold-const.c (tree_simple_nonnegative_warnv_p): New.
        (tree_unary_nonnegative_warnv_p): New.
        * config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
        (_SIDD_XXX): This.
 
-2008-03-04  Rafael Espindola  <espindola@google.com>
+2008-03-04  Rafael Espíndola  <espindola@google.com>
 
        * fold-const.c (tree_unary_nonzero_warnv_p): New.
        (tree_binary_nonzero_warnv_p): New.