+2015-12-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68432
+ * coretypes.h (optimization_type): New enum.
+ * doc/tm.texi.in (TARGET_OPTAB_SUPPORTED_P): New hook.
+ * doc/tm.texi: Regenerate.
+ * target.def (optab_supported_p): New hook.
+ * targhooks.h (default_optab_supported_p): Declare.
+ * targhooks.c (default_optab_supported_p): New function.
+ * predict.h (function_optimization_type): Declare.
+ (bb_optimization_type): Likewise.
+ * predict.c (function_optimization_type): New function.
+ (bb_optimization_type): Likewise.
+ * optabs-query.h (convert_optab_handler): Define an overload
+ that takes an optimization type.
+ (direct_optab_handler): Likewise.
+ * optabs-query.c (convert_optab_handler): Likewise.
+ (direct_optab_handler): Likewise.
+ * internal-fn.h (direct_internal_fn_supported_p): Take an
+ optimization_type argument.
+ * internal-fn.c (direct_optab_supported_p): Likewise.
+ (multi_vector_optab_supported_p): Likewise.
+ (direct_internal_fn_supported_p): Likewise.
+ * builtins.c (replacement_internal_fn): Update call to
+ direct_internal_fn_supported_p.
+ * gimple-match-head.c (build_call_internal): Likewise.
+ * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
+ * tree-vect-stmts.c (vectorizable_internal_function): Likewise.
+ * tree.c (maybe_build_call_expr_loc): Likewise.
+ * config/i386/i386.c (ix86_optab_supported_p): New function.
+ (TARGET_OPTAB_SUPPORTED_P): Define.
+ * config/i386/i386.md (asinxf2): Remove optimize_insn_for_size_p check.
+ (asin<mode>2, acosxf2, acos<mode>2, log1pxf2, log1p<mode>2)
+ (expNcorexf3, expxf2, exp<mode>2, exp10xf2, exp10<mode>2, exp2xf2)
+ (exp2<mode>2, expm1xf2, expm1<mode>2, ldexpxf3, ldexp<mode>3)
+ (scalbxf3, scalb<mode>3, rint<mode>2, round<mode>2)
+ (<rounding_insn>xf2, <rounding_insn><mode>2): Likewise.
+
+2015-12-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * Makefile.in (GENSUPPORT_H): New macro.
+ (build/gensupport.o, build/read-rtl.o, build/genattr.o)
+ (build/genattr-common.o, build/genattrtab.o, build/genautomata.o)
+ (build/gencodes.o, build/genconditions.o, build/genconfig.o)
+ (build/genconstants.o, build/genextract.o, build/genflags.o)
+ (build/gentarget-def.o): Use it.
+ (build/genemit.o): Likewise. Depend on internal-fn.def.
+ * genopinit.c: Move block comment to optabs.def.
+ (optab_tag, optab_def): Move to gensupport.h
+ (pattern): Likewise, renaming to optab_pattern.
+ (match_pattern): Move to gensupport.c
+ (gen_insn): Use find_optab.
+ (patterns, pattern_cmp): Replace pattern with optab_pattern.
+ (main): Likewise. Use num_optabs.
+ * optabs.def: Add comment that was previously in genopinit.c.
+ * gensupport.h (optab_tag): Moved from genopinit.c
+ (optab_def): Likewise, expanding commentary.
+ (optab_pattern): Likewise, after renaming from pattern.
+ (optabs, num_optabs, find_optab): Declare.
+ * gensupport.c (optabs): Moved from genopinit.c.
+ (num_optabs): New variable.
+ (match_pattern): Moved from genopinit.c.
+ (find_optab): New function, extracted from genopinit.c:gen_insn.
+ * genemit.c (nofail_optabs): New variable.
+ (emit_c_code): New function.
+ (gen_expand): Check whether the instruction is an optab that isn't
+ allowed to fail. Call emit_c_code.
+ (gen_split): Call emit_c_code here too.
+ (main): Initialize nofail_optabs. Don't emit FAIL and DONE here.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/predicates.md (const_mask_operand): New predicate.
+ * config/s390/s390-builtins.def: Set a smaller bitmask for a few builtins.
+ * config/s390/vector.md: Change predicate from immediate_operand
+ to either const_int_operand or const_mask_operand. Add special
+ insn conditions on patterns which have to exclude certain values.
+ * config/s390/vx-builtins.md: Likewise.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vector.md ("*vec_set<mode>"): Change shift count
+ mode from DI to SI.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390-builtin-types.def: New builtin types added.
+ * config/s390/s390-builtins.def: Add s390_vec_splat_* definitions.
+ * config/s390/s390.c (s390_expand_builtin): Always truncate
+ constants to the mode in the pattern.
+ * config/s390/vecintrin.h: Let the vec_splat_* macros point to the
+ respective builtin __builtin_s390_vec_splat_*.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390-builtin-types.def: Sort builtin types.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390-c.c (s390_get_vstring_flags): Invert the
+ condition for the RT flag.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/constraints.md ("jKK"): New constraint.
+ * config/s390/s390.c (tm-constrs.h): Include for
+ satisfies_constraint_*.
+ (s390_legitimate_constant_p): Allow jKK constants. Use
+ satisfies_constraint_* also for the others.
+ (legitimate_reload_vector_constant_p): Likewise.
+ (print_operand): Allow h output modifier on vectors.
+ * config/s390/vector.md ("mov<mode>"): Add vrepi.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vector.md ("*vec_splats<mode>"): Fix constraint
+ latter I->K.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.md ("bswap<mode>2"): Add support for strv and
+ strvg.
+ ("bswaphi2"): New pattern.
+ New splitter for HI reg-reg bswap.
+
+2015-11-27 Jiri Engelthaler <engycz@gmail.com>
+
+ PR driver/68029
+ * opts-common.c (prune_options): Don't ignore -fdiagnostics-color
+ if it is the first parameter.
+
+2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68577
+ * tree-vect-stmts.c (simple_integer_narrowing): New function.
+ (vectorizable_call): Restrict internal function handling
+ to NONE and NARROW cases, using simple_integer_narrowing
+ to test for the latter. Add cost of narrowing operation
+ and insert it where necessary.
+
+2015-12-01 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/rs6000/freebsd64.h (ELFv2_ABI_CHECK): Add new macro.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
+ rs6000_current_abi to ABI_AIX or ABI_ELFv2.
+
+2015-12-01 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx-protos.h (nvptx_output_aligned_decl): Declare.
+ * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
+ ASM_OUTPUT_ALIGNED_DECL_LOCAL): Forward to nvptx_output_aligned_decl.
+ * config/nvptx/nvptx.c (write_fn_marker, write_var_marker): New.
+ (write_fn_proto, write_fn_proto_from_insn): Call write_fn_marker.
+ (init_output_initializer): Call write_var_marker.
+ (nvptx_output_aligned_decl): New.
+ (nvptx_assemble_undefined_decl, nvptx_file_end): Call write_var_marker.
+
+2015-12-01 Jan Hubicka <hubicka@ucw.cz>
+
+ * c-common.c (parse_optimize_options): Do not silently ignore
+ -fstrict-aliasing changes.
+
+2015-12-01 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto-streamer-out.c (hash_tree): Do not stream TYPE_ALIAS_SET.
+ * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not
+ stream TYPE_ALIAS_SET.
+ * tree-streamer-in.c (unpack_ts_type_common_value_fields): Do not
+ stream TYPE_ALIAS_SET.
+
+2015-12-01 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_function_arg_advance): Don't
+ consider mode.
+
+2015-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (const_load_sequence_p): Handle extra
+ indirection for large and small code models.
+ (adjust_vperm): Likewise.
+
+2015-12-01 Julian Brown <julian@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ James Norris <James_Norris@mentor.com>
+
+ * gimple-pretty-print.c (dump_gimple_omp_target): Add host_data
+ support.
+ * gimple.h (gf_mask): Add GF_OMP_TARGET_KIND_OACC_HOST_DATA.
+ (is_gimple_omp_oacc): Add support for above.
+ * gimplify.c (omp_region_type): Add ORT_ACC_HOST_DATA.
+ (omp_notice_variable): Diagnose undefined implicit uses of
+ use_device variables in offloaded regions.
+ (gimplify_scan_omp_clauses): Add host_data, use_device
+ support. Diagnose undefined mapping of use_device variables in
+ OpenACC clauses.
+ (gimplify_omp_workshare): Add host_data support.
+ (gimplify_expr): Likewise.
+ * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): New.
+ * omp-low.c (lookup_decl_in_outer_ctx)
+ (maybe_lookup_decl_in_outer_ctx): Add optional argument to skip
+ host_data regions.
+ (scan_sharing_clauses): Support use_device.
+ (check_omp_nesting_restrictions): Support host_data.
+ (expand_omp_target): Support host_data.
+ (lower_omp_target): Skip over outer host_data regions when looking
+ up decls. Support use_device.
+ (make_gimple_omp_edges): Support host_data.
+ * tree-nested.c (convert_nonlocal_omp_clauses): Add use_device
+ clause.
+
+2015-12-01 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/68582
+ * cgraphunit.c (check_global_declaration): Only depend on TREE_THIS_VOLATILE
+ for VAR_DECLs.
+
+2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68474
+ * tree-call-cdce.c (use_internal_fn): Protect call to
+ gen_shrink_wrap_conditions.
+
+2015-12-01 Christian Bruel <christian.bruel@st.com>
+
+ PR target/68617
+ * config/arm/arm.opt (unaligned_access): Save.
+ * config/arm/arm-c.c (__ARM_FEATURE_UNALIGNED): Conditionally define.
+ * config/arm/arm.c (arm_option_override): Move unaligned_access setting
+ (arm_option_override_internal): ... here.
+ * config/arm/arm.h (TARGET_32BIT_P): New macro.
+
+2015-12-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68379
+ * tree-vect-stmts.c (vectorizable_load): For BB vectorization
+ always base loads on the first used DR of a group.
+ * tree-vect-data-refs.c (vect_slp_analyze_and_verify_node_alignment):
+ Compute alignment of the first scalar element unconditionally.
+
+2015-12-01 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68590
+ * genmatch.c (struct capture_info): Add match_use_count.
+ (capture_info::walk_match): Increment match_use_count.
+ (dt_simplify::gen_1): For GENERIC, only wrap multi-use
+ replacements in a save_expr if they occur more often than
+ in the original expression.
+
2015-12-01 Richard Biener <rguenther@suse.de>
PR ipa/68470