OSDN Git Service

* config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index e0268cf..e18f700 100644 (file)
@@ -1,3 +1,729 @@
+2010-10-07  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
+       rather than sign extension by hand.
+
+2010-10-07  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/45926
+       * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
+
+2010-10-07  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/45914
+       * configure.ac: Fix typo.
+       * configure: Regenerated.
+
+2010-10-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
+       define_builtin_std where it's unnecessary.
+       * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
+
+2010-10-06  Anatoly Sokolov  <aesok@post.ru>
+
+       * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
+       * doc/tm.texi.in: Regenerate.
+       * system.h (CLASS_LIKELY_SPILLED_P): Poison.
+       * targhooks.c (default_class_likely_spilled_p): Don't use the
+       CLASS_LIKELY_SPILLED_P macro.
+
+       * config/arm/arm.md: Update comment.
+
+2010-10-06  Jan Hubicka  <jh@suse.cz>
+
+       * ipa.c (cgraph_remove_unreachable_nodes): External references can
+       always be removed.
+       (cgraph_externally_visible_p): We can not bring local comdats that
+       are known to linker; fix handling of internal visibility.
+       (function_and_variable_visibility): Likewise.
+
+2010-10-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/45394
+       * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
+       (struct rtx_subst_pair): Remove AFTER field.
+       (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
+       (propagate_for_debug): Remove MOVE parameter and adjust.
+       (try_combine): In the special case where I2 is a PARALLEL, combine only
+       destinations of SETs and set I2SRC to the I2 source.
+       Adjust calls to propagate_for_debug throughout.
+       * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
+       insns.
+
+2010-10-06  Olivier Hainque  <hainque@adacore.com>
+
+       * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
+       switch on insn codes as sequence of ifs.
+
+2010-10-06  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
+       be UI_NONE for picochip.
+       (picochip_option_override): Do not disable exception flags.
+       * config/picochip/picochip-protos.h (picochip_except_unwind_info):
+       Declare.
+
+2010-10-06  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (regmove.o): Depend on $(TARGET_H).
+
+2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       Implemented fast enumeration for Objective-C.
+       * c-parser.c (objc_could_be_foreach_context): New.
+       (c_lex_one_token): Recognize RID_IN keyword in a potential
+       Objective-C foreach context.
+       (c_parser_declaration_or_fndef): Added parameter.  Accept
+       Objective-C RID_IN keyword as terminating a declaration; in that
+       case, return the declaration in the new parameter.
+       (c_parser_extenral_declaration): Updated calls to
+       c_parser_declaration_or_fndef.
+       (c_parser_declaration_or_fndef): Same change.
+       (c_parser_compound_statement_nostart): Same change.
+       (c_parser_label): Same change.
+       (c_parser_objc_methodprotolist): Same change.
+       (c_parser_omp_for_loop): Same change.
+       (c_parser_for_statement): Detect and parse Objective-C foreach
+       statements.
+       (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
+       * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
+       fast enumeration parsing code to turn off the c99 error but still
+       perform checks on the loop declarations.
+       * c-tree.h (check_for_loop_decls): Updated declaration.
+       * doc/objc.texi: Document fast enumeration.
+
+2010-10-06  Nick Clifton  <nickc@redhat.com>
+
+       * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by
+       one.
+       (MDR_REGNUM): Define.
+       (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed
+       register.
+       (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
+       (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
+       (REGISTER_NAMES): Add MDR.
+       (DWARF2_DEBUGGING_INFO): Define to 1.
+       * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+       (F): New function.  Sets RTX_FRAME_RELATED_P.
+       (mn10300_gen_multiple_store): Use F.
+       (expand_prologue): Use F.  Use gen_movsf() to push floating
+       point registers.
+       (expand_epilogue): Use gen_movsf() to pop floating point
+       registers.
+       (mn10300_option_override): Disable combine stack adjust pass.
+
+2010-10-06  Thomas Schwinge  <thomas@schwinge.name>
+
+       PR target/45901
+       * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
+       LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
+
+2010-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
+       BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
+       BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
+       BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
+       BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
+       BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
+       BUILT_IN_TOUPPER): Mark as leaf.
+
+       PR middle-end/45838
+       * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
+       BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
+       BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
+       BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
+       BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
+       BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
+       Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
+
+2010-10-05  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
+       * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
+       (m68hc11_class_likely_spilled_p): New function.
+
+2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * c-parser.c (c_parser_objc_method_definition): Updated comment.
+
+2010-10-05  Jan Hubicka  <jh@suse.cz>
+
+       * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
+       Document.
+       * opts.c (decode_options): Handle lto partitions.
+       * common.opt (flto-partition=1to1, flto-partition=balanced): New.
+       * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
+
+2010-10-05  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (assemble_function): Output thunks and aliases before
+       the function itself.
+
+2010-09-29  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (picochip_option_override): Disable
+       exception flags for picochip.
+
+2010-10-05  Joseph Myers  <joseph@codesourcery.com>
+
+       * opts-common.c (handle_option, handle_generated_option,
+       read_cmdline_option, set_option): Add diagnostic_context
+       parameter.  Update calls among these functions.
+       (set_option): Don't use global_dc.
+       * opts.c (read_cmdline_options): Pass global_dc to
+       read_cmdline_option.
+       (decode_options): Pass global_dc to enable_warning_as_error.
+       (common_handle_option): Pass global_dc to enable_warning_as_error.
+       (enable_warning_as_error): Add diagnostic_context parameter.
+       Document parameters.  Don't use global_dc.  Pass
+       diagnostic_context parameter to handle_generated_option.
+       * opts.h (set_option, handle_option, handle_generated_option,
+       read_cmdline_option, enable_warning_as_error): Add
+       diagnostic_context parameter.
+       * Makefile.in (lto-opts.o): Update dependencies.
+       * coretypes.h (struct diagnostic_context, diagnostic_context):
+       Declare here.
+       * diagnostic.h (diagnostic_context): Don't declare typedef here.
+       * gcc.c (process_command): Pass global_dc to read_cmdline_option.
+       * langhooks-def.h (struct diagnostic_context): Don't declare here.
+       (lhd_print_error_function, lhd_initialize_diagnostics): Declare
+       using diagnostic_context typedef.
+       * langhooks.c (lhd_initialize_diagnostics): Declare using
+       diagnostic_context typedef.
+       * langhooks.h (struct diagnostic_context): Don't declare here.
+       (initialize_diagnostics, print_error_function): Declare using
+       diagnostic_context typedef.
+       * lto-opts.c: Include diagnostic.h.
+       (lto_reissue_options): Pass global_dc to set_option.  Pass
+       DK_UNSPECIFIED not 0.
+       * plugin.c (plugins_internal_error_function): Declare using
+       diagnostic_context typedef.
+       * plugin.h (struct diagnostic_context): Don't declare here.
+       (plugins_internal_error_function): Declare using
+       diagnostic_context typedef.
+
+2010-10-05  Olivier Hainque  <hainque@adacore.com>
+            Nicolas Roche  <roche@adacore.com>
+
+       * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
+       * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
+
+2010-10-05  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/45752
+       * tree-vect-slp.c (vect_get_mask_element): Remove static
+       variables, make them function arguments.
+       (vect_transform_slp_perm_load): Pass new arguments to
+       vect_get_mask_element.
+
+2010-10-05  Richard Guenther  <rguenther@suse.de>
+
+       * value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
+       (gimple_mod_pow2): Likewise.
+       (gimple_mod_subtract): Likewise.
+       (gimple_ic): Likewise.
+       (gimple_stringop_fixed_value): Likewise.
+       * tree-profile.c (tree_init_edge_profiler): Mark profile
+       functions nothrow and leaf.
+       (add_abnormal_goto_call_edges): Remove.
+       (tree_gen_edge_profiler): Work on SSA form.
+       (tree_gen_ic_profiler): Likewise.  Simplify.
+       (do_tree_profiling): Update SSA form.
+       (pass_tree_profile): Remove.
+       (do_tree_profiling): Likewise.
+       (gate_tree_profile_ipa): New function.
+       (pass_ipa_tree_profile): New.
+       (tree_profiling): Re-write as IPA pass.  Properly drop const/pure
+       state of instrumented functions.
+       * passes.c (init_optimization_passes): Remove early non-SSA
+       inlining.  Move profiling after early optimizations.
+       * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
+       (pass_ipa_early_inline): Likewise.
+       * tree-pass.h (pass_ipa_early_inline): Remove.
+       (pass_tree_profile): Likewise.
+       (pass_ipa_tree_profile): Declare.
+
+2010-10-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+            Christian Borntraeger  <Christian.Borntraeger@de.ibm.com>
+
+       * gcc/config/s390/s390.c (z196_cost): New.
+       (s390_handle_arch_option): Add -march=z196.
+       (s390_option_override): Use the new cost function and use the z10
+       defaults also for z196.
+       (legitimate_reload_constant_p): Adjust comment.
+       (legitimate_reload_fp_constant_p): New function.
+       (s390_preferred_reload_class): Distingiush between FP and Int constants.
+       (preferred_la_operand_p): Avoid la with index on z196.
+       (s390_adjust_priority): Trigger also for z196.
+       (s390_issue_rate): Issue rate for z196 is 3.
+       (s390_z10_fix_long_loop_prediction): Rename to ...
+       (s390_fix_long_loop_prediction): ... this.
+       (s390_reorg): Apply the z10 adjustments also for z196.
+       (s390_loop_unroll_adjust): Do this also for z196.
+       * gcc/config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
+       (enum processor_flags): Add PF_Z196.
+       (TARGET_AVOID_CMP_AND_BRANCH): New macro.
+       (TARGET_CPU_Z196, TARGET_Z196): New macros.
+       * gcc/config.gcc: Enable z196 for --with-arch.
+       * gcc/config/s390/2817.md: New file.
+       * gcc/config/s390/2084.md: New type for multiply and add.
+       * gcc/config/s390/2097.md: Likewise.
+       * gcc/config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
+       (UNSPECV_ATOMIC_OP): New constants.
+       (fmadddf, fmaddsf): New values for type attribute.
+       (z196prop): New insn attribute.
+       (cpu, cpu_facility): Add z196.
+       (ATOMIC_Z196): New code iterator.
+       (noxa): New code attribute.
+       (gk): New mode attribute.
+       (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
+       Support load zero for fp constants.
+       (fixuns_truncdddi2, fixuns_trunctddi2)
+       (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
+       for z196.
+       (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
+       (popcounthi2, popcountqi2): New expander.
+       (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
+       (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
+       (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
+       insn definition.
+       (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
+       (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
+       (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc, *sub<mode>3)
+       (*sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly, *sub<mode>3_cc)
+       (*sub<mode>3_cc2, *sub<mode>3_cconly, *sub<mode>3_cconly2)
+       (*anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc, *andsi3_cconly)
+       (*andsi3_zarch, *andsi3_esa, *andhi3_zarch, *andqi3_zarch, *iordi3_cc)
+       (*iordi3_cconly, *iordi3, *iorsi3_cc, *iorsi3_cconly, *iorsi3_zarch)
+       (*iorhi3_zarch, *iorqi3_zarch, *xordi3_cc, *xordi3_cconly, *xordi3)
+       (*xorsi3_cc, *xorsi3_cconly, *xorsi3, *xorhi3, *xorqi3, *<shift><mode>3)
+       (*<shift><mode>3_and, *ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
+       (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
+       Support new z196 instructions.
+
+2010-10-05  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/45877
+       * gimple-fold.c (gimplify_and_update_call_from_tree): Handle
+       case where gimplification optimizes away the stmt.
+
+2010-10-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/45849
+       * var-tracking.c (strip_pointer_flags): New function.
+       (emit_note_insn_var_location): If rtx_equal_p check failed,
+       retry on locations simplified with simplify_replace_fn_rtx
+       and strip_pointer_flags as its callback.
+
+2010-10-04  Jan Hubicka  <jh@suse.cz>
+
+       * gimple-fold.c (static_object_in_other_unit_p): Rename to...
+       (can_refer_decl_in_current_unit_p): ... this one; reverse return
+       value; handle comdats too.
+       (canonicalize_constructor_val): Use it; handle function_decls
+       correctly.
+       (gimple_fold_obj_type_ref_known_binfo): Likewise.
+       * gimple.c (get_base_address): Accept all kinds of decls.
+
+2010-10-04  Joseph Myers  <joseph@codesourcery.com>
+
+       * flags.h (g_switch_value, g_switch_set): Remove.
+       * opts.c (g_switch_value, g_switch_set): Remove.
+       * config/g.opt (G): Add Var(g_switch_value).
+       * config/alpha/alpha.c (alpha_handle_option): Don't handle -G
+       here.
+       (alpha_option_override): Check global_options_set.x_g_switch_value
+       instead of g_switch_set.
+       (alpha_in_small_data_p): Remove cast in comparison with
+       g_switch_value.
+       * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
+       g_switch_value to unsigned HOST_WIDE_INT.
+       * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
+       with g_switch_value.
+       (frv_handle_option): Don't handle -G here.
+       (frv_option_override): Check global_options_set.x_g_switch_value
+       instead of g_switch_set.  Don't modify g_switch_set.
+       (frv_in_small_data_p): Remove cast in comparison with
+       g_switch_value.
+       * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
+       g_switch_value to unsigned HOST_WIDE_INT.
+       * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
+       (ia64_option_override): Check global_options_set.x_g_switch_value
+       instead of g_switch_set.
+       * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
+       Remove.
+       (lm32_in_small_data_p): Remove cast in comparison with
+       g_switch_value.
+       * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
+       ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
+       HOST_WIDE_INT.
+       * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
+       (m32r_init): Check global_options_set.x_g_switch_value instead of
+       g_switch_set.
+       (m32r_in_small_data_p): Remove cast in comparison with
+       g_switch_value.
+       (m32r_file_start): Format g_switch_value with %d.
+       * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
+       ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned
+       HOST_WIDE_INT.
+       * config/microblaze/microblaze.c (microblaze_handle_option): Don't
+       handle -G here.
+       (microblaze_option_override): Check
+       global_options_set.x_g_switch_value instead of g_switch_set.
+       * config/mips/mips.c (mips_handle_option): Don't handle -G here.
+       (mips_option_override): Check global_options_set.x_g_switch_value
+       instead of g_switch_set.
+       * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G
+       here.
+       (rs6000_file_start): Format g_switch_value with %d.
+       (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
+       comparisons with g_switch_value.
+       * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
+       global_options_set.x_g_switch_value instead of g_switch_set.
+       * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
+       global_options_set.x_g_switch_value instead of g_switch_set.
+       * config/score/score.c (score_handle_option): Don't handle -G
+       here.
+       * config/score/score3.c (score3_option_override): Check
+       global_options_set.x_g_switch_value instead of g_switch_set.
+       * config/score/score7.c (score7_option_override): Check
+       global_options_set.x_g_switch_value instead of g_switch_set.
+
+2010-10-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * common.opt (fira-coalesce): Remove.
+
+       * doc/invoke.texi (flag_ira_coalesce): Remove.
+
+       * ira-color.c (allocno_coalesced_p): Move before
+       copy_freq_compare_func.
+       processed_coalesced_allocno_bitmap): Ditto.
+       (update_conflict_hard_regno_costs): Don't use
+       ALLOCNO_FIRST_COALESCED_ALLOCNO.
+       (allocno_cost_compare_func, print_coalesced_allocno): Remove.
+       (assign_hard_reg): Assume no coalesced allocnos.
+       (get_coalesced_allocnos_attributes): Remove.
+       (bucket_allocno_compare_func): Assume no coalesced allocnos.
+       (push_allocno_to_stack): Ditto.
+       (remove_allocno_from_bucket_and_push): Use
+       ira_print_expanded_allocno instead of print_coalesced_allocno.
+       (push_allocnos_to_stack): Assume uncoalesced allocnos.
+       (all_conflicting_hard_regs_coalesced): Ditto.  Rename to
+       all_conflicting_hard_regs.
+       (setup_allocno_available_regs_num): Assume uncoalesced allocnos.
+       (setup_allocno_left_conflicts_size): Ditto.
+       (put_allocno_into_bucket): Ditto.
+       (copy_freq_compare_func): Remove.
+       (copy_freq_compare_func, merge_allocnos): Move before
+       coalesced_pseudo_reg_freq_compare.
+       coalesced_allocno_conflict_p): Ditto.
+       (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto.  Remove
+       parameter.  Assume it true.
+       (color_allocnos): Assume uncoalesced allocnos.  Use
+       ira_print_expanded_allocno instead of print_coalesced_allocno.
+       (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
+       parameter.
+
+       * ira.c: Remove comment about coalescing.
+
+2010-10-04  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/mips/mips.h (target_flags_explicit): Declare for
+       GENERATOR_FILE.
+
+2010-10-04  Andi Kleen <ak@linux.intel.com>
+
+       * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
+       gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
+
+2010-10-04  Matthias Klose  <doko@ubuntu.com>
+
+       * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
+       multilib osdirname if it exists.
+       * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
+
+2010-10-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/45876
+       * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
+       arg0's type or its unsigned counterpart as utype.  Convert
+       arg1 to utype unconditionally.
+
+2010-10-04  Julian Brown  <julian@codesourcery.com>
+
+       * expr.c (expand_assignment): Add assertion to prevent emitting
+       null rtx for movmisalign pattern.
+       (expand_expr_real_1): Likewise.
+       * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
+       (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
+       (arm_vector_alignment_reachable): New.
+       (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
+       (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
+       (arm_print_operand): Include alignment qualifier in %A.
+       * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
+       (movmisalign<mode>): New expander.
+       (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
+       insn patterns.
+
+2010-10-04  Joseph Myers  <joseph@codesourcery.com>
+
+       * optc-gen.awk: Define global_options_set.  Don't define
+       target_flags_explicit.
+       * opth-gen.awk: Declare global_options_set.  Define
+       target_flags_explicit as macro.
+       * opts-common.c (handle_option): Take opts_set and generated_p
+       parameters.
+       (handle_generated_option, read_cmdline_option, set_option): Take
+       opts_set parameter.
+       (set_option): Use opts_set instead of hardcoding target_flags and
+       target_flags_explicit.
+       * opts.c (sel_sched_switch_set, profile_arc_flag_set,
+       flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
+       flag_value_profile_transformations_set, flag_peel_loops_set,
+       flag_branch_probabilities_set, flag_inline_functions_set,
+       flag_ipa_cp_set, flag_ipa_cp_clone_set,
+       flag_predictive_commoning_set, flag_unswitch_loops_set,
+       flag_gcse_after_reload_set): Remove.
+       (common_handle_option, lang_handle_option, target_handle_option):
+       Take opts_set parameter.  Assert that it is &global_options_set.
+       (common_handle_option): Don't set _set variables.  Check opts_set
+       instead of such variables.
+       (enable_warning_as_error): Pass &global_options_set to
+       handle_generated_option.
+       * opts.h (cl_option_handler_func.handler, set_option,
+       handle_option, handle_generated_option, read_cmdline_option): Add
+       opts_set parameters.
+       (handle_option): Add generated_p parameter.
+       * config/i386/i386.c (ix86_function_specific_save,
+       ix86_function_specific_restore): Updat for renaming of
+       target_flags_explicit field.
+       * config/i386/i386.opt (target_flags_explicit): Rename to
+       ix86_target_flags_explicit.
+       * config/ia64/ia64.c (ia64_override_options_after_change): Check
+       global_options_set.x_flag_selective_scheduling and
+       global_options_set.x_flag_selective_scheduling2, not
+       sel_sched_switch_set.
+       * flags.h (sel_sched_switch_set,
+       flag_speculative_prefetching_set): Remove.
+       * gcc.c (driver_handle_option): Take opts_set parameter.  Assert
+       that it is &global_options_set.
+       (process_command): Pass &global_options_set to
+       read_cmdline_option.
+       * lto-opts.c (lto_reissue_options): Pass &global_options_set to
+       set_option.
+       * toplev.c (target_flags_explicit): Remove.
+
+2010-10-04  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/45871
+       * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
+       use get_ref_base_and_offset to handle references.
+       (fold_const_aggregate_ref): Update.
+
+2010-10-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/45572
+       * ipa-prop.c (ipa_make_edge_direct_to_target): Call
+       ipa_check_create_node_params.
+       * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
+
+2010-10-04  Yao Qi  <yao@codesourcery.com>
+
+       * doc/passes.texi: Clean up.
+
+2010-10-03  Ian Lance Taylor  <iant@google.com>
+
+       * c-typeck.c (lookup_field): If -fplan9-extensions, permit
+       referring to a field using a typedef name.
+       (find_anonymous_field_with_type): New static function.
+       (convert_to_anonymous_field): New static function.
+       (convert_for_assignment): If -fplan9-extensions, permit converting
+       pointer to struct to pointer to anonymous field.
+       * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous
+       fields.
+       (is_duplicate_field): New static function.
+       (detect_field_duplicates_hash): If -fplan9-extensions, check for
+       typedef names duplicating field names.
+       (detect_field_duplicates): Likewise.
+       * doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
+       (C Dialect Options): Document -fplan9-extensions.
+       * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
+
+2010-10-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
+       revision 164914.
+       (vect_create_data_ref_ptr): Likewise.
+       * tree-vect-stmts.c (vectorizable_store): Likewise.
+       (perm_mask_for_reverse): Likewise.
+       (reverse_vec_elements): Likewise.
+       (vectorizable_load): Likewise.
+
+2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * cppbuiltin.c: New file.
+       * cppbuiltin.h: New file.
+       * Makefile.in: Take into account cppbuiltin.{h,c}.
+
+2010-10-03  Andi Kleen <ak@linux.intel.com>
+
+       * lto-cgraph.c (input_cgraph): Check for missing sections.
+
+2010-10-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 preticate
+       to nonimmediate_operand.  Force operand 2 to register when allowed.
+       (*<shiftrt_insn><mode>3_mask): Ditto.
+       (*<rotate_insn><mode>3_mask): Ditto.
+
+2010-10-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR tree-optimization/45720
+       PR tree-optimization/45764
+       * tree-vect-data-refs.c (vect_analyze_data_ref_access):
+       Don't accept backwards consecutive accesses.
+       (vect_create_data_ref_ptr): Disallow negative steps.
+
+       * tree-vect-stmts.c (vectorizable_store): Allow negative steps.
+       (perm_mask_for_reverse): Removed.
+       (reverse_vec_elements): Likewise.
+       (vectorizable_load): Don't handle negative steps.
+
+2010-10-02  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
+       call destination is known.
+
+2010-10-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/45820
+       * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
+       earlier.
+
+2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/install.texi (Configuration): Document build_configargs,
+       host_configargs, target_configargs.
+
+2010-10-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
+       (*<shiftrt_insn><mode>3_mask): Ditto.
+       (*<rotate_insn><mode>3_mask): Ditto.
+
+2010-10-01  Steve Ellcey  <sje@cup.hp.com>
+
+       PR tree-optimization/44716
+       * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
+       (HOT_TEXT_SECTION_NAME): Define.
+
+2010-10-01  Nick Clifton  <nickc@redhat.com>
+
+       * common.opt: Add -fcombine-stack-adjustments.
+       * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
+       * combine-stack-adj.c (gate_handle_stack_adjustments): Check
+       flag_combine_stack_adjustments.
+       * doc/invoke.texi: Document the new option.
+
+2010-10-01  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45854
+       * tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
+
+2010-10-01  Anthony Green  <green@moxielogic.com>
+
+       * config.gcc: Fix moxie-*-rtems* configuration.
+
+2010-10-01  Richard Guenther  <rguenther@suse.de>
+
+       * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
+       (gen_decl_die): Likewise.
+
+2010-10-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
+       to the function code for SPU MD builtins.
+       (spu_expand_builtin): Update.
+       * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
+
+2010-10-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
+       sjlj_except_unwind_info.
+
+2010-10-01  Tristan Gingold  <gingold@adacore.com>
+
+       * configure.ac: Define the nop insn for avr*-*-*
+       * configure: Regenerate.
+
+2010-10-01  Alan Modra  <amodra@gmail.com>
+
+       PR target/45807
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
+       extend toc_restore_insn.
+
+2010-09-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43959
+       * function.c (gimplify_parameters): Use create_tmp_reg instead of
+       create_tmp_var.
+
+2010-09-30  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_expand_prologue): Set
+       current_function_static_stack_size.
+
+2010-09-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac: Check for Solaris 8 ld with .hidden support.
+       * configure: Regenerate.
+
+2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/45758
+       * graphite.c (graphite_initialize): Call scev_reset.
+
+2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * sese.h (scev_analyzable_p): Return false for real or floating
+       point.  Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
+
+2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
+       and ps.
+       * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
+       domain.
+       * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
+       Do not allocate ub_expr, it is passed in initialized.
+
+2010-09-30  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-clast-to-gimple.c (init_cloog_input_file): New.
+       (build_cloog_prog): Dump CLooG input file when
+       flag_graphite_dump_cloog is set.  This is disabled on trunk.
+       * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
+
+2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (graphite_verify): Remove call to
+       verify_dominators for CDI_POST_DOMINATORS.
+       * sese.h: Remove comment about CDI_POST_DOMINATORS.
+       (recompute_all_dominators): Remove call to free_dominance_info
+       for CDI_POST_DOMINATORS.  Remove call to calculate_dominance_info
+       for CDI_POST_DOMINATORS.
+
+2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
+       over pbb_dim_iter_domain.
+
+2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-flattening.c: Fix comments.
+
 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
 
        * Makefile.in (OBJS-common): Add graphite-flattening.o.
 
 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
 
-       * graphite-clast-to-gimple.c (max_signed_precision_type): Remove the call
-       to lang_hooks.types.type_for_size.  Call build_nonstandard_integer_type.
+       * graphite-clast-to-gimple.c (max_signed_precision_type): Remove
+       the call to lang_hooks.types.type_for_size.  Call
+       build_nonstandard_integer_type.
 
 2010-09-30  Riyadh Baghdadi <baghdadi.mr@gmail.com>
 
        (print_pdr_access_layout): Updated to support OpenScop format.
        (print_pdr): Same.
        (openscop_print_pbb_domain): New.
-       (print_pbb_body): Added a parameter to allow indicating that pbb_body is
-       not provided.
+       (print_pbb_body): Added a parameter to allow indicating that pbb_body
+       is not provided.
        (print_pbb): Updated to call the new print_pbb_body.
        (openscop_print_scop_context): New.
        (print_scop_header): New.
        * Makefile.in (build/gen%$(build_exeext)): Move rule after all
        special-casing for generators and turn into ...
        ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
-       rule, for better error messages in case of toplevel dependency
-       errors.
+       rule, for better error messages in case of toplevel dependency errors.
        (genprog): Add hooks, rename to ...
        (genprogerr): ... this, and let genprog also contain check,
        checksum, condmd.
        (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
 
 2010-09-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
-            Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+           Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
        for GMP, MPFR and MPC.
 2010-09-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * config/sparc/sparc.opt (mimpure-text): Move ...
-       * config/sol2.opt: ... here.
-       Correct description.
+       * config/sol2.opt: ... here.  Correct description.
        * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
        * doc/invoke.texi (Option Summary, SPARC Options): Move
        -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
        * extend.texi (interrupt_handler): Add MicroBlaze to list.
        (save_volatiles): Describe option for MicroBlaze.
        * invoke.texi: Add MicroBlaze Options.
-       * contrib.texi: Add acknowledgment. 
+       * contrib.texi: Add acknowledgment.
        * md.texi: Add MicroBlaze d and z constraints.
        * install.texi: Add microblaze-*-elf.
        * configure.ac: Add microblaze-*-* to target list.
        * opts.c (common_handle_option, lang_handle_option,
        target_handle_option): Take gcc_options parameter.  Assert that it
        is &global_options.
-       (read_cmdline_options): Pass &global_options to
-       read_cmdline_option.
+       (read_cmdline_options): Pass &global_options to read_cmdline_option.
        (print_filtered_help): Use option_flag_var.  Pass &global_options
        to option_enabled.
        (common_handle_option): Use option_flag_var.
 
        * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
        Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
-       (c_parser_external_declaration): Use RID_AT_CLASS
-       instead of RID_CLASS.
+       (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
        (c_parser_objc_class_declaration): Same change.
        (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
        RID_TRY and RID_AT_CATCH instead of RID_CATCH.
        and RID_AT_PUBLIC instead of RID_PUBLIC.
        (c_parser_statement_after_labels): Use RID_AT_TRY instead of
        RID_TRY and RID_AT_CATCH instead of RID_CATCH.
-       
+
 2010-09-30  Tom G. Christensen <tgc@jupiterrise.com>
 
        * doc/install.texi (Binaries): Update link to HP-UX porting centre.
 
        Merge from 'apple/trunk' branch on FSF servers.
        * c-parser.c: Applied change originally in c-parse.in.
-       
+
        2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
 
        Radar 4281748
 2010-09-29  Bernd Schmidt  <bernds@codesourcery.com>
 
        PR target/40457
-       * postreload.c (move2add_use_add2_insn): Use full_costs for
-       comparison.
+       * postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
        (move2add_use_add3_insn): Likewise.
        (reload_cse_move2add): Likewise.
        * rtlanal.c (get_full_rtx_cost): New function.
 
 2010-09-29  Jack Howarth <howarth@bromo.med.uc.edu>
 
-       * varasm.c (assemble_alias): Add error message for
-       unsupported ifunc.
+       * varasm.c (assemble_alias): Add error message for unsupported ifunc.
 
 2010-09-29  Mike Stump  <mikestump@comcast.net>
 
 
 2010-09-29  Nathan Sidwell  <nathan@codesourcery.com>
 
+       PR testsuite/45664
        * configure.ac: Add --enable-indirect-function option.
        * config.gcc: Add default_gnu_indirect_function.
        * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
        (HAVE_GNU_INDIRECT_FUNCTION): ... this.
-       * varasm.c (do_assemble_alias): Adjust for macto name change.
+       * varasm.c (do_assemble_alias): Adjust for macro name change.
        * configure: Rebuilt.
        * doc/install.texi: Document --enable-indirect-function.
 
 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
 
        * optc-gen.awk: Generate global_options initializer instead of
-       individual variables.  Add x_ prefix to names of structure
-       members.
+       individual variables.  Add x_ prefix to names of structure members.
        * opth-gen.awk: Generate gcc_options structure.  Add x_ prefix to
        names of structure members.
        * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
        * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
        * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
        * c-parser.c (disable_extension_diagnostics,
-       restore_extension_diagnostics): Update names of cpp_options
-       members.
+       restore_extension_diagnostics): Update names of cpp_options members.
        * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
        * common.opt (fcompare-debug-second): Don't use Var.
        * config/alpha/alpha.h (target_flags): Remove.
        * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
        * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
 
-2010-09-29  Hariharan Sandanagobalane <hariharan@picochip.com>
+2010-09-29  Hariharan Sandanagobalane  <hariharan@picochip.com>
 
        * config/picochip/picochip.c (picochip_output_internal_label):
-         This function can now be called for debug CFI labels, which can come in
-         the middle of a vliw instruction. Postpone until end of vliw.
+       This function can now be called for debug CFI labels, which can come
+       in the middle of a vliw instruction.  Postpone until end of vliw.
 
 2010-09-29  Richard Guenther  <rguenther@suse.de>
 
        (TARGET_UNWIND_INFO): Remove.
 
        * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
-       
+
 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
 
        * c-parser.c (c_parser_objc_class_definition): Adjust prototype.
        * toplev.h (save_decoded_options, save_decoded_options_count):
        New global variables.
        * toplev.c (save_decoded_options, save_decoded_options_count):
-       export variables.
+       Export variables.
 
 2010-09-28  Ian Lance Taylor  <iant@google.com>
 
        * config/i386/i386.c (ix86_supports_split_stack): Test
-       HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than
-       dwarf2out_do_cfi_asm.
+       HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
 
 2010-09-28  Ian Lance Taylor  <iant@google.com>
 
        Radar 4229905
        * c-typeck.c (build_conditional_expr): Call objc_have_common_type when
        looking for objective-c common pointer types.
-       
+
        2005-06-22  Ziemowit Laski  <zlaski@apple.com>
 
        Radar 4154928
        unconditionally if TODO_rebuild_alias is set, else only when optimizing
        if TODO_update_address_taken is set.
 
->>>>>>> .r164755
 2010-09-23  Anatoly Sokolov  <aesok@post.ru>
 
        * config/arm/arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
 
 2010-07-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
-       PR target/43698
+       PR target/43698
        * config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev.
        Set *arm_rev to be predicable.
 
 
        * ipa-split.c (split_function): For aggregate values, set the return
        slot optimization bit.  When passing DECL_BY_REFERENCE, produce
-       *<retval> = fncall.part ().
+       *<retval> = fncall.part ().
        (execute_split_functions): Do not care about DECL_BY_REFERENCE.
 
 2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>