OSDN Git Service

2010-10-26 Jonathan Wakely <jwakely.gcc@gmail.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4e3c62c..4c287b9 100644 (file)
@@ -1,3 +1,929 @@
+2010-10-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/install.texi: Fix typo in --with-sysroot description.
+
+2010-10-26  Jan Hubicka  <jh@suse.cz>
+
+       * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p):
+       Use info provided by linker plugin.
+
+2010-10-26  Jason Merrill  <jason@redhat.com>
+
+       * varasm.c (constructor_static_from_elts_p): Don't require a
+       CONSTRUCTOR to have elements to be suitable for static
+       initialization.  Allow ARRAY_TYPE as well.
+
+2010-10-26  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/45736
+       * cgraph.c (cgraph_set_readonly_flag): Rename to...
+       (cgraph_set_const_flags) ... this one; get also looping argument;
+       clear constructor/destructor flags.
+       (cgraph_set_pure_flag): Likewise.
+       (cgraph_set_looping_const_or_pure_flag): Remove.
+       (cgraph_can_remove_if_no_direct_calls_and_refs): Do not try
+       to optimize away static ctors/dtors; it does not work on inline clones;
+       external functions can always be rmeoved.
+       (cgraph_will_be_removed_from_program_if_no_direct_calls): Assert on inline
+       clones; in LTO external functions always can go.
+       (cgraph_used_from_object_file_p): Handle EXTERNAL functions correctly.
+       (cgraph_mark_address_taken_node): Assert that we are not taking address of
+       inline clone.
+       (cgraph_can_remove_if_no_direct_calls_p): We always eventually remove
+       external functions.
+       * ipa-cp.c (ipcp_cloning_candidate_p): Do not clone functions with address taken.
+       (ipcp_initialize_node_lattices): Only local functions can be handled without cloning.
+       * cgraph.h (cgraph_set_readonly_flag,
+       cgraph_set_looping_const_or_pure_flag): Remove.
+       (cgraph_set_const_flag): Declare.
+       (cgraph_set_pure_flag): Update.
+       * ipa-pure-const (propagate_pure_const, local_pure_const): Update
+       flags setting code.
+       * ipa.c (cgraph_remove_unreachable_nodes): Fix formating; do not look at inline
+       clones; fix handling of external definitions.
+       (cgraph_postorder): Do not look at inline clones in the first pass.
+       (function_and_variable_visibility): Drop constructors/destructor
+       flags at pure and const functions.
+       * tree-profile.c (tree_profiling): Update.
+       * ipa-inline.c (cgraph_clone_inlined_nodes): Always clone functions with
+       address taken; external functions do not account to whole program size.
+       (cgraph_decide_inlining): Likewise; do not try to inline functions already
+       inlined.
+
+2010-10-26  Jie Zhang  <jie@codesourcery.com>
+
+       * doc/invoke.texi: Improve documentation of
+       -fstrict-volatile-bitfields.
+
+2010-10-26  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/46167
+       * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that there
+       is basic block for the statement.
+
+2010-10-26  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to
+       current definition of struct_real_format.
+
+2010-10-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/44948
+       * config/i386/i386.c (ix86_old_function_arg_boundary): New.
+       (ix86_function_arg_boundary): Always align parameters on stack
+       in 64bit and align parameters with alignment >= 16byte on stack 
+       in 32bit.  Warn alignment change.
+
+2010-10-26  Ian Lance Taylor  <iant@google.com>
+
+       PR middle-end/45687
+       * ipa-prop.c (ipa_modify_call_arguments): Correct type of MEM_REF
+       offset.
+
+2010-10-25  Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+       Implement opaque-enum-specifiesr for C++0x
+       * tree.h (ENUM_IS_OPAQUE): New.
+       * dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE.
+
+2010-10-26  Jie Zhang  <jie@codesourcery.com>
+
+       * stor-layout.c (layout_decl): Use the field's type to
+       determine the mode and keep DECL_BIT_FIELD for a volatile
+       bit-field.
+       * config/arm/arm.c (arm_override_options): Default to
+       -fstrict-volatile-bitfields.
+
+2010-10-25  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11.md: Add define_constants for register
+       numbers, branch offset limits.
+       * config/pdp11/pdp11.c: Use named constants instead of numbers.
+       * config/pdp11.pdp11.h: Ditto.
+
+2010-10-25  Changpeng Fang  <changpeng.fang@amd.com>
+
+       * Changelog (2010-10-22  Changpeng Fang): Correct the Changelog entries.
+
+2010-10-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * configure.ac: Use $cpu_type instead of $target to define the nop.
+       * configure: Regenerate.
+
+2010-10-25  Jie Zhang  <jie@codesourcery.com>
+
+       * combine.c (try_combine): If insns need to be kept around, check that
+       they can be copied in the merged instruction.
+
+2010-10-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
+       has been modified.
+       (convert_regs_2): Likewise.  Adjust calls to convert_regs_1.
+       (convert_regs): Adjust calls to convert_regs_2.  Clean up the CFG if
+       it has been modified.
+
+2010-10-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case.
+
+2010-10-24  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11.md: Change length attribute to be in bytes.
+       * config/pdp11/pdp11.c (output_jump): Ditto.
+
+2010-10-24  Ian Lance Taylor  <iant@google.com>
+
+       * config/i386/i386.c (ix86_va_start): Remove extraneous blank
+       line.
+
+2010-10-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cfglayout.c (fixup_reorder_chain): When ensuring that there is at
+       least one insn with a locus corresponding to an edge's goto_locus,
+       disregard non-fallthru edges to the exit block and merge the blocks
+       created for the same goto_locus.
+
+2010-10-23  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.c (n_switches_alloc_debug_check): New.
+       (set_option_handlers): New.
+       (process_command): Use set_option_handlers.
+       (do_self_spec): Pass spec-generated options through option
+       handlers.
+       (main): Also save and restore n_switches_alloc when swapping
+       switch arrays.
+
+2010-10-23  Richard Henderson  <rth@redhat.com>
+
+       PR target/46144
+       * config/i386/sse.md (*avx_absneg<AVXMODEF2P>2): New.
+       (*sse_absneg<SSEMODEF2P>2): Rename from *absneg<VEC_FLOAT_MODE>2.
+       Honor matching operands when splitting to XOR.
+
+2010-10-23  Ian Lance Taylor  <iant@google.com>
+
+       * tree-vrp.c (extract_range_from_binary_expr): If
+       flag_non_call_exceptions don't eliminate division by zero.
+       * simplify-rtx.c (simplify_binary_operation_1): Likewise.
+
+2010-10-23  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
+       __BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
+       __ORDER_PDP_ENDIAN__.
+       * libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       (struct DWstruct): Define based on __BYTE_ORDER__.
+       * config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       (struct INTstruct): Define based on __BYTE_ORDER__.
+       * config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
+       * system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
+       * config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+       * doc/tm.texi: Regenerate.
+       * doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
+       (__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
+
+2010-10-23  Jie Zhang  <jie@codesourcery.com>
+
+       PR rtl-optimization/37360
+       * config/mips/mips.c (cached_can_issue_more): New local variable.
+       (mips_sched_reorder_1): New.
+       (mips_sched_reorder): Use mips_sched_reorder_1.
+       (mips_sched_reorder2): New.
+       (mips_variable_issue): Set cached_can_issue_more.
+       (TARGET_SCHED_REORDER2): Define to mips_sched_reorder2
+       instead of mips_sched_reorder.
+
+       Revert
+       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.
+
+2010-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_variable_sized_compare): Preserve the source
+       location info of the expression.
+
+2010-10-22  DJ Delorie  <dj@redhat.com>
+
+       * doc/extend.texi (Named Address Spaces): Document the M32C named
+       address space.
+
+       * config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the
+       __far address space.
+       * config/m32c/m32c.h (ADDR_SPACE_FAR): New.  Add support for
+       "__far" address space for R8C and M16C processor variants.
+       * config/m32c/m32c.c (m32c_addr_space_legitimate_address_p): New.
+       (far_addr_space_p): New.
+       (encode_pattern_1): Add sign and zero extend support.
+       (m32c_hard_regno_nregs_1): Large pointers in A16 mode are SImode.
+       (m32c_extra_constraint_p2): Add SF constraint.
+       (m32c_legitimate_address_p): Support __far addresses.
+       (m32c_addr_space_pointer_mode): New.
+       (m32c_addr_space_address_mode): New.
+       (m32c_addr_space_legitimate_address_p): New.
+       (m32c_addr_space_legitimize_address): New.
+       (m32c_addr_space_subset_p): New.
+       (m32c_addr_space_convert): New.
+       (conversions): Add __far operand patterns.
+       (m32c_prepare_move): Force constants into registers for __far
+       moves.
+       (m32c_split_move): __far moves are always split.
+       * config/m32c/addsub.md (addsi3_1): Support SImode symbols.
+       * config/m32c/mov.md (mov<mode>_far_op1): New.
+       (mov<mode>_far_op2): New.
+       (movqi_op): Add __far (SF) support.
+       (movhi_op): Likewise.
+       (movsi_splittable): Split A1A0 also.
+
+2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
+           Andrew Pinski <pinskia@gmail.com>
+
+       * c-typeck.c (build_array_ref): Handle subscripting of vectors.
+       * doc/extend.texi: New paragraph
+
+2010-10-22  Paul Koning  <ni1d@arrl.net>
+
+       * config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.
+
+2010-10-22  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.
+
+2010-10-22  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.
+
+2010-10-22  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (ix86_builtin_vectorized_function): Add
+       cases for __builtin_fma and __builtin_fmaf.
+
+2010-10-22  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (ix86_expand_fp_absneg_operator): Produce
+       NEG+USE for vectors as well.
+       * config/i386/i386.md (*absneg<VEC_FLOAT_MODE>2): New pattern
+       and splitter.
+
+2010-10-22  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
+       SWITCH_CURTAILS_COMPILATION): Remove.
+       * doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove
+       documentation.
+       * doc/tm.texi: Regenerate.
+       * system.h (SWITCH_CURTAILS_COMPILATION): Poison.
+
+2010-10-22  Changpeng Fang  <changpeng.fang@amd.com>
+
+       * config/i386/bdver1.md: New file.
+       * config/i386/i386.md (include "bdver1.md"): Invoke the
+       pipeline description for bdver1.
+       (x86_sahf_1): Add "bdver1_decode" attribute.
+       (*cmpfp_i_mixed): Likewise.
+       (*cmpfp_i_sse): Likewise.
+       (*cmpfp_i_i387): Likewise.
+       (*cmpfp_iu_mixed): Likewise.
+       (*cmpfp_iu_sse): Likewise.
+       (*cmpfp_iu_387): Likewise.
+       (*swap<mode>,*swap<mode>_1): Likewise.
+       (fixuns_trunc<mode>hi2): Likewise.
+       (fix_trunc<mode>si_sse): Likewise.
+       (x86_fnstcw_1): Likewise.
+       (x86_fldcw_1): Likewise.
+       (*floatsi<mode>2_vector_mixed_with_temp): Likewise.
+       (*floatsi<mode>2_vector_mixed): Likewise.
+       (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Likewise.
+       (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
+       (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
+       (*floatsi<mode>2_vector_sse_with_temp): Likewise.
+       (*floatsi<mode>2_vector_sse): Likewise.
+       (*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Likewise.
+       (*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
+       (*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
+       (*mul<mode>3_1): Likewise.
+       (*mulsi3_1_zext): Likewise.
+       (*mulhi3_1): Likewise.
+       (*mulqi3_1): Likewise.
+       (*<u>mul<mode><dwi>3_1): Likewise.
+       (*<u>mulqihi3_1): Likewise.
+       (*<s>muldi3_highpart_1): Likewise.
+       (*<s>mulsi3_highpart_1): Likewise.
+       (*<s>mulsi3_highpart_zext): Likewise.
+       (x86_64_shld): Likewise.
+       (x86_shld): Likewise.
+       (x86_64_shrd): Likewise.
+       (x86_shrd): Likewise.
+       (sqrtxf2): Likewise.
+       (sqrt_extend<mode>xf2_i387): Likewise.
+       (*sqrt<mode>2_sse): Likewise.
+       * config/i386/sse.md (sse_cvtsi2ss): Add "bdver1_decode" attribute.
+       (sse_cvtsi2ssq): Likewise.
+       (sse_cvtss2si): Likewise.
+       (sse_cvtss2si_2): Likewise.
+       (sse_cvtss2siq): Likewise.
+       (sse_cvtss2siq_2): Likewise.
+       (sse_cvttss2si): Likewise.
+       (sse_cvttss2siq): Likewise.
+       (sse2_cvtpi2pd): Likewise.
+       (sse2_cvttpd2pi): Likewise.
+       (sse2_cvtsi2sd): Likewise.
+       (sse2_cvtsi2sdq): Likewise.
+       (sse2_cvtsd2si): Likewise.
+       (sse2_cvtsd2si_2): Likewise.
+       (sse2_cvtsd2siq): Likewise.
+       (sse2_cvtsd2siq_2): Likewise.
+       (sse2_cvttsd2si): Likewise.
+       (sse2_cvttsd2siq): Likewise.
+       (*sse2_cvtpd2dq): Likewise.
+       (*sse2_cvttpd2dq): Likewise.
+       (sse2_cvtsd2ss): Likewise.
+       (sse2_cvtss2sd): Likewise.
+       (*sse2_cvtpd2ps): Likewise.
+       (sse2_cvtps2pd): Likewise.
+
+2010-10-22  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/46137
+       * gimple-fold.c (gimplify_and_update_call_from_tree): Properly
+       remove the virtual operands if they are not needed.
+
+2010-10-22  Changpeng Fang  <changpeng.fang@amd.com>
+
+       * config/i386/i386.c (processor_costs bdver1_cost): Update
+       insn costs and architectural parameters for bdver1.
+
+2010-10-22  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.h (gimple_register_canonical_type): Declare.
+       * gimple.c (gimple_canonical_types): New global hashtable.
+       (struct gimple_type_leader_entry_s): New type.
+       (gimple_type_leader): New global cache.
+       (gimple_lookup_type_leader): New function.
+       (gtc_visit): Query the proper cache.
+       (gimple_types_compatible_p): Likewise.
+       (gimple_register_type): Use the new cache instead of TYPE_CANONICAL.
+       (gimple_canonical_type_eq): New function.
+       (gimple_register_canonical_type): Likewise.
+       (print_gimple_types_stats): Adjust for gimple_canonical_types.
+       (free_gimple_type_tables): Likewise.  Free gimple_type_leader.
+       * tree-ssa.c (useless_type_conversion_p): Do not dispatch to
+       gimple_types_compatible_p for LTO.
+
+2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/46098
+       * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
+       Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
+       (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
+       (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
+       (<sse>_movu<ssemodesuffix>): New expander.
+       (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
+       (avx_movdqu<avxmodesuffix>): New expander.
+       (*sse2_movdqu): Rename from sse2_movdqu.
+       (sse2_movdqu): New expander.
+
+2010-10-22  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45720
+       * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
+       Handle negative step.
+       (vect_enhance_data_refs_alignment): Likewise.
+       * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Likewise.
+       (vect_create_cond_for_align_checks): Likewise.
+       (vect_create_cond_for_alias_checks): Likewise.
+
+2010-10-22  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/46126
+       * tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to
+       vectorizable_shift in case of basic block vectorization.
+
+2010-10-22  Joseph Myers  <joseph@codesourcery.com>
+
+       * target.h (enum opt_levels, struct default_options): New.
+       * target.def (handle_ofast): Remove hook.
+       (target_option.optimization): Change to
+       target_option.optimization_table.
+       * doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       (CAN_DEBUG_WITHOUT_FP): Remove.
+       * doc/tm.texi: Regenerate.
+       * opts.c (maybe_default_option, maybe_default_options,
+       default_options_table): New.
+       (default_options_optimization): Take extra parameters.  Don't
+       assert that global_options and global_options_set are in use.  Use
+       maybe_default_options.
+       (decode_options): Pass extra parameters to
+       default_options_optimization.
+       * common.opt (falign-loops): Use value 0 with Var.
+       (frerun-cse-after-loop, ftree-ter): Remove Init.
+       * system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST,
+       TARGET_OPTION_OPTIMIZATION): Remove.
+       * targhooks.c (empty_optimization_table): New.
+       * targhooks.h (empty_optimization_table): Declare.
+       * toplev.c (process_options): Don't set flag_rerun_cse_after_loop.
+       * config/alpha/alpha.c (alpha_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/arm/arm.c (arm_option_optimization: Change to
+       arm_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/avr/avr.c (avr_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/cris/cris.c (cris_option_optimization): Change to
+       cris_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/crx/crx.c (crx_option_optimization): Change to
+       crx_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/crx/crx.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/fr30/fr30.c (fr30_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/fr30/fr30.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/frv/frv.c (frv_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/frv/frv.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/h8300/h8300.c (h8300_option_optimization): Change to
+       h8300_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/h8300/h8300.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/i386/i386.c (ix86_option_optimization): Change to
+       ix86_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
+       as initializer.
+       * config/ia64/ia64.c (ia64_option_optimization): Change to
+       ia64_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/ia64/ia64.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define as
+       initializer.
+       * config/iq2000/iq2000.c (iq2000_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/iq2000/iq2000.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/lm32/lm32.c (lm32_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/lm32/lm32.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/m32r/m32r.c (m32r_option_optimization): Change to
+       m32r_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/m32r/m32r.h (SUBTARGET_OPTIMIZATION_OPTIONS,
+       CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/mcore/mcore.c (mcore_option_optimization): Change to
+       mcore_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/mep/mep.c (mep_option_optimization): Change to
+       mep_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/mep/mep.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/microblaze/microblaze.c
+       (microblaze_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/microblaze/microblaze.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/mips/mips.c (mips_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/mips/mips.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/mmix/mmix.c (mmix_option_optimization): Change to
+       mmix_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/mmix/mmix.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/mn10300/mn10300.c (mn10300_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/mn10300/mn10300.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/pa/pa.c (pa_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/pa/pa.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/pdp11/pdp11.c (pdp11_option_optimization): Change to
+       pdp11_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/picochip/picochip.c (picochip_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/picochip/picochip.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/rs6000/rs6000.c (rs6000_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/rs6000/rs6000.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/rx/rx.c (rx_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/rx/rx.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/s390/s390.c (s390_option_optimization): Change to
+       s390_option_optimization_table.
+       (s390_option_override): Update comment.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/s390/s390.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/score/score.c (score_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/score/score.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/sh/sh.c (sh_option_optimization): Change to
+       sh_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       (sh_option_override): Set MASK_SAVE_ALL_TARGET_REGS here.
+       (sh_option_override, expand_block_move, multcosts, find_barrier,
+       barrier_align): Use optimize_size instead of TARGET_SMALLCODE.
+       * config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       (LOOP_ALIGN, TRAMPOLINE_ALIGNMENT, MOVE_BY_PIECES_P,
+       STORE_BY_PIECES_P, SH_DYNAMIC_SHIFT_COST): Use optimize_size
+       instead of TARGET_SMALLCODE.
+       * config/sh/sh.opt (mspace): Make into an alias for -Os.
+       * config/sparc/sparc.c (sparc_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/sparc/sparc.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/stormy16/stormy16.c (xstorym16_option_optimization_table,
+       TARGET_OPTION_OPTIMIZATION_TABLE): New.
+       * config/stormy16/stormy16.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/v850/v850.c (v850_option_optimization): Change to
+       v850_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/v850/v850.h (CAN_DEBUG_WITHOUT_FP): Remove.
+       * config/xtensa/xtensa.c (xtensa_option_optimization): Change to
+       xtensa_option_optimization_table.
+       (TARGET_OPTION_OPTIMIZATION): Change to
+       TARGET_OPTION_OPTIMIZATION_TABLE.
+       * config/xtensa/xtensa.h (CAN_DEBUG_WITHOUT_FP): Remove.
+
+2010-10-21  Iain Sandoe  <iains@gcc.gnu.org>
+
+       Based on the CFString implementation in FSF apple/trunk branch.
+
+       * target.def (objc_construct_string): New Hook.
+       * doc/tm.texi (objc_construct_string): Document.
+       * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING): New.
+       * config/t-darwin: Amend build rules for darwin.o.
+       * config/darwin.opt: Add cfstrings flags.
+       * config/darwin-c.c: Define __CONSTANT_CFSTRINGS__.
+       (darwin_objc_construct_string): New.
+       * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Define.
+       * config/i386/i386.c (ix86_init_builtins): Add SUBTARGET_INIT_BUILTINS.
+       * config/darwin-protos.h (darwin_init_cfstring_builtins): New prototype.
+       (darwin_fold_builtin): Likewise.
+       (darwin_build_constant_cfstring): Likewise.
+       (darwin_objc_construct_string): Likewise.
+       (darwin_cfstring_p): Likewise.
+       (darwin_enter_string_into_cfstring_table): Likewise.
+       * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS) Update for CFString.
+       * config/darwin.c (darwin_running_cxx): New var.
+       (machopic_select_section): Return cfstring_constant_object_section.
+       (darwin_override_options): Set darwin_running_cxx.
+       (add_builtin_field_decl): New.
+       (darwin_init_cfstring_builtins): New.
+       (darwin_build_constant_cfstring): New.
+       (darwin_fold_builtin): New.
+       (cfstring_hash): New.
+       (cfstring_eq): New.
+       (darwin_enter_string_into_cfstring_table): New.
+       * config/darwin-sections.def (cfstring_constant_object_section): New.
+       * config/darwin.h (TARGET_FOLD_BUILTIN): Define.
+       (TARGET_OBJC_CONSTRUCT_STRING): Define.
+
+2010-10-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/alpha/alpha.c (alpha_build_builtin_va_list): Use
+       TYPE_STUB_DECL instead of TREE_CHAIN.
+       * config/i386/i386.c (ix86_build_builtin_va_list_abi): Likewise.
+       * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Likewise.
+       * config/s390/s390.c (s390_build_builtin_va_list): Likewise.
+       * config/sh/sh.c (sh_build_builtin_va_list): Likewise.
+       * config/spu/spu.c (spu_build_builtin_va_list): Likewise.
+       * config/stormy16/stormy16.c (xstormy16_build_builtin_va_list):
+       Likewise.
+       * config/xtensa/xtensa.c (xtensa_build_builtin_va_list): Likewise.
+
+2010-10-22  Jie Zhang  <jie@codesourcery.com>
+
+       * expr.c (emit_group_load_1): Update calls to extract_bit_field.
+       (copy_blkmode_from_reg): Likewise.
+       (read_complex_part): Likewise.
+       (expand_expr_real_1): Calculate packedp and pass it to
+       extract_bit_field.
+       * expr.h (extract_bit_field): Update declaration.
+       * calls.c (store_unaligned_arguments_into_pseudos): Update call
+       to extract_bit_field.
+       * expmed.c (extract_fixed_bit_field): Update calls to
+       extract_fixed_bit_field.
+       (store_split_bit_field): Likewise.
+       (extract_bit_field_1): Add new argument packedp.
+       (extract_bit_field): Add new argument packedp.
+       (extract_fixed_bit_field): Add new argument packedp and let
+       packed attribute override volatile.
+       * stmt.c (expand_return): Update call to extract_bit_field.
+
+2010-10-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/spu/spu.c (spu_function_arg): Dereference CUM parameter.
+
+2010-10-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
+       of gcc_checking_assert.
+       * sel-sched.c (code_motion_process_successors): Likewise.
+
+2010-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cfgcleanup.c (try_forward_edges): Do not throw away previous steps
+       when stopping because of a different locus on edge or insn.
+       (try_optimize_cfg): Add comment.
+       * cfgrtl.c (rtl_merge_blocks): Tweak log message.  If the destination
+       block is a forwarder block, propagate locus on the edge.
+       (cfg_layout_merge_blocks): Likewise.
+
+2010-10-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/45946
+       * config/i386/i386.md (*pushti2): New insn pattern.
+       (pushti2 splitter): New insn splitter.
+       (*push<mode>2): Macroize insn pattern from *push{di,ti}2 using
+       DWI mode iterator.
+
+2010-10-21  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11-protos.md (arith_operand,
+       const_immediate_operand, expand_shift_operand,
+       immediate15_operand): Delete
+       * config/pdp11/pdp11.c: Ditto.
+       * config/pdp11/pdp11.h (REG_CLASS_FROM_LETTER,
+       CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
+       EXTRA_CONSTRAINT): Delete.
+       * config/pdp11/pdp11.md (various): Use standard constraints
+       instead of removed ones.
+       * config/pdp11/constraints.md: New file.
+       * config/pdp11/predicates.md: New file.
+
+2010-10-21  Bingfeng Mei  <bmei@broadcom.com>
+
+       PR c/45834
+       * alias.c (true_dependence_1): Remove obsolete check for QImode.
+       (may_alias_p): Ditto.
+
+2010-10-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/45875
+       * tree.c (get_binfo_at_offset): Remove initial zero offset test.
+
+2010-10-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree-into-ssa.c (rewrite_update_enter_block): Remove unused
+       variables.
+       (create_new_def_for): Likewise.
+
+2010-10-21  Nick Clifton  <nickc@redhat.com>
+
+       * config/mn10300/mn10300.c: Fold code to 80-character width.
+       Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
+       MEM, CONST_INT and CONST_DOUBLE.
+       (targetm): Move initialization to end of file.
+       (print_operand): Rename to mn10300_print_operand.
+       (print_operand_address): Rename to mn10300_print_operand_address.
+       (can_use_return_insn): Rename to mn10300_can_use_return_insn.
+       (expand_prologue): Rename to mn10300_expand_prologue.
+       (expand_epilogue): Rename to mn10300_expand_epilogue.
+       (initial_offset): Rename to mn10300_initial_offset.
+       (function_arg): Rename to mn10300_function_arg.
+       (mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst.
+       (symbolic_operand): Rename to mn10300_symbolic_operand.
+       (legitimize_pic_address): Rename to mn10300_legitimize_pic_address.
+       (legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p.
+       * config/mn10300/mn10300-protos.h: Update prototypes.
+       * config/mn10300/mn10300.h: Fold code to 80-character width.
+       Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
+       MEM, CONST_INT and CONST_DOUBLE.
+       (CPP_SPEC): Move to...
+       (TARGET_CPU_CPP_BUILTINS): ... here.
+       * config/mn10300/mn10300.md: Fold code to 80-character width.
+       Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
+       MEM, CONST_INT and CONST_DOUBLE.
+
+2010-10-21  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/46049
+       PR tree-optimization/46052
+       * tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift.
+       (vect_get_slp_defs): Add arguments.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar
+       operands to vect_get_slp_defs.
+       (vectorizable_reduction): Fix comment, pass scalar operands to
+       vect_get_slp_defs.
+       * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's
+       type to determine number of units in the created vector.
+       (vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
+       (vectorizable_conversion): Fix comment.
+       (vectorizable_shift): New function.
+       (vectorizable_operation): Move code that handles shifts to
+       vectorizable_shift.
+       (vectorizable_type_demotion): Fix comment, pass scalar operands to
+       vect_get_slp_defs.
+       (vectorizable_type_promotion, vectorizable_store): Likewise.
+       (vectorizable_condition): Fix comment.
+       (vect_analyze_stmt): Call vectorizable_shift.
+       (vect_transform_stmt): Likewise.
+       * tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
+       Use it as the operand to create vectors for, except reduction
+       initial definition and store.  Use operands type.
+       (vect_get_slp_defs): Add new arguments.  Pass them to
+        vect_get_constant_vectors.
+
+2010-10-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * basic-block.h (single_succ_edge): Use gcc_checking_assert.
+       (single_pred_edge, ei_container, ei_next, ei_prev): Likewise.
+       * cfghooks.c (fixup_reorder_chain): Likewise.
+       * cfgrtl.c (cfg_layout_merge_blocks): Likewise.
+       * cgraph.c (cgraph_add_thunk): Likewise.
+       (cgraph_create_edge_1): Likewise.
+       (cgraph_create_virtual_clone): Likewise.
+       * ddg.c (add_cross_iteration_register_deps): Likewise.
+       * dwarf2out.c (modified_type_die): Likewise.
+       * emit-rtl.c (set_mem_alias_set): Likewise.
+       * ggc-zone.c (zone_allocate_marks): Likewise.
+       * gimple-iterator.c (gsi_move_to_bb_end): Likewise.
+       * gimple.c (iterative_hash_gimple_type): Likewise.
+       * graphite-scop-detection.c (create_single_entry_edge): Likewise.
+       (create_single_exit_edge): Likewise.
+       * haifa-sched.c (choose_ready): Likewise.
+       * lto-streamer-in.c (input_gimple_stmt): Likewise.
+       * passes.c (execute_todo): Likewise.
+       * sched-ebb.c (begin_schedule_ready): Likewise.
+       * sel-sched.c (code_motion_process_successors): Likewise.
+       * tree-call-cdce.c (gen_conditions_for_pow): Likewise.
+       * tree-cfg-cleanup.c (tree_forwarder_block_p): Likewise.
+       * tree-flow-inline.h (link_imm_use, move_use_after_head): Likewise.
+       (phi_arg_index_from_use, phi_ssa_name_p): Likewise.
+       * tree-into-ssa.c (insert_updated_phi_nodes_for): Likewise.
+       * tree-ssa-coalesce.c (ssa_conflicts_test_p): Likewise.
+       (ssa_conflicts_add): Likewise.
+       * tree-ssa-copy.c (replace_exp): Likewise.
+       * tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
+       * tree-ssa-forwprop.c (simple_gimple_switch): Likewise.
+       * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
+       * tree-ssa-pre.c (bitmap_value_insert_into_set): Likewise.
+       (compute_antic): Likewise.
+       * tree-ssa-ter.c (add_to_partition_kill_list): Likewise.
+       (add_dependence): Likewise.
+       (process_replaceable, kill_expr, find_replaceable_exprs): Likewise.
+       * tree-vrp.c (supports_overflow_infinity): Likewise.
+       (make_overflow_infinity, negative_overflow_infinity): Likewise.
+       (avoid_overflow_infinity, register_new_assert_for): Likewise.
+       (process_assert_insertions_for): Likewise.
+       * var-tracking.c (dv_is_value_p, dv_as_decl, dv_from_decl): Likewise.
+       (dv_from_value, variable_union, find_loc_in_1pdv): Likewise.
+       (intersect_loc_chains, variable_merge_over_cur): Likewise.
+
+2010-10-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred.
+       * reload1.c (has_nonexceptional_receiver): Likewise.
+       * tree-into-ssa.c (rewrite_update_enter_block): Likewise.
+       (create_new_def_for): Likewise.
+       * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
+       (merge_phi_nodes): Likewise.
+       (has_abnormal_incoming_edge_p): Delete.
+
+2010-10-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/sse.md (ssescalarmodesuffix): Add V8SI and V4DI.
+
+2010-10-21  Richard Guenther  <rguenther@suse.de>
+           Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/45764
+       * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
+       Adjust initial misalignment for negative DR_STEP.
+       (vect_find_same_alignment_drs): Two DRs with different DR_STEP
+       do not have the same alignment over the whole iteration domain.
+
+2010-10-21  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46111
+       * tree-parloops.c (take_address_of): Re-organize for MEM_REF.
+
+2010-10-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.md (*xordi3_cc): Mark xgrk as z196 only.
+
+2010-10-21  Tristan Gingold  <gingold@adacore.com>
+
+       * config/vms/vms-crtl.h (CRTL_NAMES): Add new translations.
+       * config/vms/vms-crtl-64.h (CRTL_NAMES): Ditto.
+
+2010-10-21  Tristan Gingold  <gingold@adacore.com>
+
+       * config/alpha/vms-unwind.h (alpha_vms_fallback_frame_state): Set
+       signal_frame.
+       * config/alpha/alpha.c (alpha_function_arg): Adjust call.
+
+2010-10-21  Tristan Gingold  <gingold@adacore.com>
+
+       * config/ia64/vms64.h (TARGET_DEFAULT): Add MASK_FUSED_MADD.
+       * config/ia64/vms.h (TARGET_DEFAULT): Ditto.
+
+2010-10-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * basic-block.h (find_fallthru_edge): Define.
+       * cfgcleanup.c (merge_blocks_move): Use it.
+       (try_crossjump_bb): Likewise.
+       * cfglayout.c (fixup_reorder_chains): Likewise.
+       (fixup_fallthru_exit_predecessor): Likewise.
+       * cfgrtl.c (rtl_split_edge): Likewise.
+       (rtl_verify_flow_info): Likewise.
+       * function.c (thread_prologue_and_epilogue_insns): Likewise.
+       * gimple-pretty-print.c (dump_implicit_edges): Likewise.
+       * ifcvt.c (block_fallthru): Likewise.
+       * reload1.c (fixup_abnormal_edges): Likewise.
+       * sched-ebb.c (being_schedule_ready): Likewise.
+       (schedule_ebb): Likwise.
+       * sched-rgn.c (find_single_block_region): Likewise.
+       * sel-sched-ir.c (bb_ends_ebb_p): Likewise.
+       * tree-complex.c (expand_complex_move): Likewise.
+       * sched-int.h (find_fallthru_edge): Rename to...
+       (find_fallthru_edge_from): ...this.
+       * haifa-sched.c (find_fallthru_edge): Rename to...
+       (find_fallthru_edge_from): ...this.  Use new find_fallthru_edge.
+       (init_before_recovery): Call find_fallthru_edge_from.
+       * sel-sched-ir.c (merge_fences): Likewise.
+       * sel-sched.c (in_fallthru_bb_p): Likewise.
+       (move_cond_jump): Likewise.
+
+2010-10-20  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11.md (various): Fix conditions on a number of
+       insn to check for target 11/40 or higher.
+
+2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * parser.c (c_parser_objc_method_type): Mark inline.  Return a
+       bool instead of a tree.
+       (c_parser_objc_method_decl): Added bool argument.  Updated call to
+       objc_build_method_signature.
+       (c_parser_objc_method_definition): Do not call
+       objc_set_method_type.  Updated calls to c_parser_objc_method_type,
+       c_parser_objc_method_decl and objc_start_method_definition.
+       (c_parser_objc_methodproto): Do not call objc_set_method_type.
+       Updated calls to c_parser_objc_method_type,
+       c_parser_objc_method_decl and objc_add_method_declaration.
+
+2010-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/45919
+       * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Handle flexible
+       array members.
+
+       PR tree-optimization/46066
+       * tree-parloops.c (create_parallel_loop): Use gsi_last_nondebug_bb
+       instead of gsi_last_bb.
+
+2010-10-20  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c.c (m32c_option_override): Always disable
+       function-cse in 16-bit mode.  Indirect calls are always worse than
+       direct calls as there is no 16-bit indirect call opcode.
+       (m32c_override_options_after_change): New, likewise.
+
+2010-10-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try
+       emitting the conditional move in the inner mode of the SUBREG.
+
+2010-10-20  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Remove macros.
+       * config/ia64/ia64-protos.h (ia64_preferred_reload_class): Remove.
+       * config/ia64/ia64.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
+       (ia64_preferred_reload_class): Make static.  Change rclass argument
+       and result types from enum reg_class to reg_class_t.
+
 2010-10-20  Pat Haugen  <pthaugen@us.ibm.com>
 
        * tree-ssa-ter.c (find_replaceable_in_bb): Allow replacement over
        (default_jump_align_max_skip): New.
        (compute_alignments): Use the new hooks.
        (shorten_branches): Likewise.
-       
+
 2010-10-19  Richard Henderson  <rth@redhat.com>
 
        * config/i386/i386.c (bdesc_multi_arg): Use fma4i_fmadd_<mode>.
        * config/i386/sse.md (fma<mode>4): Enable for FMA & SSE_MATH.
        (fma4i_fmadd_<mode>): New.
        (*split_fma, *split_fms, *split_fnma, *split_fnms): Rename from
-       fma4_fm*_<mode> and adjust to be pre-reload splitters to the 
+       fma4_fm*_<mode> and adjust to be pre-reload splitters to the
        standard fma patterns.
        (fmaddsub_<mode>): Rename from fma4i_fmaddsub_<mode> and
        enable for FMA.
 
 2010-10-19  Michael Eager  <eager@eagercon.com>
 
-       * config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO): 
+       * config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO):
        Use sjlj unwind info for exceptions.
 
 2010-10-19  Francois-Xavier Coudert<fxcoudert@gcc.gnu.org>
 2010-10-19  Nick Clifton  <nickc@redhat.com>
 
        * config/rx/rx.c (rx_function_value): Small integer types are
-       promotes to SImode.
+       promoted to SImode.
        (rx_promote_function_mode): New function.
        (TARGET_PROMOTE_FUNCTION_MODE): Define.
 
        (mep_output_aligned_common): Likewise.
 
 2010-10-19  Basile Starynkevitch  <basile@starynkevitch.net>
-       * gengtype.c (new_structure): Remove ad-hoc "location_s"
-       processing.
+
+       * gengtype.c (new_structure): Remove ad-hoc "location_s" processing.
 
 2010-10-18  Richard Henderson  <rth@redhat.com>
 
-        * simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
+       * simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
        (fma (neg a) (neg b) c) and (fma a (neg b) c).
 
 2010-10-18  Richard Henderson  <rth@redhat.com>
        (c_parser_objc_at_dynamic_declaration): New.
 
 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
-       
+
        * c-parser.c (c_parser_objc_class_declaration): After finding an
        error, parse the whole declaration then reset parser->error.
-       
+
 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
 
        PR target/46041
 
 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
 
-       Merge from 'apple/trunk' branch on FSF servers. 
+       Merge from 'apple/trunk' branch on FSF servers.
        * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
        following Objective-C change:
 
 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Merge from 'apple/trunk' branch on FSF servers.
-       
+
        2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
 
-        Radar 4133425
+       Radar 4133425
        * c-decl.c (undeclared_variable): Issue diagnostic on
        private 'ivar' access.
-       
+
 2010-10-17  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/46051