aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-10-29[PATCH][PR tree-optimization/67892] Use FSM threader to handle backedgesJeff Law7-38/+73
PR tree-optimization/67892 * tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo in comment. (thread_through_normal_block): If we have seen a backedge, then do nothing. No longer call find_jump_threads_backwards here. (thread_across_edge): Use find_jump_threads_backwards to find jump threads if the old style threader was not successful. * tree-ssa-threadbackward.c (get_gimple_control_stmt): Use gsi_last_nondebug_bb. Return NULL if the block does not end with a control statement. (find_jump_threads_backwards): Setup code moved here from tree-ssa-threadedge.c::thread_through_normal_block. Accept single edge argument instead of name & block. * tree-ssa-threadbackward.h (find_jump_threads_backwards): Update prototype. PR tree-optimization/67892 * gcc.dg/tree-ssa/pr21417: Update expected output. * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise. From-SVN: r229538
2015-10-29Allow CAST_RESTRICT foldingTom de Vries2-1/+5
2015-10-29 Tom de Vries <tom@codesourcery.com> * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict types. From-SVN: r229537
2015-10-29omp-low.c (lower_omp_target): Remove unreachable code & merge ifs.Nathan Sidwell2-5/+8
* omp-low.c (lower_omp_target): Remove unreachable code & merge ifs. From-SVN: r229535
2015-10-29Fix X - (X / Y) * Y in match.pd.Marc Glisse2-4/+10
2015-10-29 Marc Glisse <marc.glisse@inria.fr> * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity. From-SVN: r229534
2015-10-29decl.c: Reorder #include's and remove duplicates.Andrew MacLeod141-738/+667
ada 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * gcc-interface/decl.c: Reorder #include's and remove duplicates. * gcc-interface/misc.c: Likewise. * gcc-interface/targtyps.c: Likewise. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. c 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * c-array-notation.c: Reorder #include's and remove duplicates. * c-aux-info.c: Likewise. * c-convert.c: Likewise. * c-decl.c: Likewise. * c-errors.c: Likewise. * c-lang.c: Likewise. * c-objc-common.c: Likewise. * c-parser.c: Likewise. * c-typeck.c: Likewise. c-family 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * array-notation-common.c: Reorder #include's and remove duplicates. * c-ada-spec.c: Likewise. * c-cilkplus.c: Likewise. * c-common.c: Likewise. * c-cppbuiltin.c: Likewise. * c-dump.c: Likewise. * c-format.c: Likewise. * c-gimplify.c: Likewise. * c-indentation.c: Likewise. * c-lex.c: Likewise. * c-omp.c: Likewise. * c-opts.c: Likewise. * c-pch.c: Likewise. * c-ppoutput.c: Likewise. * c-pragma.c: Likewise. * c-pretty-print.c: Likewise. * c-semantics.c: Likewise. * c-ubsan.c: Likewise. * cilk.c: Likewise. * stub-objc.c: Likewise. cp 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * call.c: Reorder #include's and remove duplicates. * class.c: Likewise. * constexpr.c: Likewise. * cp-array-notation.c: Likewise. * cp-cilkplus.c: Likewise. * cp-gimplify.c: Likewise. * cp-lang.c: Likewise. * cp-objcp-common.c: Likewise. * cp-ubsan.c: Likewise. * cvt.c: Likewise. * cxx-pretty-print.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * dump.c: Likewise. * error.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * friend.c: Likewise. * init.c: Likewise. * lambda.c: Likewise. * lex.c: Likewise. * mangle.c: Likewise. * method.c: Likewise. * name-lookup.c: Likewise. * optimize.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * ptree.c: Likewise. * repo.c: Likewise. * rtti.c: Likewise. * search.c: Likewise. * semantics.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. * vtable-class-hierarchy.c: Likewise. fortran 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * array.c: Reorder #include's and remove duplicates. * convert.c: Likewise. * cpp.c: Likewise. * decl.c: Likewise. * f95-lang.c: Likewise. * frontend-passes.c: Likewise. * iresolve.c: Likewise. * match.c: Likewise. * module.c: Likewise. * options.c: Likewise. * parse.c: Likewise. * resolve.c: Likewise. * simplify.c: Likewise. * target-memory.c: Likewise. * trans-array.c: Likewise. * trans-common.c: Likewise. * trans-const.c: Likewise. * trans-decl.c: Likewise. * trans-expr.c: Likewise. * trans-intrinsic.c: Likewise. * trans-io.c: Likewise. * trans-openmp.c: Likewise. * trans-stmt.c: Likewise. * trans-types.c: Likewise. * trans.c: Likewise. go 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * go-backend.c: Reorder #include's and remove duplicates. * go-lang.c: Likewise. java 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * boehm.c: Reorder #include's and remove duplicates. * builtins.c: Likewise. * class.c: Likewise. * constants.c: Likewise. * decl.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * java-gimplify.c: Likewise. * jcf-dump.c: Likewise. * jcf-io.c: Likewise. * jcf-parse.c: Likewise. * jvgenmain.c: Likewise. * lang.c: Likewise. * mangle.c: Likewise. * mangle_name.c: Likewise. * resource.c: Likewise. * typeck.c: Likewise. * verify-glue.c: Likewise. * verify-impl.c: Likewise. jit 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * dummy-frontend.c: Reorder #include's and remove duplicates. * jit-builtins.c: Likewise. * jit-playback.c: Likewise. * jit-recording.c: Likewise. * libgccjit.c: Likewise. lto 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * lto-lang.c: Reorder #include's and remove duplicates. * lto-object.c: Likewise. * lto-partition.c: Likewise. * lto-symtab.c: Likewise. * lto.c: Likewise. objc 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * objc-lang.c: Reorder #include's and remove duplicates. * objc-map.c: Likewise. objcp 2015-10-29 Andrew MacLeod <amacleod@redhat.com> * objcp-decl.c: Reorder #include's and remove duplicates. * objcp-lang.c: Likewise. From-SVN: r229533
2015-10-29Remove redundant variable from tree-call-cdce.cRichard Sandiford2-6/+10
shrink_wrap_one_built_in_call had both guard_bb and guard_bb0. It looks like an earlier version of the pass may have updated one of the variables in the while loop, but now they're just two names for the same thing. Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. gcc/ * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove guard_bb0 and use guard_bb throughout. From-SVN: r229532
2015-10-29Remove unnecessary label from tree-call-cdce.cRichard Sandiford2-7/+5
Tested on x86_64-linux-gnu, arm-linux-gnueabi and aarch64-linux-gnu. gcc/ * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove unnecessary label. From-SVN: r229531
2015-10-29re PR middle-end/68142 (unsafe association of multiplication)Richard Biener4-2/+53
2015-10-29 Richard Biener <rguenther@suse.de> PR middle-end/68142 * fold-const.c (extract_muldiv_1): Avoid introducing undefined overflow. * c-c++-common/ubsan/pr68142.c: New testcase. From-SVN: r229528
2015-10-29alias.c: Reorder #include statements and remove duplicates.Andrew MacLeod289-2183/+2195
2015-10-29 Andrew MacLeod <amacleod@redhat.com> * alias.c: Reorder #include statements and remove duplicates. * asan.c: Likewise. * attribs.c: Likewise. * auto-inc-dec.c: Likewise. * auto-profile.c: Likewise. * bb-reorder.c: Likewise. * bt-load.c: Likewise. * builtins.c: Likewise. * caller-save.c: Likewise. * calls.c: Likewise. * ccmp.c: Likewise. * cfg.c: Likewise. * cfganal.c: Likewise. * cfgbuild.c: Likewise. * cfgcleanup.c: Likewise. * cfgexpand.c: Likewise. * cfghooks.c: Likewise. * cfgloop.c: Likewise. * cfgloopanal.c: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * cgraph.c: Likewise. * cgraphbuild.c: Likewise. * cgraphclones.c: Likewise. * cgraphunit.c: Likewise. * cilk-common.c: Likewise. * combine-stack-adj.c: Likewise. * combine.c: Likewise. * compare-elim.c: Likewise. * convert.c: Likewise. * coverage.c: Likewise. * cppbuiltin.c: Likewise. * cprop.c: Likewise. * cse.c: Likewise. * cselib.c: Likewise. * data-streamer-in.c: Likewise. * data-streamer-out.c: Likewise. * data-streamer.c: Likewise. * dbxout.c: Likewise. * dce.c: Likewise. * ddg.c: Likewise. * debug.c: Likewise. * df-core.c: Likewise. * df-problems.c: Likewise. * df-scan.c: Likewise. * dfp.c: Likewise. * dojump.c: Likewise. * dominance.c: Likewise. * double-int.c: Likewise. * dse.c: Likewise. * dumpfile.c: Likewise. * dwarf2asm.c: Likewise. * dwarf2cfi.c: Likewise. * dwarf2out.c: Likewise. * emit-rtl.c: Likewise. * except.c: Likewise. * explow.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * fixed-value.c: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * fwprop.c: Likewise. * gcse.c: Likewise. * generic-match-head.c: Likewise. * ggc-common.c: Likewise. * gimple-builder.c: Likewise. * gimple-expr.c: Likewise. * gimple-fold.c: Likewise. * gimple-iterator.c: Likewise. * gimple-low.c: Likewise. * gimple-match-head.c: Likewise. * gimple-pretty-print.c: Likewise. * gimple-ssa-isolate-paths.c: Likewise. * gimple-ssa-strength-reduction.c: Likewise. * gimple-streamer-in.c: Likewise. * gimple-streamer-out.c: Likewise. * gimple-walk.c: Likewise. * gimple.c: Likewise. * gimplify-me.c: Likewise. * gimplify.c: Likewise. * godump.c: Likewise. * graph.c: Likewise. * graphite-poly.c: Likewise. * haifa-sched.c: Likewise. * hw-doloop.c: Likewise. * ifcvt.c: Likewise. * incpath.c: Likewise. * init-regs.c: Likewise. * internal-fn.c: Likewise. * ipa-chkp.c: Likewise. * ipa-comdats.c: Likewise. * ipa-cp.c: Likewise. * ipa-devirt.c: Likewise. * ipa-icf-gimple.c: Likewise. * ipa-icf.c: Likewise. * ipa-inline-analysis.c: Likewise. * ipa-inline-transform.c: Likewise. * ipa-inline.c: Likewise. * ipa-polymorphic-call.c: Likewise. * ipa-profile.c: Likewise. * ipa-prop.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-ref.c: Likewise. * ipa-reference.c: Likewise. * ipa-split.c: Likewise. * ipa-utils.c: Likewise. * ipa-visibility.c: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-conflicts.c: Likewise. * ira-costs.c: Likewise. * ira-emit.c: Likewise. * ira-lives.c: Likewise. * ira.c: Likewise. * jump.c: Likewise. * langhooks.c: Likewise. * lcm.c: Likewise. * lists.c: Likewise. * loop-doloop.c: Likewise. * loop-init.c: Likewise. * loop-invariant.c: Likewise. * loop-iv.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lra-assigns.c: Likewise. * lra-coalesce.c: Likewise. * lra-constraints.c: Likewise. * lra-eliminations.c: Likewise. * lra-lives.c: Likewise. * lra-remat.c: Likewise. * lra-spills.c: Likewise. * lra.c: Likewise. * lto-cgraph.c: Likewise. * lto-compress.c: Likewise. * lto-opts.c: Likewise. * lto-section-in.c: Likewise. * lto-section-out.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.c: Likewise. * mode-switching.c: Likewise. * modulo-sched.c: Likewise. * omp-low.c: Likewise. * optabs.c: Likewise. * opts-global.c: Likewise. * passes.c: Likewise. * plugin.c: Likewise. * postreload-gcse.c: Likewise. * postreload.c: Likewise. * predict.c: Likewise. * print-tree.c: Likewise. * profile.c: Likewise. * real.c: Likewise. * realmpfr.c: Likewise. * recog.c: Likewise. * ree.c: Likewise. * reg-stack.c: Likewise. * regcprop.c: Likewise. * reginfo.c: Likewise. * regrename.c: Likewise. * regstat.c: Likewise. * reload.c: Likewise. * reload1.c: Likewise. * reorg.c: Likewise. * resource.c: Likewise. * rtl-chkp.c: Likewise. * rtl-error.c: Likewise. * rtlanal.c: Likewise. * rtlhooks.c: Likewise. * sanopt.c: Likewise. * sched-deps.c: Likewise. * sched-ebb.c: Likewise. * sched-rgn.c: Likewise. * sese.c: Likewise. * shrink-wrap.c: Likewise. * simplify-rtx.c: Likewise. * stack-ptr-mod.c: Likewise. * statistics.c: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * store-motion.c: Likewise. * stringpool.c: Likewise. * symtab.c: Likewise. * target-globals.c: Likewise. * targhooks.c: Likewise. * toplev.c: Likewise. * tracer.c: Likewise. * trans-mem.c: Likewise. * tree-affine.c: Likewise. * tree-call-cdce.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-chkp-opt.c: Likewise. * tree-chkp.c: Likewise. * tree-chrec.c: Likewise. * tree-complex.c: Likewise. * tree-data-ref.c: Likewise. * tree-dfa.c: Likewise. * tree-diagnostic.c: Likewise. * tree-dump.c: Likewise. * tree-eh.c: Likewise. * tree-emutls.c: Likewise. * tree-if-conv.c: Likewise. * tree-inline.c: Likewise. * tree-into-ssa.c: Likewise. * tree-iterator.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-nested.c: Likewise. * tree-nrv.c: Likewise. * tree-object-size.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-phinodes.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-profile.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-address.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-coalesce.c: Likewise. * tree-ssa-copy.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-dse.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-ifcombine.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-loop-ch.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-loop-unswitch.c: Likewise. * tree-ssa-loop.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-operands.c: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-phiprop.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-scopedtables.c: Likewise. * tree-ssa-sink.c: Likewise. * tree-ssa-strlen.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa-tail-merge.c: Likewise. * tree-ssa-ter.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa-uncprop.c: Likewise. * tree-ssa-uninit.c: Likewise. * tree-ssa.c: Likewise. * tree-ssanames.c: Likewise. * tree-stdarg.c: Likewise. * tree-streamer-in.c: Likewise. * tree-streamer-out.c: Likewise. * tree-streamer.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-tailcall.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-generic.c: Likewise. * tree-vect-loop-manip.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vectorizer.c: Likewise. * tree-vrp.c: Likewise. * tree.c: Likewise. * tsan.c: Likewise. * ubsan.c: Likewise. * value-prof.c: Likewise. * var-tracking.c: Likewise. * varasm.c: Likewise. * varpool.c: Likewise. * vtable-verify.c: Likewise. * web.c: Likewise. * wide-int-print.cc: Likewise. * wide-int.cc: Likewise. * xcoffout.c: Likewise. From-SVN: r229526
2015-10-29re PR c++/67845 (ICE on invalid use of const qualifier on x86_64-linux-gnu ↵Paolo Carlini4-0/+22
in merge_types, at cp/typeck.c:854) /cp 2015-10-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/67845 * decl.c (grokfndecl): In case of erroneous cv-qualified non-member functions consistently reset TREE_TYPE (decl) too. /testsuite 2015-10-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/67845 * g++.dg/other/cv_func4.C: New. From-SVN: r229523
2015-10-29Add BUILD_NO_PIE_CFLAGS and BUILD_NO_PIE_FLAGH.J. Lu4-8/+61
We shouldn't use NO_PIE_CFLAGS and NO_PIE_FLAG with CXX_FOR_BUILD when CXX_FOR_BUILD != CXX. This patch adds BUILD_NO_PIE_CFLAGS and BUILD_NO_PIE_FLAG to use with CXX_FOR_BUILD. They are set to NO_PIE_CFLAGS and NO_PIE_FLAG when build machine == host machine. Otherwise, they are set to NO_PIE_CFLAGS_FOR_BUILD and NO_PIE_FLAG_FOR_BUILD. * Makefile.in (NO_PIE_CFLAGS): New. (NO_PIE_FLAG): Likewise. (NO_PIE_CFLAGS_FOR_BUILD): Likewise. (NO_PIE_FLAG_FOR_BUILD): Likewise. (BUILD_NO_PIE_CFLAGS): Likewise. (BUILD_NO_PIE_FLAG): Likewise. (COMPILER): Replace @NO_PIE_CFLAGS@ with $(NO_PIE_CFLAGS). (LINKER): Replace @NO_PIE_FLAG@ with $(NO_PIE_FLAG). (BUILD_CFLAGS): Replace @NO_PIE_CFLAGS@ with $(BUILD_NO_PIE_CFLAGS). (BUILD_CXXFLAGS): Likewise. (BUILD_LDFLAGS ): Replace @NO_PIE_FLAG@ with $(BUILD_NO_PIE_FLAG). * configure.ac (BUILD_NO_PIE_CFLAGS): New. AC_SUBST. (BUILD_NO_PIE_FLAG): Likewise. (NO_PIE_CFLAGS_FOR_BUILD): Likewise. (NO_PIE_FLAG_FOR_BUILD): Likewise. * configure: Regenerated. From-SVN: r229522
2015-10-29re PR middle-end/56956 (ftrapv traps on valid abs-like code)Richard Biener4-4/+28
2015-10-29 Richard Biener <rguenther@suse.de> PR middle-end/56956 * fold-const.c (fold_cond_expr_with_comparison): Do not fold unsigned conditonal negation to ABS_EXPR. * c-c++-common/ubsan/pr56956.c: New testcase. From-SVN: r229517
2015-10-29gimple-match-head.c (gimple_simplify): Remove premature checking of ↵Richard Biener4-5/+12
builtin_decl_implicit of function calls we simplify. 2015-10-29 Richard Biener <rguenther@suse.de> * gimple-match-head.c (gimple_simplify): Remove premature checking of builtin_decl_implicit of function calls we simplify. fortran/ * f95-lang.c: Properly build variadic types for classification and comparison builtins. From-SVN: r229515
2015-10-29tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on.Bin Cheng2-5/+15
* tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on. (get_computation_cost_at): Ditto. (determine_use_iv_cost_address): Pass NULL for arguments depends_on and inv_expr_id. From-SVN: r229514
2015-10-29Daily bump.GCC Administrator1-1/+1
From-SVN: r229511
2015-10-28* gnat.dg/discr44.adb: New test.Eric Botcazou2-2/+33
From-SVN: r229508
2015-10-28Remove superfluous code in intra_create_variable_infosTom de Vries2-12/+12
2015-10-28 Tom de Vries <tom@codesourcery.com> * tree-ssa-structalias.c (intra_create_variable_infos): Remove superfluous code. From-SVN: r229506
2015-10-28Fix for ICE with -g on testcase with incomplete types.Jim Wilson4-1/+31
gcc/c/ PR debug/66068 * c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS after calling build_qualified_type. gcc/testsuite/ PR debug/66068 * gcc.dg/debug/pr66068.c: New test. From-SVN: r229505
2015-10-28Make-lang.in (c.tags): Also include libcpp TAGS.Jason Merrill2-1/+6
gcc/c/ * Make-lang.in (c.tags): Also include libcpp TAGS. gcc/cp/ * Make-lang.in (c++.tags): Also include libcpp TAGS. From-SVN: r229504
2015-10-28re PR fortran/67933 (ICE for array of a derived type with allocatable class ↵Paul Thomas2-1/+7
in derived type object) 2015-01-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/67933 * gfortran.dg/allocate_with_source_15.f03: Correct trivial array bounds error at line 25. From-SVN: r229503
2015-10-28DR 1518Jason Merrill4-3/+39
DR 1518 * class.c (type_has_user_provided_or_explicit_constructor): New. (check_bases_and_members): Use it. * cp-tree.h: Declare it. From-SVN: r229501
2015-10-28* c-common.c (pointer_int_sum): Fold the MULT_EXPR.Jason Merrill3-4/+12
From-SVN: r229500
2015-10-28omp-low.c (MASK_GANG, [...]): Delete.Nathan Sidwell2-15/+4
* omp-low.c (MASK_GANG, MASK_WORKER, MASK_VECTOR): Delete. (extract_omp_for_data): Remove OpenACC special handling of chunking. From-SVN: r229499
2015-10-28nvptx.c (nvptx_print_operand): Remove 'd' case.Nathan Sidwell2-19/+11
* config/nvptx/nvptx.c (nvptx_print_operand): Remove 'd' case. (struct parallel): Update comment. (nvptx_reorg): Likewise. (nvptx_neuter): Cleanup whitespace. From-SVN: r229498
2015-10-28* tree-eh.c (mark_reachable_handlers): Fix typo in assert.Richard Henderson2-1/+5
From-SVN: r229497
2015-10-28oddspreg-3.c: Disable for MIPS16.Catherine Moore5-4/+11
2015-10-28 Catherine Moore <clm@codesourcery.com> * gcc.target/mips/oddspreg-3.c: Disable for MIPS16. * gcc.target/mips/oddspreg-6.c: Likewise. * gcc.target/mips/oddspreg-1.c: Likewise. * gcc.target/mips/oddspreg-2.c: Likewise. From-SVN: r229496
2015-10-28re PR target/67839 (Bit addressable instructions generated for invalid ↵Senthil Kumar Selvaraj4-2/+43
memory address) gcc/ChangeLog PR target/67839 * config/avr/predicates.md (low_io_address_operand): Don't consider MODE when computing upper bound. (io_address_operand): Likewise. gcc/testsuite/ChangeLog PR target/67839 * gcc.target/avr/pr67839.c: New test. From-SVN: r229495
2015-10-28fold-const.c (operand_equal_p): Do not verify that types are compatible for ↵Jan Hubicka2-3/+5
MEM_REFs. * fold-const.c (operand_equal_p): Do not verify that types are compatible for MEM_REFs. From-SVN: r229494
2015-10-28gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs in simplifying ↵Richard Biener4-3/+13
VEC_COND_EXPR conditions. 2015-10-28 Richard Biener <rguenther@suse.de> * gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs in simplifying VEC_COND_EXPR conditions. * gcc.dg/tree-ssa/operand-equal-2.c: Adjust. From-SVN: r229492
2015-10-28Generate constraints only once in intra_create_variable_infosTom de Vries2-0/+7
2015-10-28 Tom de Vries <tom@codesourcery.com> * tree-ssa-structalias.c (intra_create_variable_infos): Don't iterate into vi_next of a full_var. From-SVN: r229490
2015-10-28Improve alias dump infoTom de Vries4-51/+88
2015-10-28 Tom de Vries <tom@codesourcery.com> * tree-ssa-structalias.c (new_var_info, make_heapvar) (make_constraint_from_restrict, make_constraint_from_global_restrict) (create_function_info_for, create_variable_info_for_1) (create_variable_info_for): Add and handle add_id parameter. (get_call_vi, new_scalar_tmp_constraint_exp, handle_rhs_call) (init_base_vars): Add extra argument to calls to new_var_info. (get_vi_for_tree): Add extra argument to call to create_variable_info_for. (process_constraint, do_deref, process_all_all_constraints): Add extra argument to calls to new_scalar_tmp_constraint_exp. (handle_lhs_call, find_func_aliases_for_builtin_call): Add extra argument to calls to make_heapvar. (make_restrict_var_constraints): Add extra argument to call to make_constraint_from_global_restrict. (intra_create_variable_infos): Add extra argument to call to create_variable_info_for_1. (ipa_pta_execute): Add extra argument to call to create_function_info_for. * gcc.dg/tree-ssa/pta-callused.c: Update to scan for CALLUSED(id). From-SVN: r229489
2015-10-28Handle noplt in call expanders for AArch64.Ramana Radhakrishnan2-10/+19
2015-10-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt. (sibcall_value): Likewise. From-SVN: r229488
2015-10-28nvptx.h (struct machine_function): Add axis_predicate.Nathan Sidwell5-23/+1375
* config/nvptx/nvptx.h (struct machine_function): Add axis_predicate. * config/nvptx/nvptx-protos.h (nvptx_expand_oacc_fork, nvptx_expand_oacc_join): Declare. * config/nvptx/nvptx.md (UNSPEC_NTID, UNSPEC_TID): Delete. (UNSPEC_DIM_SIZE, UNSPEC_SHARED_DATA, UNSPEC_BIT_CONV, UNSPEC_SHUFFLE, UNSPEC_BR_UNIFIED): New. (UNSPECV_BARSYNC, UNSPECV_DIM_POS, UNSPECV_FORK, UNSPECV_FORKED, UNSPECV_JOINING, UNSPECV_JOIN): New. (BITS, BITD): New mode iterators. (br_true_uni, br_false_uni): New. (*oacc_ntid_insn, oacc_ntid, *oacc_tid_insn, oacc_tid): Delete. (oacc_dim_size, oacc_dim_pos): New. (nvptx_fork, nvptx_forked, nvptx_joining, nvptx_join): New. (oacc_fork, oacc_join): New. (nvptx_shuffle<mode>, unpack<mode>si2, packsi<mode>2): New. (worker_load<mode>, worker_store<mode>): New. (nvptx_barsync): New. * config/nvptx/nvptx.c: Include gimple.h & dumpfile.h. (SHUFFLE_UP, SHUFFLE_DOWN, SHUFFLE_BFLY, SHUFFLE_IDX): Define. (worker_bcast_hwm, worker_bcast_align, worker_bcast_name, worker_bcast_sym): New. (nvptx_option_override): Initialize worker broadcast buffer. (nvptx_emit_forking, nvptx_emit_joining): New. (nvptx_init_axis_predicate): New. (nvptx_declare_function_name): Init axis predicates. (nvptx_expand_call): Add fork/join markers around routine call. (nvptx_expand_oacc_fork, nvptx_expand_oacc_join): New. (nvptx_gen_unpack, nvptx_gen_pack, nvptx_gen_shuffle): New. (nvptx_gen_vcast): New. (struct wcast_data_t): New. (enum propagate_mask): New. (nvptx_gen_wcast): New. (nvptx_print_operand): Add 'S' case. (struct parallel): New. (parallel::parallel, parallel::~parallel): New. (bb_insn_map_t, insn_bb_t, insn_bb_vec_t): New typedefs. (nvptx_split_blocks, nvptx_discover_pre, nvptx_dump_pars, nvptx_find_par, nvptx_discover_pars): New. (nvptx_propagate): New. (vprop_gen, nvptx_vpropagate): New. (wprop_gen, nvptx_wpropagate): New. (nvptx_wsync): New. (nvptx_single, nvptx_skip_par): New. (nvptx_process_pars, nvptx_neuter_pars): New. (ntptx_reorg): Split blocks, generate parallel structure, apply neutering. (nvptx_cannot_copy_insn_p): New. (nvptx_file_end): Emit worker broadcast decl. (nvptx_goacc_fork_join): New. (TARGET_CANNOT_COPY_INSN_P): Override. (TARGET_GOACC_FORK_JOIN): Override. From-SVN: r229486
2015-10-28re PR ipa/67600 (Segfault when assigning only one char to ↵Richard Biener2-27895/+8
ostreambuf_iterator<char> compiled with -O2 or -O3) 2015-10-28 Richard Biener <rguenther@suse.de> PR ipa/67600 * g++.dg/torture/pr67600.C: Remove preprocessed headers in favor of #includes. From-SVN: r229485
2015-10-28fold-const.c (negate_expr_p): Adjust the division case to properly avoid ↵Richard Biener2-55/+34
introducing undefined overflow. 2015-10-28 Richard Biener <rguenther@suse.de> * fold-const.c (negate_expr_p): Adjust the division case to properly avoid introducing undefined overflow. (fold_negate_expr): Likewise. From-SVN: r229484
2015-10-28re PR middle-end/65962 (Missed vectorization of strided stores)Richard Biener4-9/+20
2015-10-28 Richard Biener <rguenther@suse.de> PR tree-optimization/65962 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Avoid creating loop carried dependences also for outer loops of the loop a use to replace is in. * gcc.dg/vect/vect-62.c: Adjust. From-SVN: r229481
2015-10-28common.opt (fchecking): New flag controlling flag_checking.Richard Biener5-14/+23
2015-10-28 Richard Biener <rguenther@suse.de> * common.opt (fchecking): New flag controlling flag_checking. * passes.c (verify_curr_properties): Drop DEBUG_FUNCTION. * timevar.c (timer::print): Adjust output. * doc/invoke.texi (fchecking): Document. From-SVN: r229480
2015-10-28re PR middle-end/68067 (Wrong constant folding)Richard Biener5-3/+55
2015-10-28 Richard Biener <rguenther@suse.de> PR middle-end/68067 * fold-const.c (negate_expr_p): We cannot negate plus or minus if overflow is not wrapping. Likewise multiplication unless one operand is constant and not power of two. (fold_negate_expr): Adjust accordingly. * gcc.dg/torture/pr68067-1.c: New testcase. * gcc.dg/torture/pr68067-2.c: Likewise. From-SVN: r229479
2015-10-28rs6000: p8vector-builtin-8.c test requires int128Segher Boessenkool2-1/+5
For 32-bit targets p8vector_ok does not imply we have int128. 2015-10-28 Segher Boessenkool <segher@kernel.crashing.org> gcc/testsuite/ * gcc.target/powerpc/p8vector-builtin-8.c: Add "target int128". From-SVN: r229474
2015-10-28rs6000: Fix tests for xvmadd and xvnmsubSegher Boessenkool3-3/+9
The patterns involved can create vmadd resp. vnmsub instructions instead. This patch changes the testcases to allow those. 2015-10-26 Segher Boessenkool <segher@kernel.crashing.org> gcc/testsuite/ * gcc.target/powerpc/vsx-builtin-2.c: Allow vmadd and vnmsub as well as xvmadd and xvnmsub. * gcc.target/powerpc/vsx-vector-2.c: Allow vmadd as well as xvmadd. From-SVN: r229473
2015-10-28omp-low.c (struct omp_context): Remove gwv_below, gwv_this fields.Nathan Sidwell2-106/+909
* omp-low.c (struct omp_context): Remove gwv_below, gwv_this fields. (is_oacc_parallel, is_oacc_kernels): New. (enclosing_target_ctx): May return NULL. (ctx_in_oacc_kernels_region): New. (check_oacc_kernel_gwv): New. (oacc_loop_or_target_p): Delete. (scan_omp_for): Don't calculate gwv mask. Check parallel clause operands. Strip reductions fro kernels. (scan_omp_target): Don't calculate gwv mask. (lower_oacc_head_mark, lower_oacc_loop_marker, lower_oacc_head_tail): New. (struct oacc_collapse): New. (expand_oacc_collapse_init, expand_oacc_collapse_vars): New. (expand_omp_for_static_nochunk, expand_omp_for_static_chunk): Remove OpenACC handling. (expand_oacc_for): New. (expand_omp_for): Call expand_oacc_for. (lower_omp_for): Call lower_oacc_head_tail. From-SVN: r229472
2015-10-27[PATCH 7/9] ENABLE_CHECKING refactoring: middle-end, LTO FEMikhail Maltsev104-918/+917
[PATCH 7/9] ENABLE_CHECKING refactoring: middle-end, LTO FE gcc/lto/ChangeLog: 2015-10-27 Mikhail Maltsev <maltsevm@gmail.com> * lto.c (unify_scc): Use flag_checking and remove ENABLE_CHECKING conditionals. (lto_fixup_state): Likewise. (do_whole_program_analysis): Use symtab_node::checking_verify_symtab_nodes and remove ENABLE_CHECKING conditionals. gcc/ChangeLog: 2015-10-27 Mikhail Maltsev <maltsevm@gmail.com> * attribs.c (check_attribute_tables): New function, broken out from... (init_attributes): Use it. * cfgcleanup.c (try_optimize_cfg): Use flag_checking, CHECKING_P gcc_checking_assert and checking_* functions to eliminate ENABLE_CHECKING conditionals. * cfgexpand.c (expand_goto, expand_debug_expr): Likewise. (pass_expand::execute): Likewise. * cgraphclones.c (symbol_table::materialize_all_clones): Likewise. * cgraphunit.c (mark_functions_to_output): Likewise. (cgraph_node::expand_thunk): Likewise. (symbol_table::compile): Likewise. * ddg.c (add_cross_iteration_register_deps): Likewise. (create_ddg_all_sccs): Likewise. * df-core.c (df_finish_pass, df_analyze): Likewise. * diagnostic-core.h: Likewise. * diagnostic.c (diagnostic_report_diagnostic): Likewise. * dominance.c (calculate_dominance_info): Likewise. * dwarf2out.c (add_AT_die_ref): Likewise. (const_ok_for_output_1, mem_loc_descriptor): Likewise. (loc_list_from_tree, gen_lexical_block_die): Likewise. gen_type_die_with_usage, gen_type_die): Likewise. (dwarf2out_decl): Likewise. * emit-rtl.c (verify_rtx_sharing, reorder_insns_nobb): Likewise. * except.c (duplicate_eh_regions): Likewise. * fwprop.c (register_active_defs, update_df_init): Likewise. (fwprop_init, fwprop_done): Likewise. (update_uses): Likewise. * ggc-page.c (ggc_grow): Likewise. * gimplify.c (gimplify_body): Likewise. (gimplify_hasher::equal): Likewise. * graphite-isl-ast-to-gimple.c (graphite_verify): Likewise. * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Likewise. * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Likewise. (rewrite_cross_bb_scalar_deps_out_of_ssa): Likwise. * hash-table.h (::find_empty_slot_for_expand): Likewise. * ifcvt.c (if_convert): Likewise. * ipa-cp.c (ipcp_propagate_stage): Likewise. * ipa-devirt.c (type_in_anonymous_namespace_p): Likewise. (odr_type_p, odr_types_equivalent_p): Likewise. (add_type_duplicate, get_odr_type): Likewise. * ipa-icf.c (sem_item_optimizer::execute): Likewise. (sem_item_optimizer::subdivide_classes_by_equality): Likewise. (sem_item_optimizer::verify_classes): Likewise. (sem_item_optimizer::traverse_congruence_split): Likewise. (sem_item_optimizer::checking_verify_classes): New. * ipa-icf.h (sem_item_optimizer::checking_verify_classes): Add new method. * cfgrtl.c (commit_edge_insertions): Likewise. (fixup_reorder_chain, cfg_layout_finalize): Likewise. (rtl_flow_call_edges_add): Likewise. * cgraph.c (symbol_table::create_edge): Likewise. (cgraph_edge::redirect_call_stmt_to_callee): Likewise. * cgraph.h (symtab_node): Likewise. (symtab_node::checking_verify_symtab_nodes): Define. (cgraph_node::checking_verify_cgraph_nodes): Define. * cfghooks.h (checking_verify_flow_info): Define. * cfgloop.h (checking_verify_loop_structure): Define. * dominance.h (checking_verify_dominators): Define. * et-forest.c: Fix comment. * ipa-inline-analysis.c (compute_inline_parameters): Use flag_checking, CHECKING_P gcc_checking_assert and checking_* functions to eliminate ENABLE_CHECKING conditionals. * ipa-inline-transform.c (save_inline_function_body): Likewise. * ipa-inline.c (inline_small_functions): Likewise. (early_inliner): Likewise. * ipa-inline.h (estimate_edge_growth): Likewise. * ipa-visibility.c (function_and_variable_visibility): Likewise. * ipa.c (symbol_table::remove_unreachable_nodes): Likewise. (ipa_single_use): Likewise. * ira-int.h: Likewise. * ira.c (ira): Likewise. * loop-doloop.c (doloop_optimize_loops): Likewise. * loop-init.c (loop_optimizer_init, fix_loop_structure): Likewise. * loop-invariant.c (move_loop_invariants): Likewise. * lra-assigns.c (lra_assign): Likewise. * lra-constraints.c (lra_constraints): Likewise. * lra-eliminations.c (lra_eliminate): Likewise. * lra-int.h (struct lra_reg): Likewise. * lra-lives.c (check_pseudos_live_through_calls): Likewise. (lra_create_live_ranges_1): Likewise. * lra-remat.c (create_remat_bb_data): Likewise. * lra.c (lra_update_insn_recog_data, restore_scratches): Likewise. (lra): Likewise. (check_rtl): Always define. Remove incorrect guard around extract_constrain_insn call. * lto-cgraph.c (input_cgraph_1: Use flag_checking, CHECKING_P gcc_checking_assert and checking_* functions to eliminate ENABLE_CHECKING conditionals. * lto-streamer-out.c (DFS::DFS): Likewise. (lto_output): Likewise. * lto-streamer.c (lto_streamer_init): Likewise. * omp-low.c (scan_omp_target, expand_omp_taskreg): Likewise. expand_omp_target, execute_expand_omp): Likewise. (lower_omp_target): Likewise. * passes.c (execute_function_todo): Likewise. (execute_todo, execute_one_pass): Likewise. (verify_curr_properties): Always define. * predict.c (tree_estimate_probability: Use flag_checking, CHECKING_P gcc_checking_assert and checking_* functions to eliminate ENABLE_CHECKING conditionals. (propagate_freq): Likewise. * pretty-print.c (pp_format): Likewise. * real.c (real_to_decimal_for_mode): Likewise. * recog.c (split_all_insns): Likewise. * regcprop.c (kill_value_one_regno): Likewise. (copy_value): Likewise. (validate_value_data): Define unconditionally. * reload.c: Fix comment. * timevar.c: Include options.h * tree-ssa.h (checking_verify_ssa): Define. * tree-ssa-loop-manip.h (checking_verify_loop_closed_ssa): Define. * sched-deps.c (CHECK): Remove unused macro. (add_or_update_dep_1, sd_add_dep: Use flag_checking, CHECKING_P gcc_checking_assert and checking_* functions to eliminate ENABLE_CHECKING conditionals. * sel-sched-ir.c (free_regset_pool, tidy_control_flow): Likewise. * sel-sched.c (struct moveop_static_params): Likewise. (find_best_reg_for_expr, move_cond_jump): Likewise. (move_op_orig_expr_not_found): Likewise. (code_motion_process_successors, move_op): Likewise. * ssa-iterators.h (first_readonly_imm_use): Likewise. (next_readonly_imm_use): Likewise. * store-motion.c (compute_store_table): Likewise. * symbol-summary.h (function_summary::function_summary): Likewise. * target.h (cumulative_args_t): Likewise. (get_cumulative_args, pack_cumulative_args): Likewise. * timevar.c: (timer::print): Likewise. * trans-mem.c (ipa_tm_execute): Likewise. * tree-cfg.c (move_stmt_op): Likewise. (move_sese_region_to_fn): Likewise. (gimple_flow_call_edges_add): Likewise. * tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures): Likewise. * tree-eh.c (remove_unreachable_handlers): Likewise. * tree-if-conv.c (pass_if_conversion::execute): Likewise. * tree-inline.c (expand_call_inline, optimize_inline_calls): Likewise. * tree-into-ssa.c (update_ssa): Likewise. * tree-loop-distribution.c (pass_loop_distribution::execute): Likewise. * tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees): Likewise. * tree-parloops.c (pass_parallelize_loops::execute): Likewise. * tree-predcom.c (suitable_component_p): Likewise. * tree-profile.c (gimple_gen_const_delta_profiler): Likewise. * tree-ssa-alias.c (refs_may_alias_p_1): Likewise. * tree-ssa-live.c (verify_live_on_entry): Likewise. * tree-ssa-live.h (register_ssa_partition): Likewise. * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Likewise. * tree-ssa-loop-manip.c (add_exit_phi): Likewise. (tree_transform_and_unroll_loop): Likewise. * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise. * tree-ssa-operands.c (get_expr_operands): Likewise. * tree-ssa-propagate.c (replace_exp_1): Likewise. * tree-ssa-structalias.c (rewrite_constraints): Likewise. * tree-ssa-ter.c (free_temp_expr_table): Likewise. * tree-ssa-threadupdate.c (duplicate_thread_path): Likewise. * tree-ssanames.c (release_ssa_name_fn): Likewise. * tree-stdarg.c (expand_ifn_va_arg): Likewise. * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise. (slpeel_checking_verify_cfg_after_peeling): Likewise. (vect_do_peeling_for_loop_bound): Likewise. (vect_do_peeling_for_alignment): Likewise. * tree-vrp.c (supports_overflow_infinity): Likewise. (set_value_range): Likewise. * tree.c (free_lang_data_in_cgraph): Likewise. * value-prof.c (gimple_remove_histogram_value): Likewise. (free_hist): Likewise. * var-tracking.c (canonicalize_values_star): Likewise. (compute_bb_dataflow, vt_find_locations, vt_emit_notes): Likewise. From-SVN: r229470
2015-10-28Daily bump.GCC Administrator1-1/+1
From-SVN: r229469
2015-10-27internal-fn.def (IFN_GOACC_DIM_SIZE, [...]): New.Nathan Sidwell8-13/+1103
* internal-fn.def (IFN_GOACC_DIM_SIZE, IFN_GOACC_DIM_POS, IFN_GOACC_LOOP): New. * internal-fn.h (enum ifn_unique_kind): Add IFN_UNIQUE_OACC_FORK, IFN_UNIQUE_OACC_JOIN, IFN_UNIQUE_OACC_HEAD_MARK, IFN_UNIQUE_OACC_TAIL_MARK. (enum ifn_goacc_loop_kind): New. * internal-fn.c (expand_UNIQUE): Add IFN_UNIQUE_OACC_FORK, IFN_UNIQUE_OACC_JOIN cases. (expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS): New. (expand_GOACC_LOOP): New. * target-insns.def (oacc_dim_pos, oacc_dim_size): New. * omp-low.c: Include gimple-pretty-print.h. (struct oacc_loop): New. (enum oacc_loop_flags): New. (oacc_thread_numbers): New. (oacc_xform_loop): New. (new_oacc_loop_raw, new_oacc_loop_outer, new_oacc_loop, new_oacc_loop_routine, finish_oacc_loop, free_oacc_loop): New, (dump_oacc_loop_part, dump_oacc_loop, debug_oacc_loop): New, (oacc_loop_discover_walk, oacc_loop_sibling_nrevers, oacc_loop_discovery): New. (oacc_loop_xform_head_tail, oacc_loop_xform_loop, oacc_loop_process): New. (oacc_loop_fixed_partitions, oacc_loop_partition): New. (execute_oacc_device_lower): Discover & process loops. Process internal fns. * target.def (goacc.fork_join): Change sense of hook, clarify documentation. * doc/tm.texi: Regenerated. From-SVN: r229466
2015-10-27target-insns.def (oacc_fork, oacc_join): Define.Nathan Sidwell7-2/+48
* target-insns.def (oacc_fork, oacc_join): Define. * target.def (goacc.validate_dims): Adjust doc to avoid warning. (goacc.fork_join): New GOACC hook. * targhooks.h (default_goacc_fork_join): Declare. * omp-low.c (default_goacc_forkjoin): New. * doc/tm.texi.in (TARGET_GOACC_FORK_JOIN): Add. * doc/tm.texi: Regenerate. From-SVN: r229465
2015-10-27omp-low.c (oacc_init_rediction_array): New.Nathan Sidwell2-1/+77
* omp-low.c (oacc_init_rediction_array): New. (oacc_initialize_reduction_data): Initialize array. From-SVN: r229464
2015-10-27* omp-low.c (pass_oacc_device_lower::execute): Ignore errors.Nathan Sidwell2-1/+5
From-SVN: r229462
2015-10-27c-parser.c (c_parser_oacc_shape_clause): New.Cesar Philippidis4-0/+529
gcc/c/ * c-parser.c (c_parser_oacc_shape_clause): New. (c_parser_oacc_simple_clause): New. (c_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker. (OACC_LOOP_CLAUSE_MASK): Add gang, worker, vector, auto, seq. gcc/testsuite/ * c-c++-common/goacc/loop-shape.c: New test. Co-Authored-By: Bernd Schmidt <bernds@redhat.com> Co-Authored-By: James Norris <jnorris@codesourcery.com> Co-Authored-By: Joseph Myers <joseph@codesourcery.com> Co-Authored-By: Julian Brown <julian@codesourcery.com> Co-Authored-By: Thomas Schwinge <thomas@codesourcery.com> From-SVN: r229461
2015-10-27parser.c (cp_parser_omp_clause_name): Add auto, gang, seq, vector, worker.Nathan Sidwell6-79/+299
gcc/cp/ * parser.c (cp_parser_omp_clause_name): Add auto, gang, seq, vector, worker. (cp_parser_oacc_simple_clause): New. (cp_parser_oacc_shape_clause): New. (cp_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker. (OACC_LOOP_CLAUSE_MASK): Likewise. * semantics.c (finish_omp_clauses): Add auto, gang, seq, vector, worker. Unify the handling of teams, tasks and vector_length with the other loop shape clauses. gcc/testsuite/ * g++.dg/g++.dg/gomp/pr33372-1.C: Adjust diagnostic. * gcc/testsuite/g++.dg/gomp/pr33372-3.C: Likewise. From-SVN: r229460
2015-10-27internal-fn.c (expand_UNIQUE): New.Nathan Sidwell10-11/+98
* internal-fn.c (expand_UNIQUE): New. * internal-fn.h (enum ifn_unique_kind): New. * internal-fn.def (IFN_UNIQUE): New. * target-insns.def (unique): Define. * gimple.h (gimple_call_internal_unique_p): New. * gimple.c (gimple_call_same_target_p): Check internal fn uniqueness. * tracer.c (ignore_bb_p): Check for IFN_UNIQUE call. * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts): Likewise. * tree-cfg.c (gmple_call_initialize_ctrl_altering): Likewise. From-SVN: r229459