+2012-10-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR rtl-optimization/54739
+ * config/pa/pa.md: Remove DImode and, not and, ior and xor patterns
+ for 32-bit targets. Adjust expanders.
+
+ * config/pa/pa.md: Adjust unamed HImode add insn pattern.
+
+2012-10-05 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.c (builtin_description): Add is_enabled member.
+ (shmedia_builtin_p): New function.
+ (bdesc): Use shmedia_builtin_p for existing built-ins.
+ (sh_media_init_builtins, sh_init_builtins): Merge into single function
+ sh_init_builtins. Add is_enabled checking. Move variable declarations
+ to where they are actually used.
+ (sh_media_builtin_decl, sh_builtin_decl): Merge into single function
+ sh_builtin_decl. Add is_enabled checking.
+ (sh_expand_builtin): Move variable declarations to where they are
+ actually used.
+
+2012-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-inline.c (expand_call_inline): Move VAR_DECLs with
+ PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS
+ into id->block's BLOCK_VARS.
+
+ PR debug/54519
+ * ipa-split.c (split_function): Add debug args and
+ debug source and normal stmts for args_to_skip which are
+ gimple regs.
+ * tree-inline.c (copy_debug_stmt): When inlining, adjust
+ source debug bind stmts to debug binds of corresponding
+ DEBUG_EXPR_DECL.
+
+2012-10-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md: Fix indentations of insn C snippets.
+
+2012-10-05 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54811
+ * tree-ssa-live.c (clear_unused_block_pointer_1): Look at
+ DECL_DEBUG_EXPR again.
+
+2012-10-05 Jan Hubicka <jh@suse.cz>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/33763
+ * tree-inline.c (expand_call_inline): Silently ignore always_inline
+ attribute for redefined extern inline functions.
+
+2012-10-04 Jan Hubicka <jh@suse.cz>
+
+ * tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
+ * tree-vect-loop.c (vect_estimate_min_profitable_iters): Declare here.
+ (vect_analyze_loop_operations): Use loop count estimate to rule out
+ unprofitable vectorization.
+ (vect_estimate_min_profitable_iters): Return ret_min_profitable_estimate.
+
+2012-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54810
+ * tree-vrp.c (register_edge_assert_for_2): Handle
+ NAME = (unsigned) NAME2; if (NAME cmp CST) for
+ narrowing casts to unsigned integral type like
+ NAME = NAME2 & CST2; if (NAME cmp CST) where CST2
+ is the max value of the unsigned integral type.
+
+2012-10-04 Jeff Law <law@redhat.com>
+
+ * PR target/50356
+ * config/h8300/h8300.c (h8300_rtx_costs): Fix typo in CONST_INT case.
+
+2012-10-04 Jason Merrill <jason@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
+ ASM_WEAKEN_DECL with #if RS6000_WEAK.
+
+2012-10-04 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c (walk_type): Emit mark_hook when inside a
+ struct of a union member.
+
+2012-10-04 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/predicates.md (flash_operand): New predicate.
+ * config/avr/avr.md (reload_in<mode>): Use it in operand 1 instead
+ of memory_operand.
+
+2012-10-04 Tobias Burnus <burnus@net-b.de>
+
+ * gcc.c (record_temp_file, add_sysrooted_prefix, process_command,
+ do_self_spec, compare_debug_dump_opt_spec_function): Plug memleaks.
+ (do_spec_1): Ditto, fix out-of-bound access.
+ * opts.c (common_handle_option): Plug memleak.
+
+2012-10-04 Jason Merrill <jason@redhat.com>
+
+ * config/darwin.c (darwin_assemble_visibility): Treat
+ VISIBILITY_INTERNAL as hidden.
+
+ * config/darwin-c.c (find_subframework_file): Add missing const.
+ (framework_construct_pathname): Likewise.
+
+2012-10-04 Florian Weimer <fweimer@redhat.com>
+
+ * doc/cpp.texi (Pragmas): Document #pragma GCC warning, #pragma
+ GCC error.
+
+2012-10-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54735
+ * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
+ cleaning up the CFG.
+
+2012-10-04 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47799
+ * tree-streamer-out.c (write_ts_block_tree_pointers): For
+ inlined functions outer scopes write the ultimate origin
+ as BLOCK_ABSTRACT_ORIGIN and BLOCK_SOURCE_LOCATION.
+ Do not stream the fragment chains.
+ * tree-streamer-in.c (lto_input_ts_block_tree_pointers): Likewise.
+ * dwarf2out.c (gen_subprogram_die): Handle NULL DECL_INITIAL.
+ (dwarf2out_decl): Always output DECL_ABSTRACT function decls.
+
+2012-10-04 Arnaud Charlet <charlet@adacore.com>
+
+ * dumpfile.h, dumpfile.c: Remove TDI_ada.
+
+2012-10-04 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * config/i386/i386.c (ix86_dep_by_shift_count_body) : Add
+ check on reload_completed since it can be invoked before
+ register allocation phase in pre-reload schedule.
+ (ia32_multipass_dfa_lookahead) : Do not use dfa_lookahead for pre-reload
+ schedule to save compile time.
+ (ix86_sched_reorder) : Do not perform ready list reordering for pre-reload
+ schedule to save compile time.
+ (insn_is_function_arg) : New function. Returns true if lhs of insn is
+ HW function argument register.
+ (add_parameter_dependencies) : New function. Add output dependencies
+ for chain of function adjacent arguments if only there is a move to
+ likely spilled HW registers. Return first argument if at least one
+ dependence was added or NULL otherwise.
+ (avoid_func_arg_motion) : New function. Add output or anti dependency
+ from insn to first_arg to restrict code motion.
+ (add_dependee_for_func_arg) : New function. Avoid cross block motion of
+ function argument through adding dependency from the first non-jump
+ insn in bb.
+ (ix86_dependencies_evaluation_hook) : New function. Hook for pre-reload schedule:
+ avoid motion of function arguments passed in passed in likely spilled
+ HW registers.
+ (ix86_adjust_priority) : New function. Hook for pre-reload schedule: set priority
+ of moves from likely spilled HW registers to maximum to schedule them
+ as soon as possible.
+ (ix86_sched_init_global): Do not perform multipass scheduling for pre-reload
+ schedule to save compile time.
+
+2012-10-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
+ * configure: Regenerate.
+
+2012-10-04 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_can_use_simple_return_p): Return false for
+ SHmedia and SHcompact using call cookie.
+ * config/sh/sh.md (epilogue): Emit non-inlined return insns for
+ SHmedia and SHcompact using call cookie.
+
+2012-10-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md (*mov_t_msb_neg): New insn and two accompanying
+ unnamed split patterns.
+
+2012-10-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50457
+ * config/sh/sh.c (parse_validate_atomic_model_option): Handle name
+ strings in sh_atomic_model.
+ * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
+ to ...
+ * config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
+ Add __SH1__ and __SH2__ defines. Add __SH_ATOMIC_MODEL_*__ define.
+ * config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
+ variables.
+ (sh_cpu_cpp_builtins): Declare new function.
+
+2012-10-03 Dehao Chen <dehao@google.com>
+
+ PR middle-end/54782
+ * tree-cfg.c (move_block_to_fn): Update lexical block for phi_args.
+
+2012-10-03 Vladimir Makarov <vmakarov@redhat.com>
+
+ * reginfo.c (max_regno_since_last_resize): New.
+ (reg_preferred_class, reg_alternate_class): Add assert.
+ (allocate_reg_info): Initialize allocated reg info.
+ (resize_reg_info): Make bigger reg_info and initialize new memory.
+ (reginfo_init): Initialize max_regno_since_last_resize.
+ (setup_reg_classes): Change assert.
+
+2012-10-03 Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
+ in SSE and YMM state support check for -march=native.
+
+2012-10-03 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (struct decl_chain): New local structure.
+ (warned_decls): New local variable. Contains a stack of decls for
+ which warnings have been issued.
+ (add_warned_decl): Adds a decl to the stack.
+ (already_warned): Returns true if a given decl is on the stack.
+ (rx_set_current_function): Issue a warning if multiple fast
+ interrupt handlers are defined.
+ * config/rx/rx.opt (mwarn-multiple-fast-interrupts): New option.
+ * doc/invoke.texi: Document the option.
+
+2012-09-03 Mark Kettenis <kettenis@openbsd.org>
+
+ * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
+ default_use_cxa_atexit to yes.
+
+2012-10-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/54792
+ * sched-deps.c (find_modifiable_mems): Scan also TAIL insn.
+
+2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/54785
+ * doc/invoke.texi: Document -mprefer-avx128.
+
+2012-10-02 Andrew Pinski <apinski@cavium.com>
+
+ * simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
+ Don't optimize a truncate of a mem if it is a vector mode.
+
+2012-10-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54551
+ * Makefile.in (VALTRACK_H): Add hash-table.h.
+ * valtrack.h: Include hash-table.h.
+ (struct dead_debug_global_entry): New.
+ (struct dead_debug_hash_descr): New.
+ (struct dead_debug_global): New.
+ (struct dead_debug): Rename to...
+ (struct dead_debug_local): ... this. Adjust all uses.
+ (dead_debug_global_init, dead_debug_global_finish): New.
+ (dead_debug_init): Rename to...
+ (dead_debug_local_init): ... this. Adjust all callers.
+ (dead_debug_finish): Rename to...
+ (dead_debug_local_finish): ... this. Adjust all callers.
+ * valtrack.c (dead_debug_global_init): New.
+ (dead_debug_init): Rename to...
+ (dead_debug_local_init): ... this. Take global parameter.
+ Save it and initialize used bitmap from it.
+ (dead_debug_global_find, dead_debug_global_insert): New.
+ (dead_debug_global_replace_temp): New.
+ (dead_debug_promote_uses): New.
+ (dead_debug_finish): Rename to...
+ (dead_debug_local_finish): ... this. Promote remaining uses.
+ (dead_debug_global_finish): New.
+ (dead_debug_add): Try to replace global temps first.
+ (dead_debug_insert_temp): Support global replacements.
+ * dce.c (word_dce_process_block, dce_process_block): Add
+ global_debug parameter. Pass it on.
+ (fast_dce): Initialize, pass on and finalize global_debug.
+ * df-problems.c (df_set_unused_notes_for_mw): Adjusted.
+ (df_create_unused_notes, df_note_bb_compute): Likewise.
+ (df_note_compute): Justify local-only dead debug analysis.
+
+2012-10-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53135
+ * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
+ when needed.
+
+2012-10-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54177
+ * var-tracking.c (vt_add_function_parameter): Bail if
+ var_lowpart fails.
+
+2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/54741
+ * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
+ (XSTATE_FP): Likewise.
+ (XSTATE_SSE): Likewise.
+ (XSTATE_YMM): Likewise.
+ (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
+ SSE and YMM states aren't supported.
+
+2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
+ (*baddu_si): ...this new pattern.
+
+2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
+ (ira_useful_class_mode_regs): New macro.
+ * ira.c (clarify_prohibited_class_mode_regs): Set up
+ ira_useful_class_mode_regs.
+ * ira-color.c (setup_profitable_hard_regs): Use it to initialise
+ profitable_hard_regs.
+
+2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira.h (target_ira): Add x_ira_class_singleton.
+ (ira_class_singleton): New macro.
+ * ira.c (setup_prohibited_class_mode_regs): Set up ira_class_singleton.
+ * ira-build.c (update_conflict_hard_reg_costs): Use
+ ira_class_singleton to check for classes with a single
+ allocatable register.
+ * ira-lives.c (ira_implicitly_set_insn_hard_regs): Likewise.
+ (single_reg_class): Likewise. When more than one class is specified,
+ check whether they have the same singleton register.
+ (process_single_reg_class_operands): Require single_reg_class
+ to return NO_REGS or a class with a single allocatable register.
+ Obtain that register from ira_class_singleton.
+
+2012-10-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): If
+ -mcpu=<xxx> is not specified and the compiler is not configured
+ using --with-cpu=<xxx>, use the bits from the TARGET_DEFAULT to
+ set the initial options.
+
+2012-10-02 Sharad Singhai <singhai@google.com>
+
+ PR testsuite/54772
+ * tree-vect-stmts.c (vectorizable_operation): Add missing return.
+
+2012-10-02 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
+ set TARGET_ALTIVEC_VRSAVE for TARGET_ELF.
+ (rs6000_stack_info): Only set vrsave_mask if TARGET_ALTIVEC_VRSAVE.
+
+2012-10-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54713
+ * expr.c (categorize_ctor_elements_1): Don't assume purpose is
+ non-NULL.
+ * tree-cfg.c (verify_gimple_assign_single): Add verification of
+ vector CONSTRUCTORs.
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): For VECTOR_TYPE
+ CONSTRUCTORs, don't do anything if element type is VECTOR_TYPE,
+ and don't check index.
+ * tree-vect-slp.c (vect_get_constant_vectors): VIEW_CONVERT_EXPR ctor
+ elements first if their type isn't compatible with vector element type.
+
+2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (DECL_NONLOCAL_FRAME): New macro.
+ * tree-nested.c (get_frame_type): Set DECL_NONLOCAL_FRAME.
+ * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Stream in
+ DECL_NONLOCAL_FRAME flag.
+ * tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream out
+ DECL_NONLOCAL_FRAME flag.
+
+2012-10-02 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
+ boolean_type_node for vectors.
+
+2012-10-01 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (toplevel): Include dumpfile.h.
+ (rs6000_density_test): Rework to accommodate 09-30 change by
+ Sharad Singhai.
+
+ * config/rs6000/t-rs6000 (rs6000.o): Add dumpfile.h dependency.
+
+2012-10-01 Dehao Chen <dehao@google.com>
+
+ PR middle-end/54759
+ * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Use
+ LOCATION_LOCUS to compare with UNKNOWN_LOCATION.
+ (slpeel_tree_peel_loop_to_edge): Likewise.
+ * tree-vectorizer.c (vectorize_loops): Likewise.
+
+2012-10-01 Andrew MacLeod <amacleod@redhat.com>
+
+ PR target/54087
+ * optabs.c (expand_atomic_fetch_op_no_fallback): New. Factored code
+ from expand_atomic_fetch_op.
+ (expand_atomic_fetch_op): Try atomic_{add|sub} operations in terms of
+ the other one if direct opcode fails.
+
+2012-10-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/54457
+ * simplify-rtx.c (simplify_subreg):
+ Simplify (subreg:M (op:N ((x:N) (y:N)), 0)
+ to (op:M (subreg:M (x:N) 0) (subreg:M (x:N) 0)), where
+ the outer subreg is effectively a truncation to the original mode M.
+
+2012-10-01 Richard Guenther <rguenther@suse.de>
+
+ * builtins.def (ATTR_MATHFN_FPROUNDING): Do not use no-vops
+ with -frounding-math.
+ * builtin-attrs.def (ATTR_PURE_NOTHROW_NOVOPS_LIST): Remove.
+ (ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST): Likewise.
+
+2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (copy_mem_ref_info): Delete.
+ * tree-ssa-address.c (copy_mem_ref_info): Likewise.
+ (maybe_fold_tmr): Copy flags manually.
+ * tree-ssa-loop-im.c (simple_mem_ref_in_stmt): Rewrite.
+
+2012-10-01 Marc Glisse <marc.glisse@inria.fr>
+
+ * simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
+ Detect the identity.
+ <VEC_CONCAT>: Handle VEC_SELECTs from the same vector.
+
+2012-10-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50457
+ * config/sh/sh.opt (matomic-model): New option.
+ (msoft-atomic): Mark as deprecated and alias to
+ matomic-model=soft-gusa.
+ (mhard-atomic): Delete.
+ * config/sh/predicates.md (gbr_displacement): New predicate.
+ * config/sh/sh-protos.h (sh_atomic_model): New struct.
+ (selected_atomic_model): New declaration.
+ (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT, TARGET_ATOMIC_SOFT_GUSA,
+ TARGET_ATOMIC_HARD_LLCS, TARGET_ATOMIC_SOFT_TCB,
+ TARGET_ATOMIC_SOFT_TCB_GBR_OFFSET_RTX, TARGET_ATOMIC_SOFT_IMASK):
+ New macros.
+ * config/sh/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Adapt setting to
+ default atomic model.
+ * config/sh/sh.c (selected_atomic_model_): New global variable.
+ (selected_atomic_model, parse_validate_atomic_model_option): New
+ functions.
+ (sh_option_override): Replace atomic selection checks with call to
+ parse_validate_atomic_model_option.
+ * config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
+ UNSUPPORTED_HARD_ATOMIC_CPU): Delete.
+ (DRIVER_SELF_SPECS): Remove atomic checks.
+ config/sh/sync.md: Update documentation comments.
+ (atomic_compare_and_swap<mode>, atomic_exchange<mode>,
+ atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
+ atomic_<fetchop_name>_fetch<mode>, atomic_nand_fetch<mode>): Use
+ TARGET_ATOMIC_ANY as condition. Add TARGET_ATOMIC_STRICT check for
+ SH4A case. Handle new TARGET_ATOMIC_SOFT_TCB and
+ TARGET_ATOMIC_SOFT_IMASK cases.
+ (atomic_test_and_set): Handle new TARGET_ATOMIC_SOFT_TCB and
+ TARGET_ATOMIC_SOFT_IMASK cases.
+ (atomic_compare_and_swapsi_hard, atomic_exchangesi_hard,
+ atomic_fetch_<fetchop_name>si_hard, atomic_fetch_nandsi_hard,
+ atomic_<fetchop_name>_fetchsi_hard, atomic_nand_fetchsi_hard):
+ Add TARGET_ATOMIC_STRICT check.
+ (atomic_compare_and_swap<mode>_hard, atomic_exchange<mode>_hard,
+ atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nand<mode>_hard,
+ atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetch<mode>_hard,
+ atomic_test_and_set_hard): Use TARGET_ATOMIC_HARD_LLCS condition.
+ (atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft,
+ atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft,
+ atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft,
+ atomic_test_and_set_soft): Append _gusa to the insn names and use
+ TARGET_ATOMIC_SOFT_GUSA as condition.
+ (atomic_compare_and_swap<mode>_soft_tcb,
+ atomic_exchange<mode>_soft_tcb,
+ atomic_fetch_<fetchop_name><mode>_soft_tcb,
+ atomic_fetch_nand<mode>_soft_tcb,
+ atomic_<fetchop_name>_fetch<mode>_soft_tcb,
+ atomic_nand_fetch<mode>_soft_tcb, atomic_test_and_set_soft_tcb):
+ New insns.
+ (atomic_compare_and_swap<mode>_soft_imask,
+ atomic_exchange<mode>_soft_imask,
+ atomic_fetch_<fetchop_name><mode>_soft_imask,
+ atomic_fetch_nand<mode>_soft_imask,
+ atomic_<fetchop_name>_fetch<mode>_soft_imask,
+ atomic_nand_fetch<mode>_soft_imask, atomic_test_and_set_soft_imask):
+ New insns.
+ * doc/invoke.texi (SH Options): Document new matomic-model option.
+ Remove msoft-atomic and mhard-atomic options.
+
+2012-10-01 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/54746
+ * config/s390/s390.c (s390_option_override): Add missing break.
+
+2012-09-30 Sharad Singhai <singhai@google.com>
+
+ * dumpfile.c: New file with parts moved from tree-dump.c.
+ (pflags): New variable.
+ (alt_flags): Ditto.
+ (alt_dump_file): Ditto.
+ (dump_files): Update to include additional fields.
+ (struct dump_option_value_info): Add additional entries.
+ (get_dump_file_name): Use command line filename if available.
+ (dump_open_alternate_stream): New function.
+ (dump_loc): Ditto.
+ (dump_gimple_stmt): Ditto.
+ (dump_gimple_stmt_loc): Ditto.
+ (dump_generic_expr): Ditto.
+ (dump_generic_expr_loc): Ditto.
+ (dump_printf): Ditto.
+ (dump_printf_loc): Ditto.
+ (dump_start): Ditto.
+ (dump_finish): Ditto.
+ (dump_begin): Ditto.
+ (dump_enabled_p): Return true if either of the dump types is enabled.
+ (dump_initialized_p): Return true if either type of dump is
+ initialized.
+ (dump_end): Do not close standard streams.
+ (dump_enable_all): Handle filenames for regular dumps.
+ (dump_switch_p_1): Handle command-line dump filenames.
+ (opt_info_enable_all): New function.
+ (opt_info_switch_p_1): Ditto.
+ (opt_info_switch_p): Ditto.
+ (dump_kind_p): Ditto.
+ (dump_basic_block): Ditto.
+ (dump_combine_total_stats): Ditto.
+ (dump_remap_tree_vectorizer_verbose): Ditto.
+ * gimple-pretty-print.h: Rename dump_gimple_stmt to
+ pp_gimple_stmt_1. All callers updated.
+
+2012-09-30 Sharad Singhai <singhai@google.com>
+
+ * doc/invoke.texi: Add documentation for the new -fopt-info option.
+ * tree-dump.c: Move general dump file related functionality into
+ dumpfile.c. Remove unneeded headers.
+ * tree-dump.h: Move function declarations into dumpfile.h.
+ * dumpfile.h: Include "line-map.h". Add defines for MSG flags.
+ (struct dump_file_info): Move here from tree-dump.c. Rename flags
+ to pflags, state to pstate, stream to pstream, filename to
+ pfilename. All callers updated. Add alt_flags, alt_state,
+ alt_filenmae, alt_stream.
+ * tree-vectorizer.c: Include "dumpfile.h". Remove vect_dump.
+ (vect_set_dump_settings): Remove.
+ (vect_print_dump_info): Ditto.
+ * tree-vectorizer.h: Remove declaration of vect_dump and
+ vect_print_dump_info.
+ * tree-vect-loop.c: Include "dumpfile.h". Use new dump style.
+ * tree-vect-data-refs.c: Ditto.
+ * tree-vect-stmts.c: Ditto.
+ * tree-vect-slp.c: Ditto.
+ * tree-vect-patterns.c: Ditto.
+ * tree-vect-loop-manip.c: Ditto.
+ * opts.c (vect_set_verbosity_level): Remove.
+ (common_handle_option): Handle -fopt-info flag. Deprecate
+ -ftree-vectorizer-verbose.
+ * tree-parloops.c (gather_scalar_reductions): Remove reference to
+ vect_dump.
+ * flag-types.h: Remove vect_verbosity_levels.
+ * common.opt: Add -fopt-info. Deprecate -ftree-vectorizer-verbose.
+ * opts-global.c (dump_remap_tree_vectorizer_verbose): New function.
+ (handle_common_deferred_options): Handle -fopt-info and
+ -ftree-vectorizer-verbose.
+ * Makefile.in: Add dumpfile.o.
+ (tree-dump.o): Update dependencies.
+ (tree-vect-loop.o): Ditto.
+ (tree-vect-loop-manip.o): Ditto.
+ (tree-vect-slp.o): Ditto.
+ (tree-vect-stmts.o): Ditto.
+ (tree-vectorizer.o): Ditto.
+ (opts.o): Ditto.
+ * passes.c (finish_optimization_passes): Instead of using
+ dump_begin/dump_end, use dump_start/dump_finish. Do not use dump_file.
+ (pass_init_dump_file): Ditto.
+
+2012-09-30 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR rtl-optimization/38449:
+ * hooks.c (hook_bool_const_rtx_const_rtx_true): New function.
+ * hooks.h (hook_bool_const_rtx_const_rtx_true): Declare.
+ * target.def: Merge in definitions and documentation for
+ TARGET_CAN_FOLLOW_JUMP.
+ * doc/tm.texi.in: Add documentation locations for the above.
+ * doc/tm.texi: Regenerate.
+ * reorg.c (follow_jumps): New parameters jump and crossing.
+ Changed all callers.
+
+2012-09-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * reorg.c (relax_delay_slots): Use delay_insn consistently.
+
+ * config/sparc/sparc.c (gen_stack_pointer_dec): Delete.
+ (sparc_expand_epilogue): Use gen_stack_pointer_inc and adjust.
+ (sparc_flat_expand_epilogue): Likewise.
+ (emit_and_preserve): Likewise.
+ (sparc_fold_builtin): Fix thinko in latest change.
+
+2012-09-30 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/m68k/m68k.md: Add names to bitfield insert and extract
+ insns.
+ (*insv_8_16_reg): Remove constraints and conditions that assume
+ that operand 0 could be a MEM.
+ (*extzv_8_16_reg, *extv_8_16_reg): Likewise, for operand 1.
+
+2012-09-30 Jan Hubicka <jh@suse.cz>
+
+ * cfgloop.c (scale_loop_profile): Move to...
+ * cfgloopmanip.c (scale_loop_profile): .. here; use
+ scale_loop_frequencies.
+ (loopify): Use RDIV.
+
+2012-09-28 Jan Hubicka <jh@suse.cz>
+
+ * tree-call-cdce.c (shrink_wrap_one_built_in_call): Update profile.
+
+2012-09-28 Jan Hubicka <jh@suse.cz>
+
+ * function.c (dup_block_and_redirect): Update profile.
+
+2012-09-29 Andreas Tobler <andreast@fgznet.ch>
+
+ * config.gcc: Replace 'host' with 'target' when configuring for
+ powerpc64*-*-freebsd.
+
+2012-09-29 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree.c (truth_type_for): New function.
+ * tree.h (truth_type_for): Declare.
+ * gimple-fold.c (and_comparisons_1): Call it.
+ (or_comparisons_1): Likewise.
+ * tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
+ boolean_type_node for vectors.
+
+2012-09-28 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (RDIV): Define.
+ (EDGE_FREQUENCY): Simplify.
+ (check_probability, combine_probabilities, apply_probability,
+ inverse_probability): New.
+ * cfgloop.c (scale_loop_profile): New function.
+ * cfgloop.h (scale_loop_profile): Declare.
+ (slpeel_add_loop_guard): Add probability parameter.
+ (set_prologue_iterations): Add probability parameter.
+ (slpeel_tree_peel_loop_to_edge): Add bound1 and bound2 parameters;
+ update probabilities correctly.
+ (vect_do_peeling_for_alignment, vect_gen_niters_for_prolog_loop): New.
+
+2012-09-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/54688
+ * sched-deps.c (parse_add_or_inc): Remove MINUS handling. Take
+ STACK_GROWS_DOWNWARD into account.
+
+2012-09-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54716
+ * config/i386/predicates.md (nonimmediate_or_const_vector_operand):
+ New predicate.
+ * config/i386/i386.c (ix86_expand_vector_logical_operator): New
+ function.
+ * config/i386/i386-protos.h (ix86_expand_vector_logical_operator): New
+ prototype.
+ * config/i386/sse.md (<code><mode>3 VI logic): Use it.
+
+ PR tree-optimization/54713
+ * fold-const.c (vec_cst_ctor_to_array): Give up if vector CONSTRUCTOR
+ has vector elements.
+ (fold_ternary_loc) <case BIT_FIELD_REF>: Likewise.
+ * tree-vect-generic.c (vector_element): Don't rely on CONSTRUCTOR elts
+ indexes. Use BIT_FIELD_REF if CONSTRUCTOR has vector elements.
+ (lower_vec_perm): Use NULL_TREE CONSTRUCTOR indexes.
+
+2012-09-28 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (adjust_len): Add lpm.
+ (reload_in<mode>): Use avr_out_lpm for output. Use "lpm" for
+ adjust_len.
+ * config/avr/avr-protos.h (avr_out_lpm): New prototype.
+ * config/avr/avr.c (avr_out_lpm): Make global.
+ (adjust_insn_length): Handle ADJUST_LEN_LPM.
+
+2012-09-28 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47799
+ * lto-streamer-out.c (tree_is_indexable): Make PARM_DECLs global.
+ (lto_output_tree_ref): Handle references to them.
+ (output_function): Do not output function arguments again.
+ * lto-streamer-in.c (input_function): Do not input arguments
+ again, nor overwrite them.
+
+2012-09-28 Richard Guenther <rguenther@suse.de>
+
+ * cgraph.h (symtab_node_base): Re-order and pack fields.
+
+2012-09-28 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
+
+2012-09-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR rtl-optimization/52543
+ * config/avr/avr.c (avr_mode_dependent_address_p): Return true for
+ all non-generic address spaces.
+ (TARGET_SECONDARY_RELOAD): New hook define to...
+ (avr_secondary_reload): ...this new static function.
+ * config/avr/avr.md (reload_in<mode>): New insns.
+
+ Undo r185605 (mostly):
+ * config/avr/avr-protos.h (avr_load_lpm): Remove.
+ * config/avr/avr.c (avr_load_libgcc_p): Don't restrict to __flash
+ loads.
+ (avr_out_lpm): Also handle loads > 1 byte.
+ (avr_load_lpm): Remove.
+ (avr_find_unused_d_reg): New static function.
+ (avr_out_lpm_no_lpmx): New static function.
+ (adjust_insn_length): Remove ADJUST_LEN_LOAD_LPM.
+ * config/avr/avr.md (unspec): Remove UNSPEC_LPM.
+ (load_<mode>_libgcc): Use MEM instead of UNSPEC_LPM.
+ (load_<mode>, load_<mode>_clobber): Remove.
+ (mov<mode>): For multi-byte move from non-generic
+ 16-bit address spaces: Expand to *mov<mode> again.
+ (load<mode>_libgcc): New expander.
+ (split-lpmx): Remove split.
+
+2012-09-27 Dehao Chen <dehao@google.com>
+
+ * tree.h (tree_constructor): Remove IS_UNKNOWN_LOCATION.
+ (extern void protected_set_expr_location): Likewise.
+ (function_args_iter_next): Likewise.
+ (inlined_function_outer_scope_p): Likewise.
+ * input.h (IS_UNKNOWN_LOCATION): Likewise.
+ * fold-const.c (expr_location_or): Likewise.
+ * lto-cgraph.c (output_node_opt_summary): Likewise.
+ * dwarf2out.c (add_src_coords_attributes): Likewise.
+ * tree-eh.c (lower_try_finally_dup_block): Likewise.
+ * profile.c (branch_prob):
+ * cfgexpand.c (expand_gimple_cond): Likewise.
+ (expand_gimple_basic_block): Likewise.
+ (construct_exit_block): Likewise.
+ (gimple_expand_cfg): Likewise.
+ * cfgcleanup.c (try_forward_edges): Likewise.
+ * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
+ (dump_scope_block): Likewise.
+ * ipa-prop.c (ipa_write_jump_function): Likewise.
+ * rtl.h (extern void rtl_check_failed_flag): Likewise.
+ * gimple.h (gimple_set_location): Likewise.
+ (gimple_has_location): Likewise.
+ * cfgrtl.c (unique_locus_on_edge_between_p): Likewise.
+ (force_nonfallthru_and_redirect): Likewise.
+ (fixup_reorder_chain): Likewise.
+ (cfg_layout_merge_blocks): Likewise.
+
+2012-09-27 Meador Inge <meadori@codesourcery.com>
+
+ * gcc-ar.c (main): Handle the returning of the sub-process error
+ code correctly.
+
+2012-09-27 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * lower-subreg.c (enum classify_move_insn): Rename
+ SIMPLE_PSEUDO_REG_MOVE to DECOMPOSABLE_SIMPLE_MOVE.
+ (find_decomposable_subregs): Update.
+ (decompose_multiword_subregs): Add DECOMPOSE_COPIES parameter.
+ Only mark pseudo-to-pseudo copies as DECOMPOSABLE_SIMPLE_MOVE
+ if that parameter is true.
+ (rest_of_handle_lower_subreg): Call decompose_multiword_subregs
+ with DECOMPOSE_COPIES false.
+ (rest_of_handle_lower_subreg2): Call decompose_multiword_subregs
+ with DECOMPOSE_COPIES true.
+
+2012-09-27 Marek Polacek <polacek@redhat.com>
+
+ * doc/gcov.texi (Gcov Data Files): Fix a typo.
+
+2012-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54703
+ * simplify-rtx.c (simplify_binary_operation_1): Perform
+ (x - (x & y)) -> (x & ~y) optimization only for integral modes.
+
+2012-09-27 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c/53024
+ PR c++/54427
+ * doc/extend.texi (Vector Extensions): C++ improvements.
+ Power of 2 size requirement.
+
+2012-09-27 Richard Guenther <rguenther@suse.de>
+
+ PR lto/54709
+ * lto-symtab.c (resolution_guessed_p): Remove.
+ (set_resolution_guessed): Likewise.
+ (lto_symtab_register_decl): Remove assert.
+ (lto_symtab_resolve_symbols): Do not alter symbol resolutions
+ and return the prevailing symbol, checking for multiple prevailing
+ symbols here.
+ (lto_symtab_merge_decls_1): Use the result from
+ lto_symtab_resolve_symbols. Do not alter symbol resolutions.
+
+2012-09-26 Steve Ellcey <sellcey@mips.com>
+
+ PR web/54711
+ * doc/install.texi: Fix example.
+
+2012-09-26 Dehao Chen <dehao@google.com>
+
+ * tree-ssa-live.c (clear_unused_block_pointer): Use explicitit (void)
+ for function parameter.
+ (remove_unused_locals): Don't use LOCATION_BLOCK if it is NULL.
+
+2012-09-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * doc/extend.texi (bswap Builtins): Change signed types to unsigned
+ types.
+
+2012-09-26 Ian Lance Taylor <iant@google.com>
+
+ * diagnostic.c (bt_callback): Cast pc when calling fprintf.
+
2012-09-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/54674
* target.def (mode_dependent_address_p): Add addr_space_t parameter.
* targhooks.h (default_mode_dependent_address_p): Ditto.
* targhooks.c (default_mode_dependent_address_p): Ditto.
- * expr.c (convert_move): Pass address space to mode_dependent_address_p.
+ * expr.c (convert_move): Pass address space to
+ mode_dependent_address_p.
* combine.c (combine_simplify_rtx): Ditto.
(make_extraction): Ditto.
(simplify_shift_const_1): Ditto.
PR target/54641
* config/avr/t-avr: Use ALL_COMPILERFLAGS instead of ALL_CFLAGS
for sources compiled with COMPILER.
-
+
2012-09-25 Richard Guenther <rguenther@suse.de>
PR lto/54625
* lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Do not merge
cgraph nodes for builtins.
-2012-09-25 Dehao Chen <dehao@google.com>
-
- PR middle-end/54645
- * c-family/c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
- map when read in the pch.
-
2012-09-25 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/54676
one bit precision properly.
PR other/54692
- * configure.ac (CFLAGS, CXXFLAGS): Remove -Ofast or -Og
- properly.
+ * configure.ac (CFLAGS, CXXFLAGS): Remove -Ofast or -Og properly.
* configure: Regenerated.
2012-09-25 Georg-Johann Lay <avr@gjlay.de>
2012-09-24 Dehao Chen <dehao@google.com>
- * tree-cfg.c (move_stmt_op): Reset the expr block only
- when necessary.
+ * tree-cfg.c (move_stmt_op): Reset the expr block only when necessary.
(move_block_to_fn): Reset the edge's goto block even
when the goto locus is unknown.
2012-09-24 Janis Johnson <janisjo@codesourcery.com>
- doc/sourcebuild.texi (Selectors): Document the use of target
+ * doc/sourcebuild.texi (Selectors): Document the use of target
and xfail used together.
2012-09-24 Richard Guenther <rguenther@suse.de>
* optabs.c (prepare_cmp_insn): Expand comparison of the result
of memcmp through generic comparison expansion code.
+2012-09-21 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/moxie.opt: Add -mno-crt0 option.
+ * config/moxie/moxie.h (STARTFILE_SPEC): Handle -mno-crt0 option.
+ * doc/invoke.texi (Option Summary): Document -mno-crt0 option.
+
2012-09-21 Jack Howarth <howarth@bromo.med.uc.edu>
PR bootstrap/54642
(inline_read_section): Stream in loop_iterations.
(inline_write_summary): Stream out loop_iterations.
-2012-08-20 Florian Weimer <fweimer@redhat.com>
-
- PR c++/19351
- * call.c (build_operator_new_call): Add size_check argument and
- evaluate it.
- * cp-tree.h (build_operator_new_call): Adjust declaration.
- * init.c (build_new_1): Compute array size check and apply it.
-
2012-08-20 Oleg Endo <olegendo@gcc.gnu.org>
PR target/54089
2012-08-17 Nick Clifton <nickc@redhat.com>
- * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
+ * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
(branch_true): Likewise.
(branch_false): Likewise.
* config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
(GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define.
(GLIBC_DYNAMIC_LINKER_DEFAULT): Define.
- (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
+ (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
2012-04-25 Sriraman Tallam <tmsriram@google.com>