+2014-11-12 Tobias Burnus <burnus@net-b.de>
+
+ * Makefile.in (CLOOGLIBS, CLOOGINC): Remove.
+ * configure.ac: Ditto.
+ * graphite-interchange.c: Remove HAVE_CLOOG block.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2014-11-12 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.h (CALL_USED_REGISTERS): Mark LR as
+ caller-save.
+ (EPILOGUE_USES): Guard the check by epilogue_completed.
+ * config/aarch64/aarch64.c (aarch64_layout_frame): Explictly check for
+ LR.
+ (aarch64_can_eliminate): Check LR_REGNUM liveness.
+
+2014-11-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.c (*<arith_shift_insn>_shiftsi): Fix typo.
+
+2014-11-12 Marek Polacek <polacek@redhat.com>
+
+ * fold-const.c (fold_binary_loc): Don't fold if the result
+ is undefined.
+ * match.pd (A + (-B) -> A - B, A - (-B) -> A + B,
+ -(-A) -> A): Likewise.
+
+2014-11-12 Richard Biener <rguenther@suse.de>
+
+ Merge from match-and-simplify branch
+ 2014-11-04 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
+
+ * genmatch.c (user_id): Add new member is_oper_list.
+ (user_id::user_id): Add new default argument.
+ (parser::parse_operator_list): New function.
+ (parser::parse_for): Allow operator-list.
+ (parser::parse_pattern): Call parser::parse_operator_list.
+ (parser::parse_operation): Reject operator-list.
+ * match-builtin.pd: Define operator lists POWs, CBRTs and SQRTs.
+
+ 2014-10-31 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
+
+ * genmatch.c (parser::parse_c_expr): Mark user-defined ops as used.
+
+ 2014-10-30 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
+
+ * genmatch.c (parser::parse_op): Check if predicate is used in
+ result operand.
+
+ 2014-10-29 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
+
+ * genmatch.c (parser::parse_for): Make sure to have a valid
+ token to report errors at.
+
+ 2014-10-28 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
+
+ * genmatch.c (parser): Add new member parsing_match_operand.
+ (parser::parse_operation): Check for conditional convert in result
+ operand.
+ (parser::parse_expr): Check for commutative operator in result operand.
+ Check for :type in match operand.
+ (parser::parse_simplify): Set/unset parsing_match_operand.
+ (parser::parser): Initialize parsing_match_operand.
+
+ 2014-10-28 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (parser::parse_for): Properly check for already
+ defined operators.
+
+ 2014-10-28 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
+
+ * genmatch.c (error_cb): Adjust for printing warnings.
+ (warning_at): New function.
+ (user_id): Add new member used.
+ (get_operator): Mark user_id as used.
+ (parse_for): Warn for unused operators.
+
+2014-11-12 Richard Biener <rguenther@suse.de>
+
+ * match.pd: Implement simple complex operations cancelling.
+ * fold-const.c (fold_unary_loc): Remove them here.
+
+2014-11-12 Joseph Myers <joseph@codesourcery.com>
+
+ * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
+ Define __NO_MATH_ERRNO__ if -fno-math-errno.
+ * doc/cpp.texi (__NO_MATH_ERRNO__): Document predefined macro.
+
+2014-11-12 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (::gen_transform): Add capture_info and
+ expand_compares arguments.
+ (struct expr): Add is_generic flag.
+ (lower_cond): New functions lowering [VEC_]COND_EXPR
+ conditions to a GENERIC and a GIMPLE variant.
+ (lower): Call lower_cond.
+ (cmp_operand): Also compare the is_generic flag.
+ (capture_info::cinfo): Add cond_expr_cond_p flag.
+ (capture_info::capture_info): Pass down whether the
+ expression argument is a COND_EXPR condition.
+ (capture_info::walk_match): Likewise, mark captures
+ capturing COND_EXPR conditions with cond_expr_cond_p.
+ (expr::gen_transform): Pass down whether we need to
+ expand compares from COND_EXPR conditions.
+ (capture::gen_transform): Expand compares substituted
+ from COND_EXPR conditions into non-COND_EXPR conditions.
+ (dt_operand::gen_gimple_expr): Handle explicitely marked
+ GENERIC expressions as generic.
+ (dt_simplify::gen): Pass whether we need to expand
+ conditions to gen_transform. Handle capture results
+ which are from COND_EXPR conditions.
+ (main): Pass gimple flag down to lower.
+
+2014-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/59708
+ * builtin-attrs.def (ATTR_NOTHROW_TYPEGENERIC_LEAF): New attribute.
+ * builtins.c (fold_builtin_arith_overflow): New function.
+ (fold_builtin_3): Use it.
+ * builtins.def (BUILT_IN_ADD_OVERFLOW, BUILT_IN_SUB_OVERFLOW,
+ BUILT_IN_MUL_OVERFLOW, BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW,
+ BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW,
+ BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW,
+ BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW,
+ BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADDL_OVERFLOW,
+ BUILT_IN_UADDLL_OVERFLOW, BUILT_IN_USUB_OVERFLOW,
+ BUILT_IN_USUBL_OVERFLOW, BUILT_IN_USUBLL_OVERFLOW,
+ BUILT_IN_UMUL_OVERFLOW, BUILT_IN_UMULL_OVERFLOW,
+ BUILT_IN_UMULLL_OVERFLOW): New built-in functions.
+ * builtin-types.def (BT_PTR_UINT, BT_PTR_ULONG, BT_PTR_LONGLONG,
+ BT_FN_BOOL_INT_INT_INTPTR, BT_FN_BOOL_LONG_LONG_LONGPTR,
+ BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, BT_FN_BOOL_UINT_UINT_UINTPTR,
+ BT_FN_BOOL_ULONG_ULONG_ULONGPTR,
+ BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, BT_FN_BOOL_VAR): New.
+ * expr.c (write_complex_part): Remove prototype, no longer static.
+ * expr.h (write_complex_part): New prototype.
+ * function.c (aggregate_value_p): For internal functions return 0.
+ * gimple-fold.c (arith_overflowed_p): New functions.
+ (gimple_fold_call): Fold {ADD,SUB,MUL}_OVERFLOW internal calls.
+ * gimple-fold.h (arith_overflowed_p): New prototype.
+ * tree-ssa-dce.c: Include tree-ssa-propagate.h and gimple-fold.h.
+ (find_non_realpart_uses, maybe_optimize_arith_overflow): New
+ functions.
+ (eliminate_unnecessary_stmts): Transform {ADD,SUB,MUL}_OVERFLOW
+ into COMPLEX_CST/COMPLEX_EXPR if IMAGPART_EXPR of the result is
+ never used.
+ * gimplify.c (gimplify_call_expr): Handle gimplification of
+ internal calls with lhs.
+ * internal-fn.c (get_range_pos_neg, get_min_precision,
+ expand_arith_overflow_result_store): New functions.
+ (ubsan_expand_si_overflow_addsub_check): Renamed to ...
+ (expand_addsub_overflow): ... this. Add LOC, LHS, ARG0, ARG1,
+ UNSR_P, UNS0_P, UNS1_P, IS_UBSAN arguments, remove STMT argument.
+ Handle ADD_OVERFLOW and SUB_OVERFLOW expansion.
+ (ubsan_expand_si_overflow_neg_check): Renamed to ...
+ (expand_neg_overflow): ... this. Add LOC, LHS, ARG1, IS_UBSAN
+ arguments, remove STMT argument. Handle SUB_OVERFLOW with
+ 0 as first argument expansion.
+ (ubsan_expand_si_overflow_mul_check): Renamed to ...
+ (expand_mul_overflow): ... this. Add LOC, LHS, ARG0, ARG1,
+ UNSR_P, UNS0_P, UNS1_P, IS_UBSAN arguments, remove STMT argument.
+ Handle MUL_OVERFLOW expansion.
+ (expand_UBSAN_CHECK_ADD): Use expand_addsub_overflow, prepare
+ arguments for it.
+ (expand_UBSAN_CHECK_SUB): Use expand_addsub_overflow or
+ expand_neg_overflow, prepare arguments for it.
+ (expand_UBSAN_CHECK_MUL): Use expand_mul_overflow, prepare arguments
+ for it.
+ (expand_arith_overflow, expand_ADD_OVERFLOW, expand_SUB_OVERFLOW,
+ expand_MUL_OVERFLOW): New functions.
+ * internal-fn.def (ADD_OVERFLOW, SUB_OVERFLOW, MUL_OVERFLOW): New
+ internal functions.
+ * tree-vrp.c (check_for_binary_op_overflow): New function.
+ (extract_range_basic): Handle {REAL,IMAG}PART_EXPR if the operand
+ is SSA_NAME set by {ADD,SUB,MUL}_OVERFLOW internal functions.
+ (simplify_internal_call_using_ranges): Handle {ADD,SUB,MUL}_OVERFLOW
+ internal functions.
+ * optabs.def (umulv4_optab): New optab.
+ * config/i386/i386.md (umulv<mode>4, <u>mulvqi4): New define_expands.
+ (*umulv<mode>4, *<u>mulvqi4): New define_insns.
+ * doc/extend.texi (Integer Overflow Builtins): Document
+ __builtin_*_overflow.
+
+2014-11-12 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (capture_info::capture_info): Add missing
+ COND_EXPR handling.
+ (capture_info::walk_match): Fix COND_EXPR handling.
+ (capture_info::walk_result): Likewise.
+
+2014-11-12 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/63821
+ * match.pd: Add missing conversion to the -(T)-X pattern.
+
+2014-11-12 Richard Biener <rguenther@suse.de>
+
+ PR bootstrap/63819
+ * hash-table.h: Include ggc.h also for generator programs.
+ * genmatch.c (ggc_internal_cleared_alloc): Properly define
+ using MEM_STAT_DECL instead of CXX_MEM_STAT_INFO.
+
+2014-11-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR tree-optimization/63761
+ * tree-ssa-math-opts.c (bswap_replace): Construct gsi from cur_stmt
+ rather than taking it as a parameter. Add some comments to explain the
+ gsi_move_before in case of load and why canonicalization of bswap into
+ a rotation is only done for 16bit values.
+ (pass_optimize_bswap::execute): Adapt for loop via gsi to make gsi
+ refer to the statement just before cur_stmt. Ignore 16bit bswap that
+ are already in canonical form. Adapt bswap_replace to removal of its
+ gsi parameter.
+
+2014-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl.h (rtx_function, for_each_rtx, for_each_rtx_in_insn): Delete.
+ * rtlanal.c (non_rtx_starting_operands, for_each_rtx_1, for_each_rtx):
+ (for_each_rtx_in_insn): Delete.
+ (init_rtlanal): Remove initialization of non_rtx_starting_operands.
+ * df-core.c: Remove reference to for_each_rtx in comment.
+
+2014-11-12 Tejas Belagod <tejas.belagod@arm.com>
+
+ * Makefile.in (TEXI_GCC_FILES): Remove arm-acle-intrinsics.texi,
+ arm-neon-intrinsics.texi, aarch64-acle-intrinsics.texi.
+ * doc/aarch64-acle-intrinsics.texi: Remove.
+ * doc/arm-acle-intrinsics.texi: Remove.
+ * doc/arm-neon-intrinsics.texi: Remove.
+ * doc/extend.texi: Consolidate sections AArch64 intrinsics,
+ ARM NEON Intrinsics, ARM ACLE Intrinsics into one ARM C Language
+ Extension section. Add references to public ACLE specification.
+
+2014-11-11 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * tree-vrp.c (register_edge_assert_for_2): Change return type to
+ void and adjust accordingly.
+ (register_edge_assert_for_1): Likewise.
+ (register_edge_assert_for): Likewise.
+ (find_conditional_asserts): Likewise.
+ (find_switch_asserts): Likewise.
+ (find_assert_locations_1): Likewise.
+ (find_assert_locations): Likewise.
+ (insert_range_insertions): Inspect the need_assert_for bitmap.
+
+2014-11-11 Andrew Pinski <apinski@cavium.com>
+
+ Bug target/61997
+ * config.gcc (aarch64*-*-*): Set target_gtfiles to include
+ aarch64-builtins.c.
+ * config/aarch64/aarch64-builtins.c: Include gt-aarch64-builtins.h
+ at the end of the file.
+
+2014-11-11 Anthony Brandon <anthony.brandon@gmail.com>
+ Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR driver/36312
+ * diagnostic-core.h: Add prototype for fatal_error.
+ * diagnostic.c (fatal_error): New function fatal_error.
+ * gcc.c (store_arg): Remove have_o_argbuf_index.
+ (process_command): Check if input and output files are the same.
+ * toplev.c (init_asm_output): Check if input and output files are
+ the same.
+
+2014-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * reorg.c (fill_slots_from_thread): Do not copy frame-related insns.
+
+2014-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/61535
+ * config/sparc/sparc.c (function_arg_vector_value): Deal with vectors
+ smaller than 8 bytes.
+ (sparc_function_arg_1): Tweak.
+ (sparc_function_value_1): Tweak.
+
+2014-11-11 David Malcolm <dmalcolm@redhat.com>
+
+ * ChangeLog.jit: New.
+ * Makefile.in (doc_build_sys): New variable, set to "sphinx" if
+ sphinx is installed, falling back to "texinfo" otherwise.
+ (FULL_DRIVER_NAME): New variable, adapted from the
+ install-driver target. New target, a symlink within the builddir,
+ linked to "xgcc", for use when running the JIT library from the
+ builddir.
+ (MOSTLYCLEANFILES): Add FULL_DRIVER_NAME.
+ (install-driver): Use $(FULL_DRIVER_NAME) rather than spelling it
+ out.
+ * configure.ac (doc_build_sys): New variable, set to "sphinx" if
+ sphinx is installed, falling back to "texinfo" otherwise.
+ (GCC_DRIVER_NAME): Generate a gcc-driver-name.h file containing
+ GCC_DRIVER_NAME for the benefit of jit/internal-api.c.
+ * configure: Regenerate.
+ * doc/install.texi (--enable-host-shared): Specify that this is
+ required when building libgccjit.
+ (Tools/packages necessary for modifying GCC): Add Sphinx.
+ * timevar.def (TV_JIT_REPLAY): New.
+ (TV_ASSEMBLE): New.
+ (TV_LINK): New.
+ (TV_LOAD): New.
+
+2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR target/63610
+ * configure: Regenerate.
+
+2014-11-11 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-simd.md
+ (aarch64_simd_bsl<mode>_internal): Remove float cases, canonicalize.
+ (aarch64_simd_bsl<mode>): Add gen_lowpart expressions where we
+ are punning between float vectors and integer vectors.
+
+2014-11-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_emit_conditional_branch): Replace
+ open-coded swap with std::swap to swap values.
+ (alpha_emit_setcc): Ditto.
+ (alpha_emit_conditional_move): Ditto.
+ (alpha_split_tmode_pair): Ditto.
+
2014-11-11 Evgeny Stupachenko <evstupac@gmail.com>
* tree-vect-data-refs.c (vect_shift_permute_load_chain): Extend shift