+2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc.
+ * omp-low.c (check_omp_nesting_restrictions): Allow
+ GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC
+ contexts.
+
+2015-11-03 Bilyan Borisov <bilyan.borisov@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def (fmulx): New.
+ * config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New.
+ * config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx
+ builtin.
+ (vmulxq_f32): Likewise.
+ (vmulx_f64): New.
+ (vmulxq_f64): Rewrite to call fmulx builtin.
+ (vmulxs_f32): Likewise.
+ (vmulxd_f64): Likewise.
+ (vmulx_lane_f32): Remove.
+ * config/aarch64/iterators.md (UNSPEC): Add fmulx.
+
+2015-11-03 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.md (*movhf_aarch64): Use
+ aarch64_reg_or_fp_zero for second operand.
+
+2015-11-03 Alexandre Oliva <aoliva@redhat.com>
+
+ * gimple-expr.c: Include hash-set.h and rtl.h.
+ (mark_addressable_queue): New var.
+ (mark_addressable): Factor actual marking into...
+ (mark_addressable_1): ... this. Queue it up during expand.
+ (mark_addressable_2): New.
+ (flush_mark_addressable_queue): New.
+ * gimple-expr.h (flush_mark_addressable_queue): Declare.
+ * cfgexpand.c: Include gimple-expr.h.
+ (pass_expand::execute): Flush mark_addressable queue.
+
+2015-11-02 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
+ bb_no_side_effects_p tests...
+ (tree_ssa_ifcombine_bb): ... here.
+
+ PR tree-optimization/68083
+ * tree-ssa-ifcombine.c: Include tree-ssa.h.
+ (bb_no_side_effects_p): Test for undefined uses too.
+ * tree-ssa.c (gimple_uses_undefined_value_p): New.
+ * tree-ssa.h (gimple_uses_undefined_value_p): Declare.
+
+2015-11-02 Jeff Law <jeff@redhat.com>
+
+ * tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect
+ cases where the loop latch edge is in the middle of an FSM path.
+
+2015-11-03 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ...
+ (make_param_constraints): ... this. Add and handle restrict_name
+ parameter. Handle is_full_var case.
+ (intra_create_variable_infos): Use make_param_constraints.
+
+2015-11-03 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (make_restrict_var_constraints): Replace
+ make_copy_constraint call with make_constraint_from call.
+
+2015-11-02 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle
+ PIE executables.
+
+2015-11-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.h (fold_fma): Move to fold-const-call.h.
+ * builtins.c: Include fold-const-call.h.
+ (mathfn_built_in_2): New function, split out from...
+ (mathfn_built_in_1): ...here.
+ (do_real_to_int_conversion, fold_const_builtin_pow)
+ (fold_const_builtin_logb, fold_const_builtin_significand)
+ (fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2)
+ (do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete.
+ (fold_builtin_sincos): Use fold_const_call to handle constants.
+ (fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit
+ checks for ERROR_MARK. Use fold_const_call to handle constant
+ folds for math functions.
+ (fold_fma): Move to fold-const-call.c.
+ * fold-const.c: Include fold-const-call.h.
+ * Makefile.in (OBJS): Add fold-const-call.o.
+ (PLUGIN_HEADERS): Add fold-const-call.h.
+ * realmpfr.h (real_from_mpfr): Allow the format to be specified
+ directly.
+ * realmpfr.c (real_from_mpfr): Likewise.
+ * fold-const-call.h, fold-const-call.c: New files.
+
+2015-11-02 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
+ brackets and semicolon.
+
+2015-11-02 Alan Lawrence <alan.lawrence@arm.com>
+
+ Revert:
+ 2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR tree-optimization/65963
+ * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
+ LSHIFT_EXPRs as equivalent MULT_EXPRs.
+
+2015-11-02 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR middle-end/68166
+ * fold-const.c: Include "md5.h".
+
+2015-11-01 Jeff Law <jeff@redhat.com>
+
+ * vmsdbgout.c: Revert unused header file reduction patch.
+
+ * config/mcore/mcore.c: Include regs.h.
+
+2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite.
+
+2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the
+ same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is
+ live as for using it elsewhere, for TARGET_MINIMAL_TOC.
+
+2015-10-31 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ * ggc-common.c: Restore needed header for checking=release.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Don't expect
+ existing varinfo for arguments.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to
+ create_function_info_for. Dump constraints generated during
+ create_function_info_for. Move intra_create_variable_infos call and
+ function-return-values-escape bit to ...
+ (create_function_info_for): ... here, and merge
+ intra_create_variable_infos call with argument loop. Add and handle
+ nonlocal_p parameter.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi
+ updating is alap, and seperated from preceding code. Make sure
+ insert_vi_for_tree is seperated from surrounding code.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint.
+
+2015-10-30 Jeff Law <jeff@redhat.com>
+ Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused
+ args.
+ (MOVE_MAX): Set to 8.
+
+2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
+
+ * cgraph.c: Include context.h for offloading.
+ * varpool.c: Include context.h and omp-low.h.
+
+2015-10-30 Anatoly Sokolov <aesok@post.ru>
+
+ * rtl.h (contains_symbol_ref_p): Declare.
+ (SYMBOL_REF_P): Define.
+ * rtlanal.c (contains_symbol_ref_p: New function.
+ * lra-constraints.c (contains_symbol_ref_p): Remove.
+ * var-tracking.c (contains_symbol_ref): Remove.
+ (track_expr_p): Use contains_symbol_ref_p instead of
+ contains_symbol_ref.
+
+2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gimple-fold.c (fold_array_ctor_reference): Move searching code to:
+ * fold-const.c (get_array_ctor_element_at_index): New.
+ (fold): Remove binary-search through CONSTRUCTOR, call previous.
+
+ * fold-const.h (get_array_ctor_element_at_index): New.
+
+2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
+
+ * Makefile.in (OBJS): Add multiple_target.o.
+ * attrib.c (make_attribute): Moved from config/i386/i386.c
+ * config/i386/i386.c (make_attribute): Deleted.
+ * multiple_target.c (create_dispatcher_calls): New.
+ (get_attr_len): Ditto.
+ (get_attr_str): Ditto.
+ (separate_attrs): Ditto.
+ (is_valid_asm_symbol): Ditto.
+ (create_new_asm_name): Ditto.
+ (create_target_clone): Ditto.
+ (expand_target_clones): Ditto.
+ (ipa_target_clone): Ditto.
+ (ipa_dispatcher_calls): Ditto.
+ * passes.def (pass_target_clone): Two new ipa passes.
+ * tree-pass.h (make_pass_target_clone): Ditto.
+ * doc/extend.texi (target_clones): New attribute description.
+
+2015-10-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/68106
+ * lra-remat.c (input_regno_present_p): Process hard regs
+ explicitly present in machine description insns.
+ (call_used_input_regno_present_p): Ditto.
+ (calculate_gen_cands): Ditto.
+ (do_remat): Ditto.
+
+2015-10-30 Jim Wilson <jim.wilson@linaro.org>
+
+ * config/arm/neon-testgen.ml: Fix comment typo.
+
+2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * rtlanal.c (reg_set_p): Expand function comment.
+
+2015-10-30 Andrew MacLeod <amacleod@redhat.com>
+
+ * alias.c: Remove unused headers.
+ * asan.c: Likewise.
+ * attribs.c: Likewise.
+ * auto-inc-dec.c: Likewise.
+ * auto-profile.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * bitmap.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.
+ * domwalk.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.
+ * graphds.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * hw-doloop.c: Likewise.
+ * ifcvt.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.
+ * mcf.c: Likewise.
+ * mode-switching.c: Likewise.
+ * modulo-sched.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.
+ * sdbout.c: Likewise.
+ * sel-sched-dump.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * sel-sched.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-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-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-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.
+ * vmsdbgout.c: Likewise.
+ * vtable-verify.c: Likewise.
+ * web.c: Likewise.
+ * wide-int-print.cc: Likewise.
+ * wide-int.cc: Likewise.
+ * xcoffout.c: Likewise.
+
+2015-10-30 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * doc/invoke.texi (fdump-rtl-@var{pass}): Clarify relationship
+ between pass numbering and execution order.
+
+2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (cortex_a9_sched_adjust_cost): Use reg_set_p to
+ check for dependencies.
+
+2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-ssa-math-opts.c (pass_cse_sincos::execute): Don't free
+ CDI_DOMINATORS.
+
+2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (format_helper): New.
+ (real_convert, exact_real_truncate, real_from_string3, real_to_target)
+ (real_from_target, real_nan, real_2expN, real_value_truncate)
+ (significand_size, real_from_string2, exact_real_inverse)
+ (exact_real_inverse, real_powi, real_trunc, real_floor, real_ceil)
+ (real_round, real_isinteger, real_from_integer): Replace
+ machine_mode arguments with format_helper arguments.
+ * real.c (exact_real_inverse, real_from_string2, real_from_string3)
+ (real_from_integer, real_nan, real_2expN, real_convert)
+ (real_value_truncate, exact_real_truncate, real_to_target)
+ (real_from_target, significand_size, real_powi, real_trunc)
+ (real_floor, real_ceil, real_round, real_isinteger): Replace
+ machine_mode arguments with format_helper arguments.
+ (real_to_target_fmt, real_from_target_fmt): Delete.
+ * dfp.h (decimal_real_convert): Replace mode argument with real_format.
+ * dfp.c (decimal_to_binary, decimal_real_convert): Replace mode
+ argument with real_format.
+ * builtins.c (do_real_to_int_conversion): Update type of fn argument.
+
+2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * fixed-value.c (check_real_for_fixed_mode, fixed_from_string)
+ (fixed_to_decimal, fixed_convert_from_real)
+ (real_convert_from_fixed): Fix mode arguments to real_2expN.
+
+2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a
+ SCALAR_FLOAT_MODE_P.
+
+2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
+
+ * tree-sra.c (scalarizable_type_p): Comment variable-length arrays.
+ (completely_scalarize): Comment zero-length arrays.
+ (get_access_replacement): Correct comment re. precondition.
+
+2015-10-30 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ * config/i386/i386.c (get_builtin_code_for_version): Set priority
+ for PROCESSOR_ZNVER1.
+ (enum processor_model): Add M_AMDFAM17H_znver1.
+ (struct arch_names_table): Likewise.
+ * doc/extend.texi: ADD znver1.
+
+2015-10-30 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (fold_gimple_assign): Do not dispatch to
+ fold () on single RHSs. Allow CONSTRUCTORS with trailing
+ zeros to be folded to VECTOR_CSTs.
+ * tree.c (build_vector_from_ctor): Handle VECTOR_CST elements.
+ * fold-const.c (fold): Use build_vector_from_ctor.
+
+2015-10-30 Evandro Menezes <e.menezes@samsung.com>
+
+ * config/aarch64/aarch64.md (*movhf_aarch64): Change the type of
+ "mov %0.h[0], %1.h[0] to "neon_move".
+ (*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr".
+ (*cmov<mode>_insn): Change the types of "mov %<w>0, {-1,1}" to
+ "mov_imm".
+ (*cmovsi_insn_uxtw): Likewise.
+
+2015-10-30 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (ipa_pta_execute): Declare variable from as
+ unsigned, and initialize, and use initial value instead of hardcoded
+ constant. Add generic constraints dumping section. Don't dump global
+ initializers constraints dumping section if empty. Don't update
+ variable from if unused.
+
+2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * config/alpha/alpha.c (alpha_function_arg): Use gcc_checking_assert,
+ flag_checking and/or CHECKING_P to eliminate conditional compilation
+ on ENABLE_CHECKING.
+ * config/arm/arm.c (arm_unwind_emit_sequence): Likewise.
+ * config/bfin/bfin.c (hwloop_optimize): Likewise.
+ * config/i386/i386.c (ix86_print_operand_address): Likewise.
+ (output_387_binary_op): Likewise.
+ * config/ia64/ia64.c (ia64_sched_init, bundling): Likewise.
+ * config/m68k/m68k.c (m68k_sched_md_init_global): Likewise.
+ * config/rs6000/rs6000.c (htm_expand_builtin, rs6000_emit_prologue):
+ Likewise.
+ * config/rs6000/rs6000.h: Likewise.
+ * config/visium/visium.c (visium_setup_incoming_varargs): Likewise.
+
+2015-10-29 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.opt (mfdpic): Add missing period.
+
+2015-08-29 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mcore/mcore.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
+ BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P,
+ GO_IF_LEGITIMATE_ADDRESS): Remove macros.
+ * config/mcore/mcore.c (mcore_reg_ok_for_base_p,
+ mcore_base_register_rtx_p, mcore_legitimate_index_p,
+ mcore_legitimate_address_p): New functions.
+ (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
+
+2015-10-29 Jeff Law <law@redhat.com>
+
+ * tree-ssa-scopedtables.h (const_and_copies): Remove invalidate
+ method.
+ * tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove.
+ * tree-ssa-threadedge.c
+ (record_temporary_equivalences_from_stmts_at_dest): Remove
+ backedge_seen argument and associated code which invalidated
+ equivalences based on the value of that argument.
+ (thread_through_normal_block): Corresponding changes.
+
+2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Move this
+ function earlier in the file.
+ (first_reg_to_save): Use rs6000_reg_live_or_pic_offset_p instead of
+ df_regs_ever_live_p.
+
+2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * lra-constraints.c (process_address_1): Handle (mem:BLK (scratch))
+ by ignoring it.
+
+2015-10-29 Richard Henderson <rth@redhat.com>
+
+ PR target/68124
+ PR rtl-opt/67609
+ * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
+ sse check to the exact conditions of PR 67609.
+
+2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_init_libfuncs): Split libfunc
+ setup into 3 functions: init_float128_ibm, init_float128_ieee, and
+ rs6000_init_libfuncs. If -mfloat128, add IFmode functions for all
+ of the traditional names that TFmode uses for handling IEEE
+ extended double. If -mfloat128, add KFmode functions for all of
+ the emulation functions. If -mabi=ieeelongdouble and -mfloat128,
+ make TFmode use the same emulation functions as KFmode.
+ (init_float128_ibm): Likewise.
+ (init_float128_ieee): Likewise.
+ (rs6000_generate_compare): For IEEE 128-bit floating point
+ comparisons, call the unordered comparison function instead of the
+ ordered comparison function.
+ (rs6000_expand_float128_convert): Deal with operands that are
+ memory operands. Restructure the code to use a switch statement on
+ the mode. Add support for TFmode defaulting to either IBM extended
+ double or IEEE 128-bit floating point. If the underlying types are
+ the same, use a move instead of a conversion function.
+ (TARGET_C_MODE_FOR_SUFFIX): Define 'q' and 'Q' as the suffix to
+ use for IEEE 128-bit floating point constants with -mfloat128.
+ (rs6000_c_mode_for_suffix): Likewise.
+ (TARGET_INVALID_BINARY_OP): Do not allow inter-mixing of IEEE
+ 128-bit floating point with IBM extended double floating point.
+ (rs6000_invalid_binary_op): Likewise.
+ (rs6000_gen_le_vsx_permute): On little endian systems generate a
+ ROTATE insn instead of VEC_SELECT for IEEE 128-bit floating point
+ types that can go in vector registers.
+ (chain_contains_only_swaps): Properly swap IEEE 128-bit floating
+ point types that can go in vector registers on little endian
+ PowerPC systems.
+ (mark_swaps_for_removal): Likewise.
+ (rs6000_analyze_swaps): Likewise.
+ (rs6000_mangle_type): Use U10__float128 for IEEE 128-bit floating point.
+
+ * config/rs6000/rs6000.md (FLOAT128_SFDFTF): Delete iterator,
+ rework IEEE 128-bit floating point insns to deal with TFmode being
+ either IBM extended double or IEEE 128-bit floating point.
+ (IFKF): Likewise.
+ (IBM128): Update iterator to add condition that the mode is IBM
+ extended double.
+ (IEEE128): New iterator for IEEE 128-bit floating point.
+ (TFIFKF): Rename TFIFKF iterator to FLOAT128.
+ (FLOAT128): Likewise.
+ (signbit<mode>2): FLOAT128_IBM_P condition test moved into IBM128
+ iterator.
+ (neg<mode>2): Replace TFIFKF iterator with FLOAT128. Add support
+ for TFmode being IEEE 128-bit floating point. Use IEEE128 iterator
+ instead of hard coding TFmode or KFmode.
+ (negtf2_internal): Likewise.
+ (neg<mode>2_internal): Likewise.
+ (abs<mode>2): Likewise.
+ (abstf2_internal): Likewise.
+ (abs<mode>2_internal): Likewise.
+ (ieee_128bit_neg<mode>2): Likewise.
+ (ieee_128bit_neg<mode>2_internal): Likewise.
+ (ieee_128bit_abs<mode>2): Likewise.
+ (ieee_128bit_abs<mode>2_internal): Likewise.
+ (ieee_128bit_nabs<mode>2): Likewise.
+ (ieee_128bit_nabs<mode>2_internal): Likewise.
+ (extendiftf2): Add explicit conversions between 128-bit floating
+ point types. Drop the old conversions that had become unwieldy.
+ (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
+ (extendifkf2): Likewise.
+ (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
+ (extendtfkf2): Likewise.
+ (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
+ (trunciftf2): Likewise.
+ (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
+ (truncifkf2): Likewise.
+ (float<SDI:mode><IFKF:mode>2): Likewise.
+ (trunckftf2): Likewise.
+ (floatuns<SDI:mode><IFKF:mode>2): Likewise.
+ (trunctfif2): Likewise.
+ (FP iterator): Allow TFmode to be IEEE 128-bit floating point.
+ (extenddftf2): Rework 128-bit floating point conversions to
+ properly handle -mabi=ieeelongdouble. Merge IFmode, TFmode, and
+ KFmode expanders into one function.
+ (extenddf<mode>2): Likewise.
+ (extenddftf2_fprs): Likewise.
+ (extenddf<mode>2_fprs): Likewise.
+ (extenddftf2_vsx): Likewise.
+ (extenddf<mode>2_vsx): Likewise.
+ (extendsftf2): Likewise.
+ (extendsf<mode>2): Likewise.
+ (trunctfdf2): Likewise.
+ (trunc<mode>df2): Likewise.
+ (trunctfdf2_internal1): Likewise.
+ (trunc<mode>df2_internal1): Likewise.
+ (trunctfdf2_internal2): Likewise.
+ (trunc<mode>df2_internal2): Likewise.
+ (trunctfsf2): Likewise.
+ (trunc<mode>sf2): Likewise.
+ (trunctfsf2_fprs): Likewise.
+ (trunc<mode>sf2_fprs): Likewise.
+ (floatsit2f): Likewise.
+ (floatsi<mode>2): Likewise.
+ (fix_trunc_helper): Likewise.
+ (fix_trunc_helper<mode>): Likewise.
+ (fix_trunctfsi2): Likewise.
+ (fix_trunc<mode>si2): Likewise.
+ (fix_trunctfsi2_fprs): Likewise.
+ (fix_trunc<mode>si2_fprs): Likewise.
+ (fix_trunctfsi2_internal): Likewise.
+ (fix_trunc<mode>si2_internal): Likewise.
+ (fix_trunctfdi2): Likewise.
+ (fix_trunc<mode>di2): Likewise.
+ (fixuns_trunctf<mode>2): Likewise.
+ (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
+ (floatditf2): Likewise.
+ (floatdi<mode>2): Likewise.
+ (floatuns<mode>tf2): Likewise.
+ (floatuns<SDI:mode><IEEE128:mode>): Likewise.
+ (cmptf_internal1): Use a mode iterator to add support for both
+ types (IFmode, TFmode) that support IBM extended double.
+ (cmp<mode>_internal1): Likewise.
+ (cmptf_internal2): Likewise.
+ (cmp<mode>_internal2): Likewise.
+
+ * doc/extend.texi (Floating Types): Document __ibm128 and
+ __float128 on PowerPC.
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document
+ -mfloat128 and -mno-float128.
+
+2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit
+ floating point modes that can go in vector registers.
+ (MODES_TIEABLE_P): Move tests for vector modes before tests for
+ scalar floating point, so that IEEE 128-bit floating point that
+ can go in vector registers bind with vectors and not FP.
+ (struct rs6000_args): Add libcall field.
+
+ * config/rs6000/rs6000.opt (-mfloat128-*): Delete -mfloat128-none
+ and -mfloat128-software switches. Replace them with a binary
+ -mfloat128 switch.
+ (-mfloat128): Likewise.
+
+ * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow
+ 128-bit floating point types in GPRs, even if the appropriate
+ option enabling the type was not used.
+ (rs6000_debug_reg_global): Remove -mfloat128-{software,none}
+ debugging.
+ (rs6000_setup_reg_addr_masks): Do not allow pre-increment and
+ pre-decrement on IEEE 128-bit floating point values.
+ (rs6000_init_hard_regno_mode_ok): Change test for whether TFmode
+ is IEEE 128-bit floating point.
+ (rs6000_init_hard_regno_mode_ok): Add reload handlers for IEEE
+ 128-bit floating point types that can go in vector registers.
+ (rs6000_option_override_internal): Change -mfloat128-none and
+ -mfloat128-software to -mfloat128, and move code to be near other
+ VSX option handling.
+ (rs6000_option_override_internal): Disable -mfloat128 if we don't
+ have the Altivec ABI.
+ (rs6000_init_builtins): Don't make TFmode use either IFmode or
+ KFmode floating point nodes. Instead, have three separate nodes.
+ (rs6000_scalar_mode_supported_p): Add support for IFmode to allow
+ eventually moving the long double default to IEEE 128-bit floating
+ point.
+ (rs6000_opt_masks): Add -mfloat128.
+ (struct rs6000_opt_var): Fix typo in comment.
+ (init_cumulative_args): Initialize libcall field in
+ CUMULATIVE_ARGS.
+ (rs6000_function_arg): Treat library functions as if they had
+ prototypes to prevent IEEE 128-bit support functions from passing
+ arguments in both GPRs and vector registers.
+ (rs6000_arg_partial_bytes): Likewise.
+
+ * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add -mfloat128 as
+ an option that can be turned on via -mcpu=<xxx>.
+
+ * config/rs6000/rs6000-opts.h (enum float128_type_t): Delete, no
+ longer used.
+
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+ __FLOAT128__ if -mfloat128. Define __LONG_DOUBLE_IEEE128__ if long
+ double is IEEE 128-bit. Define __LONG_DOUBLE_IBM128__ if long
+ double is IBM extended double.
+
+ * config/rs6000/predicates.md (reg_or_indexed_operand): Allow
+ SUBREGs.
+
+2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING.
+ * genconditions.c: Define CHECKING_P in the generated code.
+ * genextract.c: Use flag_checking in insn_extract.
+ * gengtype.c (main): Remove conditional compilation.
+ * gengtype.h: Likewise.
+
+2015-10-29 Jeff Law <law@redhat.com>
+
+ 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.
+
+2015-10-29 Tom de Vries <tom@codesourcery.com>
+
+ * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict
+ types.
+
+2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (lower_omp_target): Remove unreachable code & merge
+ ifs.
+
+2015-10-29 Marc Glisse <marc.glisse@inria.fr>
+
+ * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity.
+
+2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
+ guard_bb0 and use guard_bb throughout.
+
+2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
+ unnecessary label.
+
+2015-10-29 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68142
+ * fold-const.c (extract_muldiv_1): Avoid introducing undefined
+ overflow.
+
+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.
+
+2015-10-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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.
+
+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.
+
+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.
+
+2015-10-29 Bin Cheng <bin.cheng@arm.com>
+
+ * 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.
+
+2015-10-28 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Remove
+ superfluous code.
+
+2015-10-28 Jason Merrill <jason@redhat.com>
+
+ * Makefile.in (TAGS): Include libcpp and libiberty.
+
+2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (MASK_GANG, MASK_WORKER, MASK_VECTOR): Delete.
+ (extract_omp_for_data): Remove OpenACC special handling of
+ chunking.
+
+ * config/nvptx/nvptx.c (nvptx_print_operand): Remove 'd' case.
+ (struct parallel): Update comment.
+ (nvptx_reorg): Likewise.
+ (nvptx_neuter): Cleanup whitespace.
+
+2015-10-28 Richard Henderson <rth@redhat.com>
+
+ * tree-eh.c (mark_reachable_handlers): Fix typo in assert.
+
+2015-10-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ PR target/67839
+ * config/avr/predicates.md (low_io_address_operand): Don't
+ consider MODE when computing upper bound.
+ (io_address_operand): Likewise.
+
+2015-10-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * fold-const.c (operand_equal_p): Do not verify that types are
+ compatible for MEM_REFs.
+
+2015-10-28 Richard Biener <rguenther@suse.de>
+
+ * gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs
+ in simplifying VEC_COND_EXPR conditions.
+
+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.
+
+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.
+
+2015-10-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt.
+ (sibcall_value): Likewise.
+
+2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * 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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * 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.
+
+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.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * 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.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * 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.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (oacc_init_rediction_array): New.
+ (oacc_initialize_reduction_data): Initialize array.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (pass_oacc_device_lower::execute): Ignore errors.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * 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.
+
+2015-10-27 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/67609
+ * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow
+ narrowing subregs on SSE and MMX registers.
+ * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that
+ appear to be sub-words of multi-register pseudos must be rejected.
+ * doc/tm.texi: Regenerate.
+
+2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68102
+ * config/aarch64/aarch64.md (*movsi_aarch64): Check that
+ operands[0] is a reg before taking its REGNO in split condition.
+ (*movdi_aarch64): Likewise.
+
+2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_output_simd_mov_immediate):
+ Handle floating point inner modes properly.
+
2015-10-27 Alan Hayward <alan.hayward@arm.com>
* tree-vect-looop.c
* graphite-optimize-isl.c (get_schedule_for_node_st): New callback
function to schedule based on isl_schedule_node.
- (get_schedule_map_st): New schedule optimizer based on isl_schedule_node.
- (scop_get_domains): New. Return the isl_union_set containing the domains of all the pbbs.
+ (get_schedule_map_st): New schedule optimizer based on
+ isl_schedule_node.
+ (scop_get_domains): New. Return the isl_union_set containing the
+ domains of all the pbbs.
(optimize_isl): Call the new function get_schedule_map_st for isl-0.15
2015-10-27 H.J. Lu <hongjiu.lu@intel.com>
2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
PR tree-optimization/65963
- * tree-scalar-evolution.c (interpret_rhs_expr): Handle some LSHIFT_EXPRs
- as equivalent MULT_EXPRs.
+ * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
+ LSHIFT_EXPRs as equivalent MULT_EXPRs.
2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>