Commit Graph

125616 Commits

Author SHA1 Message Date
Yvan Roux
3936bafc7e rtlanal.c (lsb_bitfield_op_p): New predicate for bitfield operations from the least significant bit.
2013-09-25  Yvan Roux  <yvan.roux@linaro.org>
	    Vladimir Makarov  <vmakarov@redhat.com>

	* rtlanal.c (lsb_bitfield_op_p): New predicate for bitfield operations
	from the least significant bit.
	(strip_address_mutations): Add bitfield operations handling.
	(must_be_index_p): Add shifting and rotate operations handling.
	(set_address_base): Use must_be_base_p predicate.
	(set_address_index):Use must_be_index_p predicate.


Co-Authored-By: Vladimir Makarov <vmakarov@redhat.com>

From-SVN: r202914
2013-09-25 18:31:13 +00:00
Alexander Ivchenko
b86f6e9e46 i386.c (ix86_avx256_split_vector_move_misalign): Use new names.
* config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
	Use new names.
	(ix86_expand_vector_move_misalign): Support new unaligned load and
	stores and use new names.
	(CODE_FOR_sse2_storedqu): Rename to ...
	(CODE_FOR_sse2_storedquv16qi): ... this.
	(CODE_FOR_sse2_loaddqu): Rename to ...
	(CODE_FOR_sse2_loaddquv16qi): ... this.
	(CODE_FOR_avx_loaddqu256): Rename to ...
	(CODE_FOR_avx_loaddquv32qi): ... this.
	(CODE_FOR_avx_storedqu256): Rename to ...
	(CODE_FOR_avx_storedquv32qi): ... this.
	* config/i386/i386.md (fpint_logic): New.
	* config/i386/sse.md (VMOVE): Extend for AVX512.
	(VF): Ditto.
	(VF_128_256): New.
	(VF_512): Ditto.
	(VI_UNALIGNED_LOADSTORE): Ditto.
	(sse2_avx_avx512f): Ditto.
	(sse2_avx2): Extend for AVX512.
	(sse4_1_avx2): Ditto.
	(avx2_avx512f): New.
	(sse): Extend for AVX512.
	(sse2): Ditto.
	(sse4_1): Ditto.
	(avxsizesuffix): Ditto.
	(sseintvecmode): Ditto.
	(ssePSmode): Ditto.
	(<sse>_loadu<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse>_storeu<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse2>_loaddqu<avxsizesuffix>): Extend for AVX512 and rename to ...
	(<sse2_avx_avx512f>_loaddqu<mode>): ... this.
	(<sse2>_storedqu<avxsizesuffix>): Extend for AVX512 and rename to ...
	(<sse2_avx_avx512f>_storedqu<mode): ... this.
	(<sse>_movnt<mode>): Replace constraint "x" with "v".
	(STORENT_MODE): Extend for AVX512.
	(*absneg<mode>2): Replace constraint "x" with "v".
	(*mul<mode>3): Ditto.
	(*ieee_smin<mode>3): Ditto.
	(*ieee_smax<mode>3): Ditto.
	(avx_cmp<mode>3): Replace VF with VF_128_256.
	(*<sse>_maskcmp<mode>3_comm): Ditto.
	(<sse>_maskcmp<mode>3): Ditto.
	(<sse>_andnot<mode>3): Extend for AVX512.
	(<code><mode>3, anylogic): Replace VF with VF_128_256.
	(<code><mode>3, fpint_logic): New.
	(*<code><mode>3): Extend for AVX512.
	(avx512flogicsuff): New.
	(avx512f_<logic><mode>): Ditto.
	(<sse>_movmsk<ssemodesuffix><avxsizesuffix>): Replace VF with
	VF_128_256.
	(<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse4_1>_dp<ssemodesuffix><avxsizesuffix>): Ditto.
	(avx_vtest<ssemodesuffix><avxsizesuffix>): Ditto.
	(<sse4_1>_round<ssemodesuffix><avxsizesuffix>): Ditto.
	(xop_vpermil2<mode>3): Ditto.
	(*avx_vpermilp<mode>): Extend for AVX512 and rename to ...
	(*<sse2_avx_avx512f>_vpermilp<mode>): ... this.
	(avx_vpermilvar<mode>3): Extend for AVX512 and rename to ...
	(<sse2_avx_avx512f>_vpermilvar<mode>3): ... this.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r202913
2013-09-25 18:01:43 +00:00
Tom Tromey
4d44d03c72 * Makefile.in (PARTITION_H, LTO_SYMTAB_H, COMMON_TARGET_DEF_H)
(RTL_ERROR_H, TRANS_MEM_H, COVERAGE_H, DEMANGLE_H, ALIAS_H)
	(SCHED_INT_H, SEL_SCHED_IR_H, SEL_SCHED_DUMP_H, VALTRACK_H, DDG_H)
	(GGC_INTERNAL_H, DECNUM_H, BACKTRACE_H, MKDEPS_H, TREE_HASHER_H)
	(TREE_SSA_LIVE_H, SSAEXPAND_H, DWARF2OUT_H, SCEV_H, OMEGA_H)
	(TREE_DATA_REF_H, IRA_INT_H, LRA_INT_H, DBGCNT_H, DATA_STREAMER_H)
	(GIMPLE_STREAMER_H, TREE_STREAMER_H, STREAMER_HOOKS_H)
	(TREE_VECTORIZER_H, IPA_INLINE_H, GSTAB_H, LIBFUNCS_H)
	(GRAPHITE_HTAB_H): Remove.

From-SVN: r202912
2013-09-25 16:33:30 +00:00
Tom Tromey
86aaf68dc0 * config/mcore/t-mcore (CROSS_FLOAT_H): Remove.
From-SVN: r202911
2013-09-25 16:32:56 +00:00
Tom Tromey
c987deb8ea * config/t-glibc (glibc-c.o): Use COMPILE and POSTCOMPILE.
From-SVN: r202910
2013-09-25 16:32:02 +00:00
Tom Tromey
9439747ead t-i386 (i386.o): Remove.
* config/i386/t-i386 (i386.o): Remove.
	(i386-c.o): Use COMPILE and POSTCOMPILE.

From-SVN: r202909
2013-09-25 16:31:29 +00:00
Tom Tromey
aefc31a199 * Makefile.in ($(out_object_file)): Use COMPILE and POSTCOMPILE.
From-SVN: r202908
2013-09-25 16:30:39 +00:00
Tom Tromey
b6541edc52 * Makefile.in (graph.o, sbitmap.o, sparseset.o, gcc-ar.o)
(gcc-ranlib.o, gcc-nm.o, collect2.o, collect2-aix.o, tlink.o)
	(lto-wrapper.o, default-c.o, attribs.o, incpath.o, prefix.o)
	(gcc.o, options.o, options-save.o, version.o, gtype-desc.o)
	(trans-mem.o, ggc-common.o, ggc-page.o, ggc-none.o, stringpool.o)
	(convert.o, double-int.o, lto-compress.o, data-streamer-in.o)
	(data-streamer-out.o, data-streamer.o, gimple-streamer-in.o)
	(gimple-streamer-out.o, tree-streamer.o, tree-streamer-in.o)
	(tree-streamer-out.o, streamer-hooks.o, lto-cgraph.o)
	(lto-streamer-in.o, lto-streamer-out.o, lto-section-in.o)
	(lto-section-out.o, lto-opts.o, lto-streamer.o, langhooks.o)
	(test-dump.o, tree.o, tree-dump.o, tree-inline.o, print-tree.o)
	(stor-layout.o, asan.o, tsan.o, ubsan.o, tree-ssa-tail-merge.o)
	(tree-ssa-structalias.o, tree-ssa-uninit.o, tree-ssa.o)
	(tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o)
	(tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o)
	(tree-ssa-phiprop.o, tree-ssa-ifcombine.o, tree-ssa-phiopt.o)
	(tree-nrv.o, tree-ssa-copy.o, tree-ssa-propagate.o)
	(tree-ssa-dom.o, tree-ssa-uncprop.o, tree-ssa-threadedge.o)
	(tree-ssa-threadupdate.o, tree-ssanames.o, tree-phinodes.o)
	(domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o)
	(tree-ssa-pre.o, tree-ssa-sccvn.o)
	(gimple-ssa-strength-reduction.o, tree-vrp.o, tree-cfg.o)
	(tree-cfgcleanup.o, tree-tailcall.o, tree-ssa-sink.o)
	(tree-nested.o, tree-if-conv.o, tree-iterator.o, tree-dfa.o)
	(tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o)
	(tree-ssa-loop-unswitch.o, tree-ssa-address.o)
	(tree-ssa-loop-niter.o, tree-ssa-loop-ivcanon.o)
	(tree-ssa-loop-ch.o, tree-ssa-loop-prefetch.o, tree-predcom.o)
	(tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-manip.o)
	(tree-ssa-loop-im.o, tree-ssa-math-opts.o, tree-ssa-alias.o)
	(tree-ssa-reassoc.o, tree-optimize.o, gimplify.o)
	(gimple-iterator.o, gimple-fold.o, gimple-low.o, omp-low.o)
	(tree-browser.o, omega.o, tree-chrec.o, tree-scalar-evolution.o)
	(tree-data-ref.o, sese.o, graphite.o, graphite-blocking.o)
	(graphite-clast-to-gimple.o, graphite-dependences.o)
	(graphite-interchange.o, graphite-poly.o)
	(graphite-scop-detection.o, graphite-sese-to-poly.o)
	(graphite-optimize-isl.o, tree-vect-loop.o)
	(tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o)
	(tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o)
	(vtable-verify.o, tree-loop-distribution.o, tree-parloops.o)
	(tree-stdarg.o, tree-object-size.o, internal-fn.o, gimple.o)
	(gimple-pretty-print.o, tree-mudflap.o, tree-nomudflap.o)
	(tree-pretty-print.o, tree-diagnostic.o, fold-const.o)
	(diagnostic.o, diagnostic-color.o, opts.o, opts-global.o)
	(opts-common.o, targhooks.o, common/common-targhooks.o, input.o)
	(toplev.o, hwint.o, passes.o, plugin.o, main.o, host-default.o)
	(rtl-error.o, rtl.o, print-rtl.o, rtlanal.o, varasm.o, function.o)
	(statistics.o, stmt.o, except.o, expr.o, dojump.o, builtins.o)
	(calls.o, expmed.o, explow.o, optabs.o, dbxout.o, debug.o)
	(sdbout.o, dwarf2out.o, dwarf2cfi.o, dwarf2asm.o, vmsdbgout.o)
	(xcoffout.o, godump.o, emit-rtl.o, real.o, realmpfr.o, dfp.o)
	(fixed-value.o, jump.o, simplify-rtx.o, symtab.o, cgraph.o)
	(cgraphunit.o, cgraphclones.o, cgraphbuild.o, varpool.o, ipa.o)
	(ipa-profile.o, ipa-devirt.o, ipa-prop.o, ipa-ref.o, ipa-cp.o)
	(ipa-split.o, ipa-inline.o, ipa-inline-analysis.o)
	(ipa-inline-transform.o, ipa-utils.o, ipa-reference.o)
	(ipa-pure-const.o, coverage.o, cselib.o, cse.o, dce.o, dumpfile.o)
	(dse.o, fwprop.o, web.o, ree.o, cprop.o, gcse.o, store-motion.o)
	(resource.o, lcm.o, mode-switching.o, tree-ssa-dce.o)
	(tree-call-cdce.o, tree-ssa-ccp.o, tree-ssa-strlen.o, tree-sra.o)
	(tree-switch-conversion.o, tree-complex.o, tree-emutls.o)
	(tree-vect-generic.o, df-core.o, df-problems.o, df-scan.o)
	(regstat.o, valtrack.o, var-tracking.o, profile.o, mcf.o)
	(tree-profile.o, value-prof.o, loop-doloop.o, alloc-pool.o)
	(auto-inc-dec.o, cfg.o, cfghooks.o, cfgexpand.o, cfgrtl.o)
	(cfganal.o, cfgbuild.o, cfgcleanup.o, cfgloop.o, cfgloopanal.o)
	(graphds.o, loop-iv.o, loop-invariant.o, cfgloopmanip.o)
	(loop-init.o, loop-unswitch.o, loop-unroll.o, dominance.o)
	(et-forest.o, combine.o, reginfo.o, bitmap.o, vec.o, hash-table.o)
	(reload.o, reload1.o, rtlhooks.o, postreload.o, postreload-gcse.o)
	(caller-save.o, bt-load.o, reorg.o, alias.o, stack-ptr-mod.o)
	(init-regs.o, ira-build.o, ira-costs.o, ira-conflicts.o)
	(ira-color.o, ira-emit.o, ira-lives.o, ira.o, lra.o)
	(lra-assigns.o, lra-coalesce.o, lra-constraints.o)
	(lra-eliminations.o, lra-lives.o, lra-spills.o, regmove.o)
	(combine-stack-adj.o, compare-elim.o, ddg.o, modulo-sched.o)
	(haifa-sched.o, sched-deps.o, sched-rgn.o, sched-ebb.o)
	(sched-vis.o, sel-sched.o, sel-sched-dump.o, sel-sched-ir.o)
	(final.o, recog.o, reg-stack.o, sreal.o, predict.o, lists.o)
	(bb-reorder.o, tracer.o, timevar.o, regcprop.o, regrename.o)
	(ifcvt.o, params.o, pointer-set.o, hooks.o, pretty-print.o)
	(errors.o, dbgcnt.o, lower-subreg.o, target-globals.o)
	(hw-doloop.o, file-find.o, context.o, $(common_out_object_file))
	(insn-attrtab.o, insn-automata.o, insn-dfatab.o, insn-emit.o)
	(insn-enums.o, insn-extract.o, insn-latencytab.o, insn-modes.o)
	(insn-opinit.o, insn-output.o, insn-peep.o, insn-preds.o)
	(insn-recog.o, intl.o, cppbuiltin.o, cppdefault.o, gcov.o)
	(gcov-dump.o): Remove.
	(default-c.o): Use COMPILE and POSTCOMPILE.
	(CFLAGS-gcc.o): New variable.
	($(common_out_object_file)): Use COMPILE and POSTCOMPILE.

From-SVN: r202907
2013-09-25 16:29:41 +00:00
Tom Tromey
7c6fedd2ff * Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
(lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
	(lto/lto-object.o): Remove.

From-SVN: r202906
2013-09-25 16:28:35 +00:00
Tom Tromey
9318a011e0 Make-lang.in (gospec.o): Remove.
* Make-lang.in (gospec.o): Remove.
	(CFLAGS-go/gospec.o): New variable.
	(GCCGO_OBJS): Update to use go/gospec.o.
	(go_OBJS): Define.
	(GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
	(GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
	(GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
	(go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
	(go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
	(go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
	(go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
	(go/parse.o, go/runtime.o, go/statements.o, go/types.o)
	(go/unsafe.o): Remove.
	(CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
	(go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.

From-SVN: r202905
2013-09-25 16:27:49 +00:00
Tom Tromey
9e33f72300 Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
* Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
	(gfortranspec.o): Remove.
	(CFLAGS-fortran/gfortranspec.o): New variable.
	(GFORTRAN_D_OBJS): Update.
	($(F95_PARSER_OBJS), fortran/openmp.o, GFORTRAN_TRANS_DEPS)
	(fortran/f95-lang.o, fortran/scanner.o, fortran/convert.o)
	(fortran/frontend-passes.o, fortran/trans.o, fortran/trans-decl.o)
	(fortran/trans-types, fortran/trans-const.o, fortran/trans-expr.o)
	(fortran/trans-stmt.o, fortran/trans-openmp.o, fortran/trans-io.o)
	(fortran/trans-array.o, fortran/trans-intrinsic.o)
	(fortran/dependency.o, fortran/trans-common.o, fortran/resolve.o)
	(fortran/data.o, fortran/options.o, fortran/cpp.o)
	(fortran/scanner.o, fortran/module.o): Remove.

From-SVN: r202904
2013-09-25 16:27:04 +00:00
Tom Tromey
8c796d19cf * Makefile.in (c-family/cppspec.o, c-family/c-common.o)
(c-family/c-cppbuiltin.o, c-family/c-dump.o, c-family/c-format.o)
	(c-family/c-gimplify.o, c-family/c-lex.o, c-family/c-omp.o)
	(c-family/c-opts.o, c-family/c-pch.o, c-family/c-ppoutput.o)
	(c-family/c-pragma.o, c-family/c-pretty-print.o)
	(c-family/c-semantics.o, c-family/c-ada-spec.o)
	(c-family/array-notation-common.o, c-family/stub-objc.o)
	(c-family/c-ubsan.o): Remove.

From-SVN: r202903
2013-09-25 16:25:32 +00:00
Tom Tromey
76af5b38b5 Make-lang.in (jvspec.o): Remove.
* Make-lang.in (jvspec.o): Remove.
	(CFLAGS-java/jvspec.o): New variable.
	($(XGCJ)$(exeext), java_OBJS): Use java/jvspec.o
	(java/jvspec.o-warn): Rename from jvspec.o-warn.
	(JAVA_TREE_H, java/jcf-dump.o, java/boehm.o, java/builtins.o)
	(java/class.o, java/constants.o, java/decl.o, java/except.o)
	(java/expr.o, java/jcf-depend.o, java/jcf-parse.o)
	(java/jvgenmain.o, java/lang.o, java/mangle.o, java/mangle_name.o)
	(java/resource.o java/typeck.o, java/win32-host.o)
	(java/verify-glue.o, java/verify-impl.o, java/zextract.o)
	(java/java-gimplify.o, java/jcf-io.o, java/jcf-path.o): Remove.

From-SVN: r202902
2013-09-25 16:24:30 +00:00
Tom Tromey
694e859ad1 Make-lang.in (CXX_TREE_H, [...]): Remove.
gcc/cp
	* Make-lang.in (CXX_TREE_H, CXX_PARSER_H, CXX_PRETTY_PRINT_H):
	Remove.
gcc/objcp
	* Make-lang.in (START_HDRS, cc1objplus-checksum.o)
	(objcp/objcp-lang.o, objcp/objcp-decl.o
	(objcp/objc-runtime-shared-support.o)
	(objcp/objc-gnu-runtime-abi-01.o objcp/objc-next-runtime-abi-01.o)
	(objcp/objc-next-runtime-abi-02.o, objcp/objcp-act.o)
	(objcp/objc-encoding.o, objcp/objc-map.o): Use COMPILE and
	POSTCOMPILE.  Remove explicit dependencies.

From-SVN: r202901
2013-09-25 16:23:02 +00:00
Tom Tromey
26d78376db * Make-lang.in (START_HDRS, cc1obj-checksum.o, objc/objc-lang.o)
(objc/objc-runtime-shared-support.o)
	(objc/objc-gnu-runtime-abi-01.o, objc/objc-next-runtime-abi-01.o)
	(objc/objc-next-runtime-abi-02.o, objc/objc-act.o)
	(objc/objc-encoding.o, objc/objc-map.o): Remove.

From-SVN: r202900
2013-09-25 16:21:42 +00:00
Tom Tromey
84394ee172 Make-lang.in (g++spec.o): Remove.
* Make-lang.in (g++spec.o): Remove.
	(CFLAGS-cp/g++spec.o): New variable.
	(GXX_OBJS): Reference cp/g++spec.o.
	(cc1plus-checksum.o, cp/lex.o, cp/cp-array-notation.o)
	(cp/cp-lang.o, cp/decl.o, cp/decl2.o, cp/cp-objcp-common.o)
	(cp/typeck2.o, cp/typeck.o, cp/class.o, cp/call.o)
	(cp/friend.o, cp/init.o, cp/method.o, cp/cvt.o, cp/search.o)
	(cp/tree.o, cp/ptree.o, cp/rtti.o, cp/except.o, cp/expr.o)
	(cp/pt.o, cp/error.o, cp/repo.o, cp/semantics.o, cp/dump.o)
	(cp/optimize.o, cp/mangle.o, cp/parser.o, cp/cp-gimplify.o)
	(cp/name-lookup.o, cp/cxx-pretty-print.o): Remove.

From-SVN: r202899
2013-09-25 16:19:43 +00:00
Tom Tromey
0a6c222704 Makefile.in (C_TREE_H): Reference c/c-tree.h.
* Makefile.in (C_TREE_H): Reference c/c-tree.h.
gcc/c
	* Make-lang.in (c/gccspec.o): Remove.
	(CFLAGS-c/gccspec.o): New variable.
	(cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
	(c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
	(c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.

From-SVN: r202898
2013-09-25 16:18:20 +00:00
Tom Tromey
f3bc55f038 Makefile.in (DRIVER_DEFINES): Use $(and), not shell code, to add -DENABLE_SHARED_LIBGCC.
* Makefile.in (DRIVER_DEFINES): Use $(and), not shell code,
	to add -DENABLE_SHARED_LIBGCC.
	(gcc.o): Don't use subshell.
gcc/c
	* Make-lang.in (c/gccspec.o): Don't use subshell.
gcc/cp
	* Make-lang.in (g++spec.o): Don't use subshell.
gcc/fortran
	* Make-lang.in (gfortranspec.o): Don't use subshell.
gcc/go
	* Make-lang.in (gospec.o): Don't use subshell.
gcc/java
	* Make-lang.in (jvspec.o): Don't use subshell.

From-SVN: r202897
2013-09-25 16:15:59 +00:00
Tom Tromey
c11c795e4b Makefile.in (OUTPUT_OPTION): Define as "-o $@".
* Makefile.in (OUTPUT_OPTION): Define as "-o $@".
	* configure.ac: Don't invoke AM_PROG_CC_C_O.
	(NO_MINUS_C_MINUS_O, OUTPUT_OPTION): Don't subst.
	* configure, config.in: Rebuild.
gcc/ada
	* gcc-interface/Makefile.in (OUTPUT_OPTION): Define as "-o $@".

From-SVN: r202896
2013-09-25 16:10:35 +00:00
Tom Tromey
043378c308 (clh 9)
From-SVN: r202895
2013-09-25 15:55:01 +00:00
Tom Tromey
eab34643d4 (clh 5)
From-SVN: r202894
2013-09-25 15:52:30 +00:00
Tom Tromey
d2db5e91c2 (clh 6)
From-SVN: r202893
2013-09-25 15:51:26 +00:00
Jeff Law
af33629e0a tree-ssa-threadedge.c (thread_across_edge): Use foo.last () rather than foo[foo.length () - 1] to access last member in a vec.
* tree-ssa-threadedge.c (thread_across_edge): Use foo.last () rather
        than foo[foo.length () - 1] to access last member in a vec.
        * tree-ssa-threadupdate.c (register_jump_thread): Similarly.

From-SVN: r202892
2013-09-25 09:33:34 -06:00
Richard Biener
ed0d30514f re PR bootstrap/58521 (bootstrap failure: ICE in mem_ref_in_stmt, at tree-ssa-loop-im.c:677)
2013-09-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/58521
	* tree.c (iterative_hash_expr): Remove MEM_REF special handling.

From-SVN: r202889
2013-09-25 09:51:13 +00:00
Jan Hubicka
123485ca22 cgraph.c (cgraph_resolve_speculation): Use semantical equivalency test.
* cgraph.c (cgraph_resolve_speculation): Use semantical equivalency
	test.

From-SVN: r202888
2013-09-25 09:48:55 +00:00
Marek Polacek
d70b0f1f22 re PR sanitizer/58420 (internal compiler error: in ubsan_type_descriptor, at ubsan.c:280)
PR sanitizer/58420
	* ubsan.c (ubsan_type_descriptor): Handle IDENTIFIER_NODEs
	when determining the type name.

From-SVN: r202887
2013-09-25 09:04:20 +00:00
Marek Polacek
b56e978833 re PR sanitizer/58413 (ubsan constant folding)
PR sanitizer/58413
c-family/
	* c-ubsan.c (ubsan_instrument_shift): Don't instrument
	an expression if we can prove it is correct.
	(ubsan_instrument_division): Likewise.  Remove unnecessary
	check.
testsuite/
	* c-c++-common/ubsan/shift-5.c: New test.
	* c-c++-common/ubsan/shift-6.c: New test.
	* c-c++-common/ubsan/div-by-zero-5.c: New test.
	* gcc.dg/ubsan/c-shift-1.c: New test.


Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r202886
2013-09-25 08:58:57 +00:00
Marek Polacek
550dfe7f28 re PR c++/58516 (ICE with __transaction_atomic)
PR c++/58516
cp/
	* semantics.c (finish_transaction_stmt): Check for EXPR_P before
	setting the expr location.

testsuite/
	* g++.dg/tm/pr58516.C: New test.

From-SVN: r202883
2013-09-25 07:48:47 +00:00
Ian Lance Taylor
28d18db363 compiler: don't permit nil assignment to blank identifier.
Fixes https://code.google.com/p/go/issues/detail?id=6005.

From-SVN: r202881
2013-09-25 03:28:06 +00:00
GCC Administrator
6a9502fdf9 Daily bump.
From-SVN: r202879
2013-09-25 00:17:32 +00:00
Oleg Endo
e3f027988c sh.md: Fix formatting.
* config/sh/sh.md: Fix formatting.

From-SVN: r202876
2013-09-24 22:18:37 +00:00
Xinliang David Li
4f17aa0b9d Implement --param=vect-max-peeling-for-alignment=..
From-SVN: r202875
2013-09-24 20:44:03 +00:00
Caroline Tice
114f3eb91d Update libvtv to install header files in standard
location rather than top level include dir.

From-SVN: r202873
2013-09-24 12:29:28 -07:00
Kyrylo Tkachov
aec2eae65f target-supports.exp (check_effective_target_arm_cond_exec): New procedure.
[gcc/testsuite/]
2013-09-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    * lib/target-supports.exp (check_effective_target_arm_cond_exec):
    New procedure.
    * gcc.target/arm/minmax_minus.c: Check for cond_exec target.

From-SVN: r202872
2013-09-24 17:23:43 +00:00
Christophe Lyon
0498471be6 gimple-pretty-print.c: Various whitespace tweaks.
2013-09-24  Christophe Lyon  <christophe.lyon@linaro.org>

	* gimple-pretty-print.c: Various whitespace tweaks.
	* tree-core.h: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-ssa-alias.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssanames.c: Likewise.
	* tree-ssanames.h: Likewise.
	* tree-vrp.c: Likewise.

From-SVN: r202869
2013-09-24 17:57:00 +02:00
Alan Modra
5a8c2b571c re PR middle-end/57134 (ICE with -mstrict-align and inline assembly on ppc64)
PR middle-end/57134
	PR middle-end/57586
	* stmt.c (expand_asm_operands): Call expand_expr with
	EXPAND_MEMORY for output operands that disallow regs.  Don't
	use EXPAND_WRITE on inout operands.

From-SVN: r202866
2013-09-24 21:02:28 +09:30
Richard Biener
f40333afeb re PR tree-optimization/58513 (*var and MEM[(const int &)var] (var has int* type) are not treated as the same data ref.)
2013-09-24  Richard Biener  <rguenther@suse.de>

	PR middle-end/58513
	* tree.c (reference_alias_ptr_type): Move ...
	* alias.c (reference_alias_ptr_type): ... here and implement
	in terms of the new reference_alias_ptr_type_1.
	(ref_all_alias_ptr_type_p): New helper.
	(get_deref_alias_set_1): Drop flag_strict_aliasing here,
	use ref_all_alias_ptr_type_p.
	(get_deref_alias_set): Add flag_strict_aliasing check here.
	(reference_alias_ptr_type_1): New function, split out from ...
	(get_alias_set): ... here.
	(alias_ptr_types_compatible_p): New function.
	* alias.h (reference_alias_ptr_type): Declare.
	(alias_ptr_types_compatible_p): Likewise.
	* tree.h (reference_alias_ptr_type): Remove.
	* fold-const.c (operand_equal_p): Use alias_ptr_types_compatible_p
	to compare MEM_REF alias types.

	* g++.dg/vect/pr58513.cc: New testcase.

From-SVN: r202865
2013-09-24 11:04:04 +00:00
Richard Biener
583e8bf5d0 tree-vrp.c (vrp_finalize): Check for SSA name presence.
2013-09-24  Richard Biener  <rguenther@suse.de>

	* tree-vrp.c (vrp_finalize): Check for SSA name presence.

From-SVN: r202863
2013-09-24 10:37:28 +00:00
Marc Glisse
63ebd8f129 re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
2013-09-24  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/58338
	PR libstdc++/56166
	* include/bits/basic_string.h (basic_string)
	[basic_string(basic_string&&)]: Make the noexcept conditional.
	[operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
	[begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
	[pop_back]: Comment on the lack of noexcept.
	* include/debug/string (basic_string) [basic_string(const _Allocator&),
	basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
	operator[](size_type), pop_back]: Comment out noexcept, until vstring
	replaces basic_string.

From-SVN: r202861
2013-09-24 10:07:32 +00:00
Yvan Roux
fae205619d atomic-comp-swap-release-acquire.c: Adjust expected output.
2013-09-24  Yvan Roux  <yvan.roux@linaro.org>

	* gcc.target/arm/atomic-comp-swap-release-acquire.c: Adjust expected 
	output.

From-SVN: r202860
2013-09-24 08:39:55 +00:00
Michael Meissner
19c3e79775 0;261;0c2013-09-23 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_vector_reload): Delete, combine
	reload helper function arrays into a single array reg_addr.
	(reload_fpr_gpr): Likewise.
	(reload_gpr_vsx): Likewise.
	(reload_vsx_gpr): Likewise.
	(struct rs6000_reg_addr): Likewise.
	(reg_addr): Likewise.
	(rs6000_debug_reg_global): Change rs6000_vector_reload,
	reload_fpr_gpr, reload_gpr_vsx, reload_vsx_gpr uses to reg_addr.
	(rs6000_init_hard_regno_mode_ok): Likewise.
	(rs6000_secondary_reload_direct_move): Likewise.
	(rs6000_secondary_reload): Likewise.

From-SVN: r202859
2013-09-24 03:35:46 +00:00
Tim Shen
c2669da93d Makefile.am: Add regex.tcc.
2013-09-24  Tim Shen  <timshen91@gmail.com>

	* include/Makefile.am: Add regex.tcc.
	* include/Makefile.in: Regenerate.
	* include/bits/regex.h: Remove definitions to regex.tcc.
	* include/bits/regex.tcc: New.
	(match_results::format, regex_replace): Implement;
	* include/bits/regex_compiler.h: Move _M_flags to the top of class
	member list, because other members' initialization depend on it.
	* include/bits/regex_compiler.tcc
	(_Compiler<>::_Compiler): Adjust member initializations.
	(_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
	* include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
	In the future, all regex classes may refactor to *Impl style.
	* include/bits/regex_executor.tcc (_Executor::_M_set_results):
	Merge identical code from _*Executor classes.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
	caller for new __get_executors interface.
	* testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
	New.
	* testsuite/28_regex/match_results/format.cc: New.
	* testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
	testcase.
	* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.

From-SVN: r202858
2013-09-24 02:05:00 +00:00
GCC Administrator
5704e02240 Daily bump.
From-SVN: r202854
2013-09-24 00:16:43 +00:00
Adam Butcher
ef4369671c Fix 58500.
gcc/cp/
	PR c++/58500
	* type-utils.h (find_type_usage): Only traverse one type level into
	member function pointers.

gcc/testsuite/
	PR c++/58500
	* g++.dg/cpp1y/pr58500.C: New testcase.

From-SVN: r202851
2013-09-23 23:43:44 +01:00
Adam Butcher
7a9a6e2449 Fix instantiation of implicit function template forward declarations.
* parser.c (cp_parser_init_declarator): Defer calling
	finish_fully_implicit_template for forward declarations until after
	other decl processing is complete.  Cleanup for clarity: Extract 'else'
	case after 'if' containing unconditional return.

From-SVN: r202850
2013-09-23 23:43:34 +01:00
Adam Butcher
1a4109b685 Generate more intuitive name for 'auto' parameters.
* parser.c (make_generic_type_name): Spell generic type names '<autoN>'
	rather than '__GenN'.

From-SVN: r202849
2013-09-23 23:43:25 +01:00
Adam Butcher
162b25fa1b Support nested generic lambdas.
* lambda.c (maybe_add_lambda_conv_op): Don't check for instantiated
	callop in the case of generic lambdas.

From-SVN: r202848
2013-09-23 23:43:15 +01:00
Adam Butcher
707df8ad64 Use translation-unit-global rather than parameter-list-local counter for generic type names to facilitate nested implicit function templates.
* parser.c (make_generic_type_name): Use global count rather than
	parameter and ...
	(add_implicit_template_parms): ... propagate interface change here.

From-SVN: r202847
2013-09-23 23:43:06 +01:00
Michael Meissner
5e8586d720 rs6000.h (enum r6000_reg_class_enum): Add new constraints: wu, ww, and wy.
2013-09-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add new
	constraints: wu, ww, and wy.  Repurpose wv constraint added during
	power8 changes.  Put wg constraint in alphabetical order.

	* config/rs6000/rs6000.opt (-mvsx-scalar-float): New debug switch
	for future work to add ISA 2.07 VSX single precision support.
	(-mvsx-scalar-double): Change default from -1 to 1, update
	documentation comment.
	(-mvsx-scalar-memory): Rename debug switch to -mupper-regs-df.
	(-mupper-regs-df): New debug switch to control whether DF values
	can go in the traditional Altivec registers.
	(-mupper-regs-sf): New debug switch to control whether SF values
	can go in the traditional Altivec registers.

	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print wu, ww,
	and wy constraints.
	(rs6000_init_hard_regno_mode_ok): Use ssize_t instead of int for
	loop variables.  Rename -mvsx-scalar-memory to -mupper-regs-df.
	Add new constraints, wu/ww/wy.  Repurpose wv constraint.
	(rs6000_debug_legitimate_address_p): Print if we are running
	before, during, or after reload.
	(rs6000_secondary_reload): Add a comment.
	(rs6000_opt_masks): Add -mupper-regs-df, -mupper-regs-sf.

	* config/rs6000/constraints.md (wa constraint): Sort w<x>
	constraints.  Update documentation string.
	(wd constraint): Likewise.
	(wf constraint): Likewise.
	(wg constraint): Likewise.
	(wn constraint): Likewise.
	(ws constraint): Likewise.
	(wt constraint): Likewise.
	(wx constraint): Likewise.
	(wz constraint): Likewise.
	(wu constraint): New constraint for ISA 2.07 SFmode scalar
	instructions.
	(ww constraint): Likewise.
	(wy constraint): Likewise.
	(wv constraint): Repurpose ISA 2.07 constraint that we not used in
	the previous submissions.
	* doc/md.texi (PowerPC and IBM RS6000): Likewise.

From-SVN: r202843
2013-09-23 21:13:38 +00:00
Richard Sandiford
e5af9ddd01 rtl.texi (REG_NOTES): Say that int_list can also be used.
gcc/
	* doc/rtl.texi (REG_NOTES): Say that int_list can also be used.
	(REG_BR_PROB): Say that the probability is stored in an int_list.
	* reg-notes.def: Update commentary to mention INT_LIST.
	* rtl.def (EXPR_LIST, INSN_LIST): Capitalize comments.
	(INT_LIST): New rtx.
	* rtl.h (add_int_reg_note, add_shallow_copy_of_reg_note): Declare.
	* rtlanal.c (int_reg_note_p): New function.
	(alloc_reg_note): Assert that the note does not have an int argument.
	(add_int_reg_note, add_shallow_copy_of_reg_note): New functions.
	* combine.c (distribute_notes): Use add_shallow_copy_of_rtx.
	* cse.c (cse_process_notes_1): Expect REG_EQUAL to be an EXPR_LIST
	rather than an INSN_LIST.  Handle INT_LIST.
	* ifcvt.c (cond_exec_process_insns): Take the probability as an int
	rather than an rtx.  Use gen_rtx_INT_LIST to create a REG_BR_PROB note.
	(cond_exec_process_if_block): Use XINT to extract REG_BR_PROB values.
	Manipulate them as ints rather than rtxes.
	* reg-stack.c (subst_asm_stack_regs): Only handle EXPR_LIST notes.
	* regmove.c (copy_src_to_dest): Likewise.
	* sched-vis.c (print_insn_with_notes): Handle INT_LIST.

	* config/i386/winnt.c (i386_pe_seh_unwind_emit): Sink pat assignment
	into the cases that need it.
	* config/arm/arm.c (arm_unwind_emit): Likewise.

	* asan.c (asan_clear_shadow): Use add_int_reg_note for REG_BR_PROB.
	* emit-rtl.c (try_split, emit_copy_of_insn_after): Likewise.
	* loop-doloop.c (add_test, doloop_modify): Likewise.
	* loop-unswitch.c (compare_and_jump_seq): Likewise.
	* optabs.c (emit_cmp_and_jump_insn_1): Likewise.
	* predict.c (combine_predictions_for_insn): Likewise.
	* print-rtl.c (print_rtx): Handle INT_LIST.
	* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): Likewise.
	* config/alpha/alpha.c (emit_unlikely_jump): Likewise.
	* config/arm/arm.c (emit_unlikely_jump): Likewise.
	* config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise.
	(ix86_split_fp_branch, predict_jump): Likewise.
	* config/rs6000/rs6000.c (emit_unlikely_jump): Likewise.
	* config/sh/sh.c (expand_cbranchsi4): Likewise.
	* config/spu/spu.c (ea_load_store_inline): Likewise.

	* cfgbuild.c (compute_outgoing_frequencies): Use XINT to access the
	value of a REG_BR_PROB note.
	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
	(update_br_prob_note, rtl_verify_edges, purge_dead_edges): Likewise.
	* emit-rtl.c (try_split): Likewise.
	* predict.c (br_prob_note_reliable_p): Likewise.
	(invert_br_probabilities, combine_predictions_for_insn): Likewise.
	* reorg.c (mostly_true_jump): Likewise.
	* config/bfin/bfin.c (cbranch_predicted_taken_p): Likewise.
	* config/frv/frv.c (frv_print_operand_jump_hint): Likewise.
	* config/i386/i386.c (ix86_print_operand): Likewise.
	* config/ia64/ia64.c (ia64_print_operand): Likewise.
	* config/mmix/mmix.c (mmix_print_operand): Likewise.
	* config/rs6000/rs6000.c (output_cbranch): Likewise.
	* config/s390/s390.c (s390_expand_tbegin): Likewise.
	* config/sh/sh.c (sh_print_operand, sh_adjust_cost): Likewise.
	* config/sparc/sparc.c (output_cbranch): Likewise.
	* config/spu/spu.c (get_branch_target): Likewise.
	* config/tilegx/tilegx.c (cbranch_predicted_p): Likewise.
	* config/tilepro/tilepro.c (cbranch_predicted_p): Likewise.

From-SVN: r202839
2013-09-23 17:41:02 +00:00