1. 15 Jan, 2015 37 commits
    • Make test2/test1 static in libitm.c/stackundo.c · 3a07b160
      libitm.c/stackundo.c fails with -fpic since test1 and test2 may be
      preempted with -fpic.  This patch makes those 2 functions static.
      
      	PR libitm/64360
      	* libitm.c/stackundo.c (test2): Make it static.
      	(test1): Likewise.
      
      From-SVN: r219673
      H.J. Lu committed
    • Fix for PR64068 and PR64559. · c23127ce
      	* g++.dg/ipa/pr64068.C: New test.
      	* gcc.dg/ipa/PR64559.c: New test.
      	PR ipa/64068
      	PR ipa/64559
      	* ipa.c (symbol_table::remove_unreachable_nodes):
      	Do not put abstract origins into boundary.
      
      From-SVN: r219672
      Martin Liska committed
    • gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage. · 40d54d24
      2015-01-15  Evgeny Stupachenko  <evstupac@gmail.com>
      
      	* config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
      	* config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
      
      From-SVN: r219671
      Evgeny Stupachenko committed
    • Makefile.in (PLUGIN_HEADERS): Add dominance.h... · 6fb5f2f5
      2015-01-15  Steve Ellcey  <sellcey@mips.com>
      
      	* Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
      	cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
      	builtins.def, chkp-builtins.def, and pass-instances.def.
      
      From-SVN: r219670
      Steve Ellcey committed
    • Ignore additional linker messages on Linux/x86 with PIE · d86cfdb8
      g++.dg/other/anon5.C is expected to fail to link.  On Linux/x86 with PIE
      and the new linker, there are additional messages from linker:
      
      [hjl@gnu-tools-1 gcc]$ g++  -fPIE -pie
      /export/gnu/import/git/sources/gcc/gcc/testsuite/g++.dg/other/anon5.C
      /tmp/ccwg53fj.o: In function `f()': anon5.C:(.text+0x7): undefined reference to `(anonymous namespace)::c::t'
      /usr/local/bin/ld: /tmp/ccwg53fj.o: relocation R_X86_64_PC32 against undefined symbol `_ZN12_GLOBAL__N_11c1tE' can not be used when making a shared object; recompile with -fPIC
      /usr/local/bin/ld: final link failed: Bad value
      collect2: error: ld returned 1 exit status
      [hjl@gnu-tools-1 gcc]$ 
      
      This patch ignores additional linker messages on Linux/x86 with PIE.
      
      	* g++.dg/other/anon5.C: Ignore additional messages on Linux/x86
      	with PIE.
      
      From-SVN: r219667
      H.J. Lu committed
    • default64.h (TARGET_DEFAULT): Use ISA 2.7 (POWER8). · 34a8f242
              * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
              ISA 2.7 (POWER8).
      
      From-SVN: r219665
      David Edelsohn committed
    • re PR tree-optimization/61743 (Complete unroll is not happened for loops with short upper bound) · 42c6b3ca
      2015-01-15  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/61743
      	* tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
      	information on PHIs for some simple cases.
      
      	* gcc.dg/tree-ssa/pr61743-1.c: New testcase.
      	* gcc.dg/tree-ssa/pr61743-2.c: Likewise.
      
      From-SVN: r219662
      Richard Biener committed
    • arm.md (generic_sched): Specify xgene1 in 'no' list. · cd3246ea
      2015-01-15  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
      
              * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
              Include xgene1.md.
              * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
              * config/arm/arm-cores.def (xgene1): New entry.
              * config/arm/arm-tables.opt: Regenerate.
              * config/arm/arm-tune.md: Regenerate.
              * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
      
      From-SVN: r219661
      Philipp Tomsich committed
    • [AARCH64] Fix syntax error in target selector "-O2" for volatileloadpair-1.c & · f5422cbf
      volatileloadpair-2.c.
      
      testsuite/
      	* gcc.target/aarch64/volatileloadpair-1.c: Correct dg-options.
      	* gcc.target/aarch64/volatileloadpair-2.c: Likewise.
      
      From-SVN: r219660
      Renlin Li committed
    • Updated copyright year for 'xgene1.md'. · d304c815
      From-SVN: r219659
      Philipp Tomsich committed
    • tree-if-conv.c: Include hash-map.h. · e9d5a1a0
      gcc/
      
      	* tree-if-conv.c: Include hash-map.h.
      	(aggressive_if_conv): New variable.
      	(fold_build_cond_expr): Add simplification of non-zero condition.
      	(add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
      	destination block is not always executed.
      	(if_convertible_phi_p): Fix commentary, allow phi nodes have more
      	than two predecessors if AGGRESSIVE_IF_CONV is true.
      	(if_convertible_stmt_p): Fix commentary.
      	(all_preds_critical_p): New function.
      	(has_pred_critical_p): New function.
      	(if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
      	BB can have more than two predecessors and all incoming edges can be
      	critical.
      	(predicate_bbs): Skip predication for loop exit block, use build2_loc
      	to compute predicate for true edge.
      	(find_phi_replacement_condition): Delete this function.
      	(is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
      	Allow interchange PHI arguments if EXTENDED is false.
      	Change check that block containing reduction statement candidate
      	is predecessor of phi-block since phi may have more than two arguments.
      	(phi_args_hash_traits): New helper structure.
      	(struct phi_args_hash_traits): New type.
      	(phi_args_hash_traits::hash): New function.
      	(phi_args_hash_traits::equal_keys): New function.
      	(gen_phi_arg_condition): New function.
      	(predicate_scalar_phi): Add handling of phi nodes with more than two
      	arguments, delete COND and TRUE_BB arguments, insert body of
      	find_phi_replacement_condition to predicate ordinary phi nodes.
      	(predicate_all_scalar_phis): Skip blocks with the only predecessor,
      	delete call of find_phi_replacement_condition and invoke
      	predicate_scalar_phi with two arguments.
      	(insert_gimplified_predicates): Add assert that non-predicated block
      	don't have statements to insert.
      	(ifcvt_split_critical_edges): New function.
      	(ifcvt_split_def_stmt): Likewise.
      	(ifcvt_walk_pattern_tree): Likewise.
      	(stmt_is_root_of_bool_pattern): Likewise.
      	(ifcvt_repair_bool_pattern): Likewise.
      	(ifcvt_local_dce): Likewise.
      	(tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
      	is copy of inner or outer loop force_vectorize field, invoke
      	ifcvt_split_critical_edges, ifcvt_local_dce and
      	ifcvt_repair_bool_pattern for aggressive if-conversion.
      
      gcc/testsuite/
      
      	* gcc.dg/vect/vect-aggressive-1.c: New.
      	* gcc.target/i386/avx2-vect-aggressive.c: New.
      
      From-SVN: r219658
      Yuri Rumyantsev committed
    • aarch64.md: Include xgene1.md. · a0f06fc9
      2015-01-15  Philipp Tomsich  <ptomsich@theobroma-systems.com>
      
              * config/aarch64/aarch64.md: Include xgene1.md.
              * config/aarch64/xgene1.md: New file.
      
      From-SVN: r219657
      Philipp Tomsich committed
    • aarch64-cores.def (xgene1): Update/add the xgene1 (APM XGene-1) core definition. · 381e27aa
      2015-01-15  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
      
              * config/aarch64/aarch64-cores.def (xgene1): Update/add the
              xgene1 (APM XGene-1) core definition.
              * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
              * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
              * doc/invoke.texi: Document -mcpu=xgene1.
      
      From-SVN: r219656
      Philipp Tomsich committed
    • dojump.h: New header file. · 36566b39
      2015-10-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* dojump.h: New header file.
      	* explow.h: Likewise.
      	* expr.h: Remove includes.
      	Move expmed.c prototypes to expmed.h.
      	Move dojump.c prototypes to dojump.h.
      	Move alias.c prototypes to alias.h.
      	Move explow.c prototypes to explow.h.
      	Move calls.c prototypes to calls.h.
      	Move emit-rtl.c prototypes to emit-rtl.h.
      	Move varasm.c prototypes to varasm.h.
      	Move stmt.c prototypes to stmt.h.
      	(saved_pending_stack_adjust): Move to dojump.h.
      	(adjust_address): Move to explow.h.
      	(adjust_address_nv): Move to emit-rtl.h.
      	(adjust_bitfield_address): Likewise.
      	(adjust_bitfield_address_size): Likewise.
      	(adjust_bitfield_address_nv): Likewise.
      	(adjust_automodify_address_nv): Likewise.
      	* explow.c (expr_size): Move to expr.c.
      	(int_expr_size): Likewise.
      	(tree_expr_size): Likewise.
      	Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
      	* genemit.c (main): Generate includes statistics.h, real.h, fixed-value.h,
      	insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
      	* genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, function.h,
      	statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
      	stmt.h.
      	* genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
      	fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
      	* genemit.c (open_base_files): Generate includes flags.h, statistics.h, real.h,
      	fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h,
      	stmt.h.
      	* config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, hash-set.h, vec.h,
      	machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
      	double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
      	insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
      	* config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
      	double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
      	function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
      	insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
      	tm.h tree.h varasm.h vec.h wide-int.h.
      	* rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
      	explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
      	hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
      	real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
      	* cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
      	explow.h expmed.h fixed-value.h flags.h inchash.h insn-config.h
      	real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
      	* loop-iv.c: Likewise.
      	* lra-assigns.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
      	explow.h expmed.h fixed-value.h flags.h inchash.h real.h
      	statistics.h stmt.h tree.h varasm.h wide-int.h.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-remat.c: Likewise.
      	* bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
      	explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
      	statistics.h stmt.h tree.h varasm.h wide-int.h.
      	* hw-doloop.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-emit.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
      	explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
      	statistics.h stmt.h tree.h varasm.h wide-int.h.
      	* caller-save.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
      	explow.h expmed.h fixed-value.h inchash.h real.h statistics.h
      	stmt.h tree.h varasm.h wide-int.h.
      	* combine-stack-adj.c: Likewise.
      	* cse.c: Likewise.
      	* ddg.c: Likewise.
      	* ifcvt.c: Likewise.
      	* ira-costs.c: Likewise.
      	* jump.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-spills.c: Likewise.
      	* profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
      	explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
      	stmt.h varasm.h wide-int.h.
      	* lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
      	explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
      	varasm.h.
      	* config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
      	double-int.h explow.h expmed.h fixed-value.h flags.h real.h
      	statistics.h stmt.h varasm.h wide-int.h.
      	* reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
      	expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
      	varasm.h wide-int.h.
      	* reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
      	expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
      	* config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
      	emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
      	statistics.h stmt.h.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
      	explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      	* config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
      	explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
      	varasm.h.
      	* tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
      	insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
      	* cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
      	insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
      	* rtl-chkp.c: Likewise.
      	* tree-chkp-opt.c: Likewise.
      	* config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h explow.h
      	expmed.h fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
      	insn-config.h real.h statistics.h stmt.h varasm.h.
      	* ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
      	statistics.h stmt.h.
      	* tree-vect-data-refs.c: Likewise.
      	* graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
      	expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
      	rtl.h statistics.h stmt.h varasm.h.
      	* internal-fn.c: Likewise.
      	* ipa-icf-gimple.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tsan.c: Likewise.
      	* targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
      	stmt.h.
      	* config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
      	expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
      	statistics.h stmt.h varasm.h.
      	* loop-unroll.c: Likewise.
      	* ubsan.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
      	expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
      	stmt.h varasm.h.
      	* dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
      	* tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
      	expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
      	statistics.h stmt.h.
      	* generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
      	expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
      	statistics.h stmt.h varasm.h.
      	* gimple-match-head.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
      	* stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
      	* varasm.c: Likewise.
      	* coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
      	varasm.h.
      	* init-regs.c: Likewise.
      	* ira.c: Likewise.
      	* omp-low.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
      	varasm.h.
      	* dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
      	* shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
      	* recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
      	* tree-ssa-phiopt.c: Likewise.
      	* config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h real.h statistics.h stmt.h.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* optabs.c: Likewise.
      	* passes.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stmt.c: Likewise.
      	* toplev.c: Likewise.
      	* var-tracking.c: Likewise.
      	* gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
      	* lower-subreg.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* ree.c: Likewise.
      	* reginfo.c: Likewise.
      	* store-motion.c: Likewise.
      	* combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h real.h stmt.h varasm.h.
      	* emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h statistics.h stmt.h.
      	* dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
      	varasm.h.
      	* gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
      	* tree-ssa-structalias.c: Likewise.
      	* cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h insn-config.h real.h statistics.h.
      	* calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h insn-config.h real.h statistics.h stmt.h.
      	* bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
      	* cfgbuild.c: Likewise.
      	* function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h real.h rtl.h statistics.h stmt.h.
      	* cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
      	* dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h real.h statistics.h stmt.h.
      	* auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h real.h statistics.h stmt.h varasm.h.
      	* cprop.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* postreload.c: Likewise.
      	* ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
      	flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
      	statistics.h stmt.h varasm.h.
      	* gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
      	explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
      	rtl.h statistics.h stmt.h varasm.h.
      	* tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
      	fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
      	varasm.h.
      	* expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
      	function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
      	varasm.h.
      	* target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
      	fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
      	varasm.h.
      	* tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
      	fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
      	* cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
      	function.h real.h statistics.h stmt.h varasm.h.
      	* alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
      	insn-config.h real.h statistics.h stmt.h.
      	* dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
      	statistics.h stmt.h.
      	* config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
      	statistics.h stmt.h varasm.h.
      	* gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
      	flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
      	* asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
      	flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
      	* ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
      	statistics.h stmt.h varasm.h.
      	* ipa-polymorphic-call.c: Likewise.
      	* config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
      	stmt.h.
      	* config/c6x/c6x.c: Likewise.
      	* config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h explow.h
      	expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
      	statistics.h stmt.h varasm.h.
      	* ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
      	hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h.
      	* ipa-split.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
      	expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
      	stmt.h.
      	* config/nds32/nds32-fp-as-gp.c: Likewise.
      	* config/nds32/nds32-intrinsic.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32-md-auxiliary.c: Likewise.
      	* config/nds32/nds32-memory-manipulation.c: Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
      	* config/nds32/nds32-predicates.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h real.h statistics.h.
      	* config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h real.h statistics.h stmt.h.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
      	* config/msp430/msp430.c: Likewise.
      	* predict.c: Likewise.
      	* value-prof.c: Likewise.
      	* config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
      	expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
      	insn-config.h real.h rtl.h statistics.h stmt.h.
      	* cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
      	insn-config.h real.h statistics.h stmt.h.
      	* fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
      	* tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
      	* builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
      	real.h statistics.h stmt.h.
      	* config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h statistics.h stmt.h.
      	* config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
      	stmt.h.
      
      java/	
      	* builtins.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
      	fixed-value.h function.h hard-reg-set.h hashtab.h insn-config.h
      	real.h statistics.h stmt.h varasm.h.
      
      From-SVN: r219655
      Prathamesh Kulkarni committed
    • Adjust scan string for PIE · 645c25f6
      The order of address in the first operand is different due to different
      output orders of PLUS between output_addr_const and output_pic_addr_const.
      This patch adjusts scan string for PIE in gcc.target/i386/pr54445-2.c.
      
      	* gcc.target/i386/pr54445-2.c: Adjust scan string for PIE.
      
      From-SVN: r219654
      H.J. Lu committed
    • MAINTAINERS: (Write After Approval): Add myself. · c61fcfa6
      2015-01-15  Philipp Tomsich  <ptomsich@theobroma-systems.com>
      
              * MAINTAINERS: (Write After Approval): Add myself.
      
      From-SVN: r219653
      Philipp Tomsich committed
    • gengtype.c (create_user_defined_type): Workaround -Wmaybe-uninitialized false positives. · e54bd4ab
      	* gengtype.c (create_user_defined_type): Workaround
      	-Wmaybe-uninitialized false positives.
      	* cse.c (fold_rtx): Likewise.
      	* loop-invariant.c (gain_for_invariant): Likewise.
      
      From-SVN: r219652
      Jakub Jelinek committed
    • re PR middle-end/64415 (ICE: verify_ssa failed / segmentation fault with LTO) · 928923e7
      2015-01-15  Richard Biener  <rguenther@suse.de>
      
      	PR lto/64415
      	* gcc.dg/lto/pr64415_0.c: Re-enable for darwin with
      	-Wl,-undefined,dynamic_lookup.
      
      From-SVN: r219651
      Richard Biener committed
    • Fix oversight in previous commit · 4c113f87
      From-SVN: r219649
      Eric Botcazou committed
    • expr.c (expand_expr_real_1): Use the expression to set the memory attributes in… · 3aabdc00
      expr.c (expand_expr_real_1): Use the expression to set the memory attributes in all cases but clear MEM_EXPR...
      
      	* expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
      	set the memory attributes in all cases but clear MEM_EXPR if need be.
      
      From-SVN: r219648
      Eric Botcazou committed
    • re PR middle-end/64415 (ICE: verify_ssa failed / segmentation fault with LTO) · 04d8b4dc
      2015-01-15  Richard Biener  <rguenther@suse.de>
      
      	PR lto/64415
      	* gcc.dg/lto/pr64415_0.c: Skip on darwin.
      
      From-SVN: r219647
      Richard Biener committed
    • re PR tree-optimization/64434 (Performance regression after operand canonicalization (r216728).) · d2626c0b
      gcc/
      
      	PR tree-optimization/64434
      	* cfgexpand.c (reorder_operands): New function.
      	(expand_gimple_basic_block): Insert call of reorder_operands if
      	optimized is true.
      
      gcc/testsuite/
      
      	PR tree-optimization/64434
      	* gcc.dg/torture/pr64434.c: New test.
      
      From-SVN: r219646
      Yuri Rumyantsev committed
    • Ensure options incompatible with micromips imply -mno-micromips · 3387e614
      gcc/testsuite/
      
      	* gcc.target/mips/mips.exp (mips-dg-options): -mips3d requires
      	-mno-micromips.  MIPS32R1 and below require -mno-micromips.
      	-march=loongson* and -march=octeon* require -mno-micromips.
      
      From-SVN: r219641
      Matthew Fortune committed
    • Update the call-saved tests for micromips output · 63ecaca0
      gcc/testsuite/
      
      	* gcc.target/mips/call-saved-4.c (foo): Add NOCOMPRESSION.
      	* gcc.target/mips/call-saved-5.c (foo): Likewise.
      	* gcc.target/mips/call-saved-6.c (foo): Likewise.
      	* gcc.target/mips/call-saved-7.c: New file.
      	* gcc.target/mips/call-saved-8.c: New file.
      	* gcc.target/mips/call-saved-9.c: New file.
      
      Co-Authored-By: Matthew Fortune <matthew.fortune@imgtec.com>
      
      From-SVN: r219640
      Andrew Bennett committed
    • [MIPS] Remove all excess parallel constructs · 2c3bcf47
      gcc/
      
      	* config/mips/micromips.md (*swp): Remove explicit parallel.
      	(jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
      	* config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
      	(mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
      	(mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
      	(mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
      	(mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
      	(mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
      	(mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
      	(mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
      	(mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
      	(mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
      	(mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
      	(mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
      	(mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
      	(mips_wrdsp): Likewise.
      	* config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
      	parallel.
      	(mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
      	(mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
      	(mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
      	(mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
      	(mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
      	(mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
      	* config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
      	(ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
      	(ssmaddsqdq4, ssmsubsqdq4): Likewise.
      
      From-SVN: r219639
      Matthew Fortune committed
    • Add support for the R6 LSA and DLSA instructions · 954bdd58
      gcc/
      
      	* config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
      	(mips_print_operand): Support 'y' to print exact log2 in decimal
      	of a const_int.
      	* config/mips/mips.h (ISA_HAS_LSA): New define.
      	(ISA_HAS_DLSA): Likewise.
      	* config/mips/mips.md (<GPR:d>lsa): New define_insn.
      	* config/mips/predicates.md (const_immlsa_operand): New predicate.
      
      gcc/testsuite/
      
      	* gcc.target/mips/lsa.c: New file.
      	* gcc.target/mips/mips64-lsa.c: Likewise.
      	* gcc.target/mips/mulsize-2.c: Require !HAS_LSA.
      	* gcc.target/mips/mulsize-4.c: Likewise.
      	* gcc.target/mips/mulsize-5.c: New file.
      	* gcc.target/mips/mulsize-6.c: Likewise.
      	* gcc.target/mips/mips.exp (mips_option_groups): Support HAS_LSA
      	and !HAS_LSA as ghost options.
      	(mips-dg-options): Require rev 6 for HAS_LSA. Downgrade to rev 5
      	for !HAS_LSA.
      
      From-SVN: r219638
      Matthew Fortune committed
    • Fix oversized bitfield warning. · 953bcfa6
      testsuite/
      2015-01-15  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* g++.dg/torture/20141013.C: Set -fno-short-enums.
      
      From-SVN: r219637
      Matthew Wahab committed
    • Target optimization nodes: add support for arrays. · 5e306f6e
      	PR target/64377
      	* optc-save-gen.awk: Add support for array types.
      
      From-SVN: r219636
      Martin Liska committed
    • re PR tree-optimization/64365 (Predictive commoning after loop vectorization… · d679e96b
      re PR tree-optimization/64365 (Predictive commoning after loop vectorization produces incorrect code.)
      
      2015-01-15  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/64365
      	* tree-data-ref.c (dr_analyze_indices): Make sure that accesses
      	for MEM_REF access functions with the same base can never partially
      	overlap.
      
      	* gcc.dg/torture/pr64365.c: New testcase.
      
      From-SVN: r219634
      Richard Biener committed
    • common.opt: New option -fstack-protector-explicit. · 5434dc07
      2015-01-14  Marcos Diaz <marcos.diaz@tallertechnologies.com>
      
      	* common.opt: New option -fstack-protector-explicit.
      	* cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
      	(stack_protect_decl_phase): Handle stack_protect attribute for
      	explicit stack protection requests.
      	(expand_used_vars): Similarly.
      	* doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
      	* doc/extend.texi: Add documentation for "stack_protect" attribute.
      	* doc/invoke.texi: Add documentation for -fstack-protector-explicit.
      
      	* c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
      	for the new option fstack-protector_explicit.
      	* c-common.c (c_common_attribute_table): Add stack_protect attribute.
      	(handle_stack_protect_attribute): New function.
      
      	* gcc.dg/stackprotectexplicit1.c: New test.
      	* g++.dg/stackprotectexplicit2.c: New test.
      
      From-SVN: r219633
      Marcos Diaz committed
    • re PR fortran/61933 (Inquire on internal units) · 1a0c6983
      2015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR target/61933
      	* gfortran.dg/inquire_internal.f90: New.
      	* gfortran.dg/negative_unit_check.f90: New.
      
      From-SVN: r219632
      Jerry DeLisle committed
    • re PR fortran/61933 (Inquire on internal units) · 351b4432
      2015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/61933
      	* io/inquire.c (inquire_via_unit): Set existing to true if a
      	gfc_unit stucture was found for the given unit number.
      	* runtime/error.c (translate_error): Add case for
      	LIBERROR_INQUIRE_INTERNAL_UNIT.
      
      From-SVN: r219631
      Jerry DeLisle committed
    • re PR fortran/61933 (Inquire on internal units) · 2da229cb
      2015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/61933
      	* io.c (gfc_match_inquire): Generate error if unit number in
      	inquire statement is a constant -1.  All other values allowed.
      	* trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
      	(create_dummy_iostat): Delete function no longer used.
      
      From-SVN: r219630
      Jerry DeLisle committed
    • libgo: Bump version number in libgo configure script. · d5d9c650
      From-SVN: r219629
      Ian Lance Taylor committed
    • libgo, compiler: Upgrade libgo to Go 1.4, except for runtime. · f8d9fa9e
      This upgrades all of libgo other than the runtime package to
      the Go 1.4 release.  In Go 1.4 much of the runtime was
      rewritten into Go.  Merging that code will take more time and
      will not change the API, so I'm putting it off for now.
      
      There are a few runtime changes anyhow, to accomodate other
      packages that rely on minor modifications to the runtime
      support.
      
      The compiler changes slightly to add a one-bit flag to each
      type descriptor kind that is stored directly in an interface,
      which for gccgo is currently only pointer types.  Another
      one-bit flag (gcprog) is reserved because it is used by the gc
      compiler, but gccgo does not currently use it.
      
      There is another error check in the compiler since I ran
      across it during testing.
      
      gotools/:
      	* Makefile.am (go_cmd_go_files): Sort entries.  Add generate.go.
      	* Makefile.in: Rebuild.
      
      From-SVN: r219627
      Ian Lance Taylor committed
    • Daily bump. · 6bd3f109
      From-SVN: r219626
      GCC Administrator committed
  2. 14 Jan, 2015 3 commits
    • re PR target/53988 ([SH] tst Rm,Rn not used for QI/HImode) · 83e3f98b
      gcc/
      	PR target/53988
      	* config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
      	reg-reg copies.
      	(sh_extending_set_of_reg): New struct.
      	(sh_find_extending_set_of_reg, sh_split_tst_subregs,
      	sh_remove_reg_dead_or_unused_notes): New Declarations.
      	* config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
      	sh_find_extending_set_of_reg, sh_split_tst_subregs,
      	sh_extending_set_of_reg::use_as_extended_reg): New functions.
      	* config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
      	convert to insn_and_split and use new function sh_split_tst_subregs.
      
      gcc/testsuite/
      	PR target/53988
      	* gcc.target/sh/pr53988-1.c: New.
      
      From-SVN: r219623
      Oleg Endo committed
    • invoke.texi (Option Summary): Reclassify -fuse-ld as a linker option. · ce2c3163
      2015-01-14  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
      	option.
      	(Optimization Options): Move -fuse-ld documentation to...
      	(Link Options): ...here.
      
      From-SVN: r219622
      Sandra Loosemore committed
    • re PR c++/58671 ([c++11] ICE with thread_local and self-referential variable initialization) · 36b218ee
      /cp
      2015-01-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58671
      	* decl2.c (var_defined_without_dynamic_init): Handle gracefully
      	self-initialization.
      
      /testsuite
      2015-01-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58671
      	* g++.dg/tls/thread_local-ice3.C: New.
      
      From-SVN: r219621
      Paolo Carlini committed