re PR middle-end/64568 (error: invalid reference prefix)
[platform/upstream/gcc.git] / gcc / ChangeLog
index 812f980..a3126a7 100644 (file)
+2014-01-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/64568
+       * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
+       release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
+
+2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
+       TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
+
+2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
+       target-specific symbol_ref flag.
+       (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
+       resides in rodata section.
+       * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
+       (nds32_encode_section_info): New function.
+
+2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config/nds32/nds32.md (call): Use pseudo instruction bal which
+       clobbers TA_REGNUM if large code model is specified.
+       (call_register): Likewise.
+       (call_immediate): Likewise.
+       (call_value): Likewise.
+       (call_value_register): Likewise.
+       (call_value_immediate): Likewise.
+
+2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
+       (TARGET_CMODEL_MEDIUM): New macro.
+       (TARGET_CMODEL_LARGE): New macro.
+       * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
+       code model setting in assembly code.
+
+2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
+       Remove MASK_GP_DIRECT flag.
+       * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
+       one of the multilib default options.
+       * config/nds32/nds32.opt (mgp-direct): Remove.
+       * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
+       -mgp-direct.  We also remove unnecessary -mlittle-endian/-mbig-endian.
+
+2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config/nds32/nds32.opt (mcmodel): Add new option.
+       * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
+       to describe code model.
+
+2015-01-13  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/64479
+       * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
+
+2015-01-12  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
+       (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
+       (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
+       (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
+       __builtin_sh_set_fpscr.
+
+2015-01-12  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
+       after a funtion name just to indicate it is a function.
+       ([-fsanitize-undefined-trap-on-error]): Likewise.
+       ([-fdbg-cnt=]): Likewise.
+       ([-mmemcpy]): Likewise.
+       ([-mflush-func]): Likewise.
+       ([-msynci]): Likewise.
+
+2015-01-12  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
+       example.
+       
+2015-01-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/64563
+       * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
+       instead of != VR_VARYING.
+
+       PR target/64513
+       * config/i386/i386.c (ix86_expand_prologue): Add
+       REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
+
+       PR tree-optimization/64454
+       * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
+       op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
+       for signed or [0, op1 - 1] for unsigned modulo.
+       (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
+       even if op1 does not satisfy integer_pow2p.
+
+       PR other/64370
+       * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
+
+2015-01-12  Jeff Law  <law@redhat.com>
+
+       PR target/64461
+       * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
+       (trunchiqi2, truncsihi2): Similarly.
+
+       * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
+       rather than calling F.
+
+2015-01-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * tsan.c (instrument_expr): Use force_gimple_operand.
+       Use may_be_nonaddressable_p instead of is_gimple_addressable.
+
+2015-01-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/64530
+       * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
+       back dr1.
+
+2015-01-12  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/64357
+       * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
+       latches properly.
+
+2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
+       Cortex-A17 tuning parameters.
+       * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
+
+2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
+       * config/arm/arm.c (arm_macro_fusion_p): New function.
+       (arm_macro_fusion_pair_p): Likewise.
+       (TARGET_SCHED_MACRO_FUSION_P): Define.
+       (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
+       (ARM_FUSE_NOTHING): Likewise.
+       (ARM_FUSE_MOVW_MOVT): Likewise.
+       (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
+       arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
+       arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
+       arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
+       arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
+       arm_cortex_a5_tune): Specify fuseable_ops value.
+
+2015-01-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/64561
+       * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
+       test for PIE with copy reloc.
+       * configure: Regenerated.
+
+2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
+       in gen_rtx_REG.
+       (arm_tls_descseq_addr): Likewise.
+       (arm_gen_movmemqi): Likewise.
+       (arm_expand_epilogue_apcs_frame): Likewise.
+       (arm_expand_epilogue): Likewise.
+       (arm_expand_prologue): Likewise.  Use R1_REGNUM instead of constant 1
+       in gen_rtx_REG.
+
+2015-01-12  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/64550
+       * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
+       volatility for correct operands.
+
+2015-01-12  Martin Liska  <mliska@suse.cz>
+
+       * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
+       that a function is not leaf.
+       (sem_function::compare_polymorphic_p): Likewise.
+
+2015-01-12  Martin Liska  <mliska@suse.cz>
+
+       * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
+       that a function is not leaf.
+       (sem_function::compare_polymorphic_p): Likewise.
+
+2015-01-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+       * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
+       machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
+       fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
+       fold-const.h, tree-check.h.
+
+2015-01-12  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/63967
+       PR ipa/64425
+       * ipa-inline.c (compute_uninlined_call_time,
+       compute_inlined_call_time): Use counts for extra precision when
+       needed possible.
+       (big_speedup_p): Fix formating.
+       (RELATIVE_TIME_BENEFIT_RANGE): Remove.
+       (relative_time_benefit): Remove.
+       (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
+       merge guessed and read profile paths.
+       (inline_small_functions): Count only !optimize_size functions into
+       initial size; be more lax about sanity check when profile is used;
+       be sure to update inlined function profile when profile is read.
+
+2015-01-12  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/63470
+       * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
+       cost when edge becomes direct.
+       * ipa-prop.c (make_edge_direct): Do not adjust when speculation
+       is resolved or when introducing new speculation.
+
+2015-01-12  Chen Gang  <gang.chen.5i5j@gmail.com>
+
+       PR ipa/64551
+       PR ipa/64552
+       * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
+       '||' to fix typo issue.
+
+       * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
+       accept and return NULL.
+
+2015-01-12  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_edge::remove_callee): Move function to header
+       file for being inlined.
+       (cgraph_set_edge_callee): Delete.
+       (cgraph_edge::redirect_callee): Move function to header file
+       for being inlined.
+       (cgraph_edge::make_direct): Use new function.
+       (cgraph_edge::dump_edge_flags): New function created from
+       static dump_edge_flags function.
+       (cgraph_node::dump): Use new function.
+       (cgraph_edge::verify_count_and_frequency): New function created
+       from verify_edge_count_and_frequency.
+       (cgraph_edge::verify_corresponds_to_fndecl): New function created
+       from verify_edge_corresponds_to_fndecl.
+       (verify_edge_corresponds_to_fndecl): Delete.
+       (cgraph_node::verify_node): Use new function.
+       * cgraph.h (cgraph_edge::set_callee): New function.
+       (cgraph_edge::dump_edge_flags): Likewise.
+       (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
+
+2015-01-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-utils.c (estimate_function_body_sizes): Do not
+       free node params when called late with early=true.
+
+2015-01-11  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * doc/md.texi (Instruction Patterns): Rewrite text for
+       clarity.
+       (Example): Likewise.
+
+2015-01-10  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi (Option Summary): Break long lines.
+       [(-fdiagnostics-color)]: Put long literal in @smallexample
+       instead of inline.
+       [(-fsanitize-recover)]: Likewise.
+       [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
+       [(-ffast-math)]: Likewise.
+       [(--param max-inline-insns-recursive)]: Likewise.
+       [(--param max-inline-recursive-depth)]: Likewise.
+       [(-mno-text-section-literals)]: Likewise.
+       
+2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * doc/install.texi: Update for libgomp being renamed from "GNU
+       OpenMP Runtime Library" to "GNU Offloading and Multi Processing
+       Runtime Library".
+       * doc/sourcebuild.texi: Likewise.
+
+2015-01-10  Anthony Green  <green@moxielogic.com>
+
+       * config/moxie/moxie.c (moxie_option_override): Fix forcing of
+       mul.x availability for moxiebox configuration.
+
+2015-01-09  Anthony Green  <green@moxielogic.com>
+
+       * config/moxie/moxie.md: Tabify assembly output.
+
+2015-01-09  Anthony Green  <green@moxielogic.com>
+
+       * config/moxie/moxie.md (CC_REG): Correct register definition.
+
+2015-01-09  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
+       ([-fvtv-debug], [-fvtv-counts]): Likewise.  Correct location
+       of log files.
+
+2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
+
+       * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
+
+2015-01-09  Bernd Schmidt  <bernds@codesourcery.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/64412
+       * lto-streamer.h (lto_stream_offload_p): New declaration.
+       * lto-streamer.c (lto_stream_offload_p): New variable.
+       * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
+       at the same time as section_name_prefix.
+       * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
+       if lto_stream_offload_p.
+       * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
+       stream TREE_TARGET_OPTION if lto_stream_offload_p.
+       (write_ts_function_decl_tree_pointers): Don't
+       stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
+       * tree-streamer-in.c (unpack_value_fields): Don't stream
+       TREE_TARGET_OPTION in if ACCEL_COMPILER.
+       (lto_input_ts_function_decl_tree_pointers): Don't stream
+       DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
+       * lto-opts.c (lto_write_options): Use lto_stream_offload_p
+       instead of section_name_prefix string comparisons.
+
+2015-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/64536
+       * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
+       tablejumps.
+
+2015-01-09  Michael Collison  <michael.collison@linaro.org>
+
+       * genattrtab.c (write_header): Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h when generating
+       insn-attrtab.c.
+       * genautomata.c (main) : Include hash-set.h, macInclude hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h when generating
+       insn-automata.c.
+       * genemit.c (main): Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h when generating
+       insn-emit.c.
+       * gengtype.c (open_base_files): Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h when generating
+       gtype-desc.c.
+       * genopinit.c (main): Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h when generating
+       insn-opinit.c.
+       * genoutput.c (output_prologue): Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h when generating
+       insn-output.c.
+       * genpeep.c (main): Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h when generating
+       insn-peep.c.
+       * genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h when generating
+       insn-preds.c.
+       * optc-save-gen-awk: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h when generating
+       options-save.c.
+       * opth-gen.awk: Change include guard from GCC_C_COMMON_H to GCC_C_COMMON_C
+       when generating options.h.
+       * alias.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * asan.c: Ditto.
+       * attribs.c: Ditto.
+       * auto-inc-dec.c: Ditto.
+       * auto-profile.c: Ditto
+       * bb-reorder.c: Ditto.
+       * bt-load.c: Include symtab.h due to flattening of tree.h.
+       * builtins.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * calls.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * ccmp.c: Ditto.
+       * cfgbuild.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
+       * cfg.c: Ditto.
+       * cfgcleanup.c: Ditto.
+       * cfgexpand.c: Ditto.
+       * cfghooks.c: Ditto.
+       * cfgloop.c: Include symtab.h, fold-const.h, and
+       inchash.h due to flattening of tree.h.
+       * cfgloopmanip.c: Ditto.
+       * cfgrtl.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * cgraphbuild.c: Ditto.
+       * cgraph.c: Ditto.
+       * cgraphclones.c: Ditto.
+       * cgraphunit.c: Ditto.
+       * cilk-common.c: Ditto.
+       * combine.c: Ditto.
+       * combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
+       * config/aarch64/aarch64-builtins.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * config/aarch64/aarch64.c: Ditto.
+       * config/alpha/alpha.c: Ditto.
+       * config/arc/arc.c: Ditto.
+       * config/arm/aarch-common.c: Ditto.
+       * config/arm/arm-builtins.c: Ditto.
+       * config/arm/arm.c: Ditto.
+       * config/arm/arm-c.c: Ditto.
+       * config/avr/avr.c: Ditto.
+       * config/avr/avr-c.c: Ditto.
+       * config/avr/avr-log.c: Ditto.
+       * config/bfin/bfin.c: Ditto.
+       * config/c6x/c6x.c: Ditto.
+       * config/cr16/cr16.c: Ditto.
+       * config/cris/cris.c: Ditto.
+       * config/darwin.c: Ditto.
+       * config/darwin-c.c: Ditto.
+       * config/default-c.c: Ditto.
+       * config/epiphany/epiphany.c: Ditto.
+       * config/fr30/fr30.c: Ditto.
+       * config/frv/frv.c: Ditto.
+       * config/glibc-c.c: Ditto.
+       * config/h8300/h8300.c: Ditto.
+       * config/i386/i386.c: Ditto.
+       * config/i386/i386-c.c: Ditto.
+       * config/i386/msformat.c: Ditto.
+       * config/i386/winnt.c: Ditto.
+       * config/i386/winnt-cxx.c: Ditto.
+       * config/i386/winnt-stubs.c: Ditto.
+       * config/ia64/ia64.c: Ditto.
+       * config/ia64/ia64-c.c: Ditto.
+       * config/iq2000/iq2000.c: Ditto.
+       * config/lm32/lm32.c: Include symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * config/m32c/m32c.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * config/m32c/m32c-pragma.c: Ditto.
+       * config/m32c/m32cr.c: Ditto.
+       * config/m68/m68k.c: Ditto.
+       * config/mcore/mcore.c: Ditto.
+       * config/mep/mep.c: Ditto.
+       * config/mep/mep-pragma.c: Ditto.
+       * config/microblaze/microblaze.c: Ditto.
+       * config/microblaze/microblaze-c.c: Ditto.
+       * config/mips/mips.c: Ditto.
+       * config/mmix/mmix.c: Include symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * config/moxie/moxie.c: Ditto.
+       * config/msp430/msp430.c: Ditto.
+       * config/msp430/msp430-c.c: Ditto.
+       * config/nds32/nds32.c: Ditto.
+       * config/nds32/nds32-cost.c: Ditto.
+       * config/nds32/nds32-fp-as-gp.c: Ditto.
+       * config/nds32/nds32-intrinsic.c: Ditto.
+       * config/nds32/nds32-isr.c: Ditto.
+       * config/nds32/nds32-md-auxillary.c: Ditto.
+       * config/nds32/nds32-memory-manipulationx.c: Ditto.
+       * config/nds32/nds32-pipelines-auxillary.c: Ditto.
+       * config/nds32/nds32-predicates.c: Ditto.
+       * config/nios2/nios2.c: Ditto.
+       * config/nvptx/nvptx.c: Ditto.
+       * config/pa/pa.c: Ditto.
+       * config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * config/rl78/rl78.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * config/rl78/rl78-cx.c: Ditto.
+       * config/rs6000/rs6000.c: Ditto.
+       * config/rs6000/rs6000-c.c: Ditto.
+       * config/rx/rx.c: Ditto.
+       * config/s390/s390.c: Ditto.
+       * config/sh/sh.c: Ditto.
+       * config/sh/sc.c: Ditto.
+       * config/sh/sh-mem.cc: Ditto.
+       * config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
+       due to flattening of tree.h.
+       Remove include of tree-core.h.
+       * config/sol2.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * config/sol2-c.c: Ditto.
+       * config/sol2-cxx.c: Ditto.
+       * config/sol2-stubs.c: Ditto.
+       * config/sparc/sparc.c: Ditto.
+       * config/sparc/sparc-cx.c: Ditto.
+       * config/spu/spu.c: Ditto.
+       * config/spu/spu-c.c: Ditto
+       * config/storym16/stormy16.c: Ditto.
+       * config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
+       * config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * config/v850/v850.c: Ditto.
+       * config/v850/v850-c.c: Ditto.
+       * config/vax/vax.c: Ditto.
+       * config/vms/vms.c: Ditto.
+       * config/vms/vms-c.c: Ditto.
+       * config/vxworks.c: Ditto.
+       * config/winnt-c.c: Ditto.
+       * config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * coverage.c: Ditto.
+       * cppbuiltin.c: Ditto.
+       * cprop.c: Ditto.
+       * cse.c: Add include of symtab.h due to flattening of tree.h.
+       * cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * data-streamer.c: Ditto.
+       * data-streamer-in.c: Ditto.
+       * data-streamer-out.c: Ditto.
+       * dbxout.c: Ditto.
+       * dce.c: Ditto.
+       * ddg.c: Add include of symtab.h due to flattening of tree.h.
+       * debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * dfp.c: Ditto.
+       * df-scan.c: Ditto.
+       * dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h, inchash.h and real.h due to flattening of tree.h.
+       * double-int.c: Ditto.
+       * dse.c: Ditto.
+       * dumpfile.c: Ditto.
+       * dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, inchash.h and real.h due to flattening of tree.h.
+       * dwarf2cfi.c: Ditto.
+       * dwarf2out.c: Ditto.
+       * emit-rtl.c: Ditto.
+       * except.c: Ditto.
+       * explow.c: Ditto.
+       * expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * expr.c: Ditto.
+       * final.c: Ditto.
+       * fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
+       * fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       Relocate inline function convert_to_ptrofftype_loc from tree.h.
+       Relocate inline function fold_build_pointer_plus_loc from tree.h.
+       Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
+       * fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
+       Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
+       Relocate macro fold_build_pointer_plus_hwi from tree.h.
+       Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
+       Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
+       Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
+       * function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * gcc-plugin.h: Include statistics.h, double-int.h, real.h, fixed-value.h,
+       alias.h, flags.h, and symtab.h due to flattening of tree.h
+       * gcse.c: Ditto.
+       * generic-match-head.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ggc-page.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * gimple-builder.c: Ditto.
+       * gimple.c: Ditto.
+       * gimple-expr.c: Ditto.
+       * gimple-fold.c: Ditto.
+       * gimple-iterator.c: Ditto.
+       * gimple-low.c: Ditto.
+       * gimple-match-head.c: Ditto.
+       * gimple-pretty-print.c: Ditto.
+       * generic-ssa-isolate-paths.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * gimple-ssa-strength-reduction.c: Ditto.
+       * gimple-streamer-in.c: Ditto.
+       * gimple-streamer-out.c: Ditto.
+       * gimple-walk.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * gimplify-me.c: Ditto.
+       * graphite-blocking.c: Ditto.
+       * graphite.c: Ditto.
+       * graphite-dependencies.c: Ditto.
+       * graphite-interchange.c: Ditto.
+       * graphite-isl-ast-to-gimple.c: Ditto.
+       * graphite-optimize-isl.c: Ditto.
+       * graphite-poly.c: Ditto.
+       * graphite-scop-detection.c: Ditto.
+       * graphite-sese-to-poly.c: Ditto.
+       * hw-doloop.c: Include symtab.h due to flattening of tree.h.
+       * ifcvt.c: Ditto.
+       * init-regs.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h,options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ipa.c: Ditto.
+       * ipa-chkp.c: Ditto.
+       * ipa-comdats.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h,options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ipa-devirt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h,options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ipa-icf-gimple.c: Ditto.
+       * ipa-inline-analysis.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ipa-inline.c: Ditto.
+       * ipa-inline-transform.c: Ditto.
+       * ipa-polymorhpic-call.c: Ditto.
+       * ipa-profile.c: Ditto.
+       * ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ipa-reference.c: Ditto.
+       * ipa-split.c: Ditto.
+       * ipa-utils.c: Ditto.
+       * ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * ira.c: Ditto.
+       * ira-color.c: Include hash-set.h due to flattening of tree.h.
+       * ira-costs.c: Ditto.
+       * ira-emit.c: Ditto.
+       * jump.c: Include symtab.h due to flattening of tree.h.
+       * langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * loop-doloop.c: Include symtab.h due to flattening of tree.h.
+       * loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * loop-invariant.c: Include symtab.h due to flattening of tree.h.
+       * loop-iv.c: Ditto.
+       * loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * lower-subreg.c: Ditto.
+       * lra-assigns.c: Include symtab.h due to flattening of tree.h.
+       * lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * lra-coalesce.c: Include symtab.h due to flattening of tree.h.
+       * lra-constraints.c: Ditto.
+       * lra-eliminations.c: Ditto.
+       * lra-livesc: Ditto.
+       * lra-remat.c: Ditto.
+       * lra-spills.c: Ditto.
+       * lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * lto-opts.c: Ditto.
+       * lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * lto-section-out.c: Ditto.
+       * lto-streamer.c: Ditto.
+       * lto-streamer-in.c: Ditto.
+       * lto-streamer-out.c: Ditto.
+       * modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * omega.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options, fold-const.h,
+       wide-int.h, and inchash.h due to flattening of tree.h.
+       * omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * optabs.c: Ditto.
+       * opts-global.c: Ditto.
+       * passes.c: Ditto.
+       * plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * postreload.c: Include symtab.h due to flattening of tree.h.
+       * postreload-gcse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * predict.c: Ditto.
+       * print-rtl.c: Ditto.
+       * print-tree.c: Ditto.
+       * profile.c: Include symtab.h, fold-const.h
+       and inchash.h due to flattening of tree.h.
+       * real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * ree.c: Ditto.
+       * reginfo.c: Ditto.
+       * reg-stack.c: Ditto.
+       * reload1.c: Include symtab.h, fold-const.h, wide-int.h
+       and inchash.h due to flattening of tree.h.
+       * reload.c: Include symtab.h due to flattening of tree.h.
+       * reorg.c: Ditto.
+       * rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
+       and inchash.h due to flattening of tree.h.
+       * rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * rtlhooks.c: Include symtab.h due to flattening of tree.h.
+       * sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * sched-vis.c: Ditto.
+       * sdbout.c: Ditto.
+       * sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
+       and inchash.h due to flattening of tree.h.
+       * sel-sched-ir.c: Ditto.
+       * sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * stack-ptr-mod.c: Ditto.
+       * stmt.c: Ditto.
+       * store-motion.c: Ditto.
+       * store-layout.c: Ditto.
+       * stringpool.c: Ditto.
+       * symtab.c: Ditto.
+       * target-globals.c: Ditto.
+       * targhooks.c: Ditto.
+       * toplev.c: Ditto.
+       * tracer.c: Ditto.
+       * trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * tree-affine.c: Ditto.
+       * tree-browser.c: Ditto.
+       * tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
+       fold-const.h, wide-int.h, inchash.h and real.h due to
+       flattening of tree.h.
+       * tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * tree-cfgcleanup.c: Ditto.
+       * tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * tree-chkp-opt.c: Ditto.
+       * tree-chrec.c: Ditto.
+       * tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
+       real.h due to flattening of tree.h.
+       * tree-core.h: Flatten header file by removing all #include statements.
+       * tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
+       real.h due to flattening of tree.h.
+       * tree-diagnostic.c: Ditto.
+       * tree-dump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
+       fixed-value.h due to flattening of tree.h.
+       * tree-dfa.c: Ditto.
+       * tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
+       real.h due to flattening of tree.h.
+       * tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * tree.h: Flatten header files by removing all includes except tree-core.h.
+       Remove inline function convert_to_ptrofftype_loc to relocate to fold-const.c.
+       Remove macro convert_to_ptrofftype to relocate to fold-const.h.
+       Remove inline function fold_build_pointer_plus_loc to relocate to fold-const.c.
+       Remove macro fold_build_pointer_plus to relocate to fold-const.h.
+       Remove inline function fold_build_pointer_plus_hwi_loc to relocate to fold-const.c.
+       Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
+       * tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
+       fixed-value.h due to flattening of tree.h.
+       * tree-inline.c: Ditto.
+       * tree-into-ssa.c: Ditto.
+       * tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * tree-loop-distribution.c: Ditto.
+       * tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * tree-nrv.c: Ditto.
+       * tree-object-size.c: Ditto.
+       * tree-outof-ssa.c: Ditto.
+       * tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * tree-phinodes.c: Ditto.
+       * tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * tree-pretty-print.c: Ditto.
+       * tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
+       fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
+       * tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
+       double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h and inchash.h due to flattening of tree.h.
+       * tree-sra.c: Include  vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
+       inchash.h due to flattening of tree.h.
+       * tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * tree-ssa.c: Ditto.
+       * tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
+       and real.h due to flattening of tree.h.
+       * tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * tree-ssa-copy.c: Ditto.
+       * tree-ssa-copyrename.c: Ditto.
+       * tree-ssa-dce.c: Ditto.
+       * tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
+       and real.h due to flattening of tree.h.
+       * tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * tree-ssa-forwprop.c: Ditto.
+       * tree-ssa-ifcombine.c: Ditto.
+       * tree-ssa-live.c: Ditto.
+       * tree-ssa-loop.c: Ditto.
+       * tree-ssa-loop-ch.c: Ditto.
+       * tree-ssa-loop-im.c: Ditto.
+       * tree-ssa-loop-ivcanon.c: Ditto.
+       * tree-ssa-loop-ivopts.c: Ditto.
+       * tree-ssa-loop-manip.c: Ditto.
+       * tree-ssa-loop-niter.c: Ditto.
+       * tree-ssa-loop-prefetch.c: Ditto.
+       * tree-ssa-loop-unswitch.c: Ditto.
+       * tree-ssa-loop-math-opts.c: Ditto.
+       * tree-ssanames.c: Ditto.
+       * tree-ssa-operands.c: Ditto.
+       * tree-ssa-phiopt.c: Ditto.
+       * tree-ssa-phiprop.c: Ditto.
+       * tree-ssa-pre.c: Ditto.
+       * tree-ssa-propagate.c: Ditto.
+       * tree-ssa-reassoc.c: Ditto.
+       * tree-ssa-sccvn.c: Ditto.
+       * tree-ssa-sink.c: Ditto.
+       * tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
+       double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h and inchash.h due to flattening of tree.h.
+       * tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
+       fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
+       * tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
+       double-int.h, input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h and inchash.h due to flattening of tree.h.
+       * tree-ssa-ter.c: Ditto.
+       * tree-ssa-threadedge.c: Ditto.
+       * tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
+       double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h and inchash.h due to flattening of tree.h.
+       * tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
+       double-int.h, input.h, alias.h, symtab.h, fold-const.h,
+       wide-int.h and inchash.h due to flattening of tree.h.
+       * tree-ssa-uninit.c: Ditto.
+       * tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
+       symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
+       of tree.h.
+       * tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
+       symtab.h, options.h, fold-const.h, wide-int.h and
+       inchash.h due to flattening of tree.h.
+       * tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
+       double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
+       wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
+       of tree.h.
+       * tree-streamer-out.c: Dittoo.
+       * tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * tree-tailcall.c: Ditto.
+       * tree-vect-data-refs.c: Ditto.
+       * tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h, double-int.h, input.h,
+       alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * tree-vect-loop-manip.c: Ditto.
+       * tree-vectorizer.c: Ditto.
+       * tree-vect-patterns.c: Ditto.
+       * tree-vect-slp.c: Ditto.
+       * tree-vect-stmts.c: Ditto.
+       * tree-vrp.c: Ditto.
+       * tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * ubsan.c: Ditto.
+       * value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * varasm.c: Ditto.
+       * varpool.c: Ditto.
+       * var-tracking.c: Ditto.
+       * vmsdbgout.c: Ditto.
+       * vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
+       input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
+       due to flattening of tree.h.
+       * xcoffout.c: Ditto.
+
+2015-01-09  Tom de Vries  <tom@codesourcery.com>
+
+       PR rtl-optimization/64539
+       * regcprop.c (kill_clobbered_values): Factor out of ...
+       (copyprop_hardreg_forward_1): ... here.  Use kill_clobbered_values
+       instead of note_stores with kill_clobbered_value.
+
+2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
+
+        * ginclude/unwind-arm-common.h: Revert previous commit.
+
+2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
+
+       * config.gcc (arm*-*-freebsd*): New configuration.
+       * config/arm/freebsd.h: New file.
+       * config.host: Add extra components for arm*-*-freebsd*.
+       * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
+       * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
+
+2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
+       for -mcpu=e6500.
+       * config/rs6000/t-rtems: Add e6500 multilibs.
+
+2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
+       MPC8540.
+
+2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
+       MULTILIB_EXCEPTIONS.
+
+2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
+       MULTILIB_EXCEPTIONS.
+
+2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config/arm/t-rtems-eabi: Rename to...
+       * config/arm/t-rtems: ...this.
+       * config/arm/rtems-eabi.h: Rename to...
+       * config/arm/rtems.h: ...this.
+       * config.gcc (arm*-*-rtems*): Reflect changes above.
+
+2015-01-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/64410
+       * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
+       on the LHS.
+       (execute_update_addresses_taken): Deal with that.
+       * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
+       loads/stores for complex variables.
+
+2015-01-09  Martin Liska  <mliska@suse.cz>
+
+       * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
+       name comparison.
+       (func_checker::compare_memory_operand): New function.
+       (func_checker::compare_operand): Split case to newly
+       added functions.
+       (func_checker::compare_cst_or_decl): New function.
+       (func_checker::compare_gimple_call): Identify
+       memory operands.
+       (func_checker::compare_gimple_assign): Likewise.
+       * ipa-icf-gimple.h: New function.
+
+2015-01-09  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/64503
+       * sreal.c (sreal::dump): Change unsigned format to signed for
+       m_exp value.
+       (sreal::to_double): Replace exp2 with scalbln.
+
+2015-01-09  Martin Liska  <mliska@suse.cz>
+
+       * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
+       * ipa-icf.c (sem_function::equals_private): Add support for target and
+       (sem_item_optimizer::merge_classes): Remove redundant function
+       optimization flags comparison.
+       * tree.h (target_opts_for_fn): New function.
+
+2015-01-09  Tom de Vries  <tom@codesourcery.com>
+
+       * omp-low.c (expand_omp_for_static_chunk): Fix assert.
+
+2015-01-09  Kito Cheng  <kito@0xlab.org>
+
+       PR rtl-optimization/64348
+       * lra-constraints.c (split_reg): Fix caller-save store/restore
+       instruction generation.
+
+2015-01-08  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR gcov-profile/61790
+       * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
+       long long.  Fallback to int64_t if host doesn't have long long and
+       use strtol if int64_t is long.  Otherwise, use sscanf for conversion.
+
+2015-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/63989
+       * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
+       from 1000 to 10000.
+       * tree-ssa-strlen.c (get_strinfo): Moved earlier.
+       (get_stridx): If we don't have a record for certain SSA_NAME,
+       but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
+       constant offset, call get_stridx_plus_constant.
+       (get_stridx_plus_constant): New function.
+       (zero_length_string): Don't use get_stridx here.
+
+       PR target/55023
+       PR middle-end/64388
+       * dse.c (struct insn_info): Mention frame_read set also
+       before reload for tail calls on some targets.
+       (scan_insn): Revert 2014-12-22 change.  Set frame_read
+       also before reload for tail calls if
+       HARD_FRAME_POINTER_IS_ARG_POINTER.  Call add_wild_read
+       instead of add_non_frame_wild_read for non-const/memset
+       tail calls after reload.
+
+2015-01-08  Jason Merrill  <jason@redhat.com>
+
+       * ubsan.c (do_ubsan_in_current_function): New.
+       (pass_ubsan::gate): Use it.
+       * ubsan.h: Declare it.
+       * convert.c (convert_to_integer): Use it.
+
+2015-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/64338
+       * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
+       compare_code when it is unconditionally overwritten afterwards.
+       Use ix86_reverse_condition instead of reverse_condition.  Don't
+       change code if *reverse_condition* returned UNKNOWN and don't
+       swap ct/cf and negate diff in that case.
+
+2015-01-08  Mike Stump  <mikestump@comcast.net>
+
+       * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
+       (pass_tsan_O0::gate): Likewise.
+       * extend.texi (Function Attributes): Add no_sanitize_thread
+       documentation.
+
+2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
+       for registering builtins.
+       * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
+       add -fopenmp to the argv_obstack used when invoking
+       compile_for_target.
+
+       * config/i386/intelmic-mkoffload.c (compile_for_target): Always
+       add "-m32" or "-m64" to argv_obstack.
+       (generate_host_descr_file): Likewise, when invoking host_compiler.
+       (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
+       ld.
+
+2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       * config/sh/sh-mem.cc: Use constant as second operand when emitting
+       tstsi_t insns.
+
+2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/55212
+       * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
+       constant load if constant operand fits into I08.
+
+2015-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/64336
+       * tree.c (build2_stat): Fix up initialization of TREE_READONLY
+       and TREE_THIS_VOLATILE for MEM_REFs.
+       (build5_stat): Fix up initialization of TREE_READONLY and
+       TREE_THIS_VOLATILE for TARGET_MEM_REFs.
+
+2015-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/64533
+       * config/sh/sh.md (*addsi3_compact): Use u constraint instead
+       of r for the second alternative of the destination operand.
+
+2015-01-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/36557
+       * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
+
+2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
+       keywords.
+       ([-fivar-visibility], [-fvisibility]): Likewise.
+
+2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
+       the file where @code, @command, etc is more appropriate.
+
+2015-01-06  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
+       of -mrecip= documentation.
+
+2015-01-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/64505
+       * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
+       correct reload handler if -m32 -mpowerpc64 is used.
+
+2015-01-06  Tom de Vries  <tom@codesourcery.com>
+
+       * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
+
+2015-01-08  Christian Bruel  <christian.bruel@st.com>
+
+       PR target/64507
+       * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
+
+2015-01-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       PR tree-optimization/63259
+       * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
+       if optab exists for 16bit byteswap.
+
+2015-01-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * opts.c (common_handle_option): Add support for
+       -fno-sanitize=all and -f{,no-}sanitize-recover=all.
+       * doc/invoke.texi: Document -fno-sanitize=all,
+       -f{,no-}sanitize-recover=all.  Document that
+       -fsanitize=float-cast-overflow is not enabled
+       by -fsanitize=undefined.  Fix up documentation
+       of -f{,no-}sanitize-recover.
+
 2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
 
        * config.gcc: Add Visium support.